CS30002: Operating Systems. Arobinda Gupta Spring 2017

Similar documents
Operating-System Structures

Module 3: Operating-System Structures

Chapter 3: Operating-System Structures

Operating-System Structures

Module 3: Operating-System Structures. Common System Components

OPERATING SYSTEMS UNIT - 1

OS and Computer Architecture. Chapter 3: Operating-System Structures. Common System Components. Process Management

Operating Systems. studykorner.org

Chapter 3: Operating-System Structures

Last class: OS and Architecture. OS and Computer Architecture

Last class: OS and Architecture. Chapter 3: Operating-System Structures. OS and Computer Architecture. Common System Components

Operating System Review

Chapter 3: Operating-System Structures

Introduction to Operating Systems (Part II)

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017

CS370 Operating Systems

CS370 Operating Systems

Chapter 1: Introduction

Operating System Services

Operating Systems. Overview. Dr Alun Moon. Computing, Engineering and Information Sciences. 27th September 2011

Introduction. CS3026 Operating Systems Lecture 01

EECS 3221 Operating System Fundamentals

EECS 3221 Operating System Fundamentals

Module 1: Introduction. What is an Operating System?

OPERATING SYSTEM OVERVIEW

Chapter 1: Introduction

Chapter 1: Introduction. Operating System Concepts 9 th Edit9on

Lecture 1 Introduction (Chapter 1 of Textbook)

European University of Lefke. Instructor: Dr. Arif SARI

Operating- System Structures

CS420: Operating Systems

DM510 Operating Systems. Jacob Aae Mikkelsen

Module 1: Introduction

Chapter 1: Introduction. Chapter 1: Introduction

COURSE OVERVIEW & OPERATING SYSTEMS CONCEPT Operating Systems Design Euiseong Seo

Module 1: Introduction

ECE397A Operating Systems. Chapter 1: Introduction

Operating Systems Fundamentals. What is an Operating System? Focus. Computer System Components. Chapter 1: Introduction

Ricardo Rocha. Department of Computer Science Faculty of Sciences University of Porto

CSC Operating Systems Fall Lecture - I Introduction. Tevfik Ko!ar. Louisiana State University. August 25 th, Contact Information

CS420: Operating Systems

Chapter 2: Operating-System Structures. Operating System Concepts 8 th Edition

Chapter 1: Introduction

To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization

Operating Systems. Lecture Course in Autumn Term 2015 University of Birmingham. Eike Ritter. September 22, 2015

Misc. Third Generation Batch Multiprogramming. Fourth Generation Time Sharing. Last Time Evolution of OSs

When we start? 10/24/2013 Operating Systems, Beykent University 1

Course Details. Operating Systems with C/C++ Course Details. What is an Operating System?

Operating System: an Overview. Lucia Dwi Krisnawati, MA

Chapter 1: Introduction

Introduction CHAPTER. Review Questions

Chapter 3: Processes

Chapter 1: Introduction. What is an Operating System? Overview Course (contd.) How do I spend my time? Computer System Components

CS 390 Chapter 2 Homework Solutions

OPERATING SYSTEMS. Prescribed Text Book Operating System Principles, Seventh Edition By Abraham Silberschatz, Peter Baer Galvin and Greg Gagne

ELEC 377 Operating Systems. Week 1 Class 2

Computer-System Architecture (cont.) Symmetrically Constructed Clusters (cont.) Advantages: 1. Greater computational power by running applications

Chapter 1: Introduction. Operating System Concepts 8 th Edition,

7/20/2008. What Operating Systems Do Computer-System Organization

OPERATING SYSTEMS: Lesson 1: Introduction to Operating Systems


Chapter 1: Introduction. Operating System Concepts 9 th Edit9on

CSC Operating Systems Spring Lecture - II OS Structures. Tevfik Ko!ar. Louisiana State University. January 17 th, 2007.

Announcements. Operating System Structure. Roadmap. Operating System Structure. Multitasking Example. Tevfik Ko!ar

Chapter 3: Processes. Operating System Concepts 9 th Edit9on

Chapter 1: Introduction

Chapter 2: Operating-System Structures

CSE 4/521 Introduction to Operating Systems

CSC 453 Operating Systems

CS420: Operating Systems. OS Services & System Calls

Chapter 3: Processes. Operating System Concepts Essentials 2 nd Edition

Some popular Operating Systems include Linux Operating System, Windows Operating System, VMS, OS/400, AIX, z/os, etc.

Chapter 1: Introduction. Operating System Concepts 8th Edition,

Process Description and Control

OPERATING SYSTEM. Functions of Operating System:

(Refer Slide Time: 1:26)

Lecture 2 Operating System Structures (chapter 2)

CSE Opera+ng System Principles

Lecture 2 - Fundamental Concepts

Chapter 3: Process Concept

Principles of Operating Systems CS 446/646

Chapter 2: Operating-System Structures. Chapter 2: Operating-System Structures. Objectives. Operating System Services

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Operating System Design

Four Components of a Computer System

Introduction. What is an Operating System? A Modern Computer System. Computer System Components. What is an Operating System?

OS structure. Process management. Major OS components. CSE 451: Operating Systems Spring Module 3 Operating System Components and Structure

Chapter 3: Processes. Operating System Concepts 8 th Edition,

CS370 Operating Systems Midterm Review

Operating System Services. User Services. System Operation Services. User Operating System Interface - CLI. A View of Operating System Services

CS370: Operating Systems [Spring 2017] Dept. Of Computer Science, Colorado State University

Operating Systems CS3502 Spring 2018

Operating Systems. Introduction & Overview. Outline for today s lecture. Administrivia. ITS 225: Operating Systems. Lecture 1

1. Introduction to Operating Systems

Frequently asked questions from the previous class survey

Chapter 3: Processes

Overview of Operating Systems

Introduction. Operating Systems. Introduction. Introduction. Introduction

UNIT 2. OPERATING SYSTEM STRUCTURES

Introduction to Operating Systems

Transcription:

CS30002: Operating Systems Arobinda Gupta Spring 2017

General Information Textbook: Operating System Concepts, 8 th or 9 th Ed, by Silberschatz, Galvin, and Gagne I will use materials from other books as and when needed Operating Systems: Principles and Practice by Anderson and Dahlin Modern Operating Systems by Andrew Tanenbaum Programming assignments will be covered in the associated OS Lab course Course Webpage http://cse.iitkgp.ac.in/~agupta/os

Introduction

What is an Operating System? User-centric definition A program that acts as an intermediary between a user of a computer and the computer hardware Defines an interface for the user to use services provided by the system Provides a view of the system to the user Converts what the hardware gives to what the user wants The view can hide many details of the hardware that the user does not need to know Can even give a very different view of the operating environment to the user than what is actually there

System-centric definition Efficiently manages and allocates resources to users Controls the execution of user programs and operations of I/O devices Provides isolation/protection between different user programs

Computer System Components 1. Hardware provides basic computing resources (CPU, memory, I/O devices) 2. Operating system controls and coordinates the use of the hardware among the various application programs for the various users 3. Applications programs define the ways in which the system resources are used to solve the computing problems of the users (compilers, databases, games, ). 4. Users (people, machines, other computers).

Abstract View of System Components

Types of Systems Batch Systems Multiple jobs, but only one job in memory at one time and executed (till completion) before the next one starts Multiprogrammed Batch Systems Multiple jobs in memory, CPU is multiplexed between them CPU-bound vs I/O bound jobs Time-sharing Systems Multiple jobs in memory and on disk, CPU is multiplexed among jobs in memory, jobs swapped between disk and memory Allows interaction with users

Personal Computers Dedicated to a single user at one time Multiprocessing Systems More than one CPU in a single machine to allocate jobs to Symmetric Multiprocessing, NUMA machines Multicore Other Parallel Systems, Distributed Systems, Clusters Different types of systems with multiple CPUs/Machines Real Time Systems Systems to run jobs with time guarantees Many other types Embedded systems, mobiles/smartphones,.

OS design depends on the type of system it is designed for Challenges today Very wide variety of systems From small embedded systems with low memory and storage to very large systems with hundreds of thousands of machines with large distributed storage (clouds, clusters) Increasing number of cores per processor and processors per machine Virtualization

Our primary focus in this course: Uniprocessor, time-sharing systems running general purpose jobs from users Addresses most of the core OS design issues Effect of multicore/multiprocessors Most processors are multicore, many machines have more than one processor, so will see what additional issues this brings This is not a course to teach Linux or Windows But will use Linux as a case study at end to illustrate how the issues we studied are handled in a real world OS Will discuss some other topics at end

Resources Managed by OS Physical CPU, Memory, Disk, I/O Devices like keyboard, monitor, printer Logical Process, File,

Main Components of an OS Resource-Centric View Process Management Main Memory Management File Management I/O System Management Secondary Storage Management Security and Protection System Networking (this is now integrated with most OS, but will be covered in the Networks course) User-centric view System Calls Command Interpreter (not strictly a part of an OS)

Process Management A process is a program in execution Needs certain resources to accomplish its task CPU time, memory, files, I/O devices OS responsibilities Process creation and deletion. Process suspension and resumption Provide mechanisms for: process synchronization interprocess communication

Main-Memory Management OS responsibilities Keep track of which parts of memory are currently being used and by whom Decide which processes to load when memory space becomes available Allocate and deallocate memory space as needed Protect memory of one process from another

File Management OS responsibilities File creation, deletion, modification Directory creation, deletion, modification Support of primitives for manipulating files and directories Mapping files onto secondary storage. File backup on stable (nonvolatile) storage media

I/O System Management The I/O system consists of: A buffer-caching system Device driver interface Drivers for specific hardware devices

Secondary-Storage Management Most modern computer systems use disks as the principle on-line storage medium, for both programs and data. OS responsibilities Free space management Storage allocation Disk scheduling

Security and Protection System Protection refers to a mechanism for controlling access by programs, processes, or users to both system and user resources. The protection mechanism must: distinguish between authorized and unauthorized usage specify the controls to be imposed provide a means of enforcement

System Calls System calls provide the interface between a running program and the OS Think of it as a set of functions available to the program to call (but somewhat different from normal functions, we will see why) Generally available as assembly-language instructions. Most common languages (e.g., C, C++) have APIs that call system calls underneath Passing parameters to system calls Pass parameters in registers Store the parameters in a table in memory, and the table address is passed as a parameter in a register Push (store) the parameters onto the stack by the program, and pop off the stack by operating system

Command-Interpreter System Strictly not a part of OS, but always there the shell Allows user to give commands to OS, interpretes the commands and executes them Calls appropriate functions/system calls You will write one in your lab