Operating Systems : OverviewTopics for discussionGoals for the courseWhat is an Operating system?User InterfaceResource ManagerMultiprogrammingMultiprogrammed Batch SystemsProcessesProcessMemory managementProtection and SecurityScheduling and resource managementScheduling and Resource ManagementFile SystemSystem StructureStructure of OSCharacteristics of Modern Operating SystemsMicrokernel architectureSymmetric Multiprocessing (SMP)Slide 21Slide 22System CallSome System Calls For Process Management and File ManagementOperating system Modular ViewTypes of OSWhat’s New?Metric Units01/14/19 B.Ramamurthy 1Operating Systems : OverviewBina RamamurthyCSE42101/14/19 B.Ramamurthy 2Topics for discussionWhat will you learn in this course? (goals)What is an Operating System (OS)?Evolution of OS Important OS ComponentsMajor achievementsOperating system design hierarchySample systems01/14/19 B.Ramamurthy 3Goals for the courseStudy the working of an OS.Study the design and implementation of various components of an OS.Learn about the alternatives available to a designer at all levels of abstraction in an OS.Learn concurrent programming using processes, threads, and system calls.Understand the basics of distributed systems.Explore how you may contribute to solving many open problems in OS and distributed systems.01/14/19 B.Ramamurthy 4What is an Operating system?Interface managerHuman interaction made easyinterfacing, abstraction, control and sharingResource manager Efficient use of resourcesEnhances hardware features“virtual” time, space and resource (processes, threads) System and data security and protection provider01/14/19 B.Ramamurthy 5User InterfaceOperating system provides these facilities for the user:Program creation : editors, debuggers, other development tools.Program execution : load, files, IO operations.Access to IO devices: Read and writes.Controlled access to files: protection mechanisms, abstraction of underlying device.System access: Controls who can access the system.Error detection and response: external, internal, software or hardware error.Accounting: Collect stats., load sharing , for billing purposes.01/14/19 B.Ramamurthy 6Resource ManagerProcessors : Allocation of processes to processors, preemption, scheduling.Memory: Allocation of main memory.IO devices : when to access io devices, which ones etc.Files: Partitions, space allocation and maintenance.Applications, Data, objects.01/14/19 B.Ramamurthy 7MultiprogrammingFrom uniprogramming to multiprogramming systems:Multiprogramming systems: batch programs, objective : maximize system (processor) utilization.Time sharing systems: Objective is minimize response time. Typical programs are interactive.01/14/19 B.Ramamurthy 8Multiprogrammed Batch SystemsIf memory can hold several programs, then CPU can switch to another one whenever a program is awaiting for an I/O to completeThis is multitasking (multiprogramming)01/14/19 B.Ramamurthy 9ProcessesA program in execution, An entity that can be assigned to and executed on a processes,It is a unit of work.Multiprogramming, time-sharing and real-time transaction systems lead to the refinement of the concept of process.A process can be defined by its attributes and behaviors : it can be viewed as an Abstract Data Type (ADT). When instances of this ADT co-exist we have concurrent processing.Issues in concurrent processing : synchronization, mutual exclusion, deadlock, communication.01/14/19 B.Ramamurthy 10ProcessIntroduced to obtain a systematic way of monitoring and controlling program executionA process is an executable program with: associated data (variables, buffers…) execution context: ie. all the information that the CPU needs to execute the process content of the processor registersthe OS needs to manage the process:priority of the processthe event (if any) after which the process is waitingother data (that we will introduce later)01/14/19 B.Ramamurthy 11Memory managementRequirements: Process isolation, automatic allocation and maintenance, protection and access control, long-term storage facilities.Virtual memory and file system facilities together satisfy all these requirements.Virtual memory allows programs to address the memory from a logical point of view without regard to the amount of main memory available.File : persistent storage for programs and data. Can view file also as an ADT? File concept makes makes access control and protection convenient for the OS.01/14/19 B.Ramamurthy 12Protection and SecurityWhen sharing resources, protection of the systems and user resources from intentional as well as inadvertent misuse. Protection generally deals with access control. Ex: Read only fileSecurity deals usually with threats from outside the system that affects the integrity and availability of the system and information with the system.Example: username, password to access system. Data encryption to protect information.01/14/19 B.Ramamurthy 13Scheduling and resource managementScheduling and resource management is an Operations Research (OR) problem.Goals : Efficient use of resources, satisfy the service time requested by a process, say, in a real-time system and of course, fairness.Short-term and long-term scheduling.Queuing is one of the basic operations associated with scheduling. Interrupt is another important concept in the context of scheduling.01/14/19 B.Ramamurthy 14Scheduling and Resource ManagementDifferential responsivenessdiscriminate between different classes of jobsFairnessgive equal and fair access to all processes of the same classEfficiencymaximize throughput, minimize response time, and accommodate as many users as possible01/14/19 B.Ramamurthy 15File SystemImplements long-term store (often on disk)Information stored in named objects called filesa convenient unit of access and protection for OSFiles (and portions) may be copied into virtual memory for manipulation by programs01/14/19 B.Ramamurthy 16System StructureBecause of it’s enormous complexity, we view the OS system as a series of levelsEach level performs a related subset of functionsEach level relies on the next lower level to perform more primitive functionsWell defined interfaces: one level can be modified without affecting other levelsThis decomposes a problem into a number of more manageable sub problems01/14/19 B.Ramamurthy 17Structure of OS Client-Server ModelSERVERS: Splitting the OS into parts, each of
View Full Document