Presentation on theme: "Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings."— Presentation transcript:
Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings
Operating System A program that controls the execution of application programs An interface between applications and hardware
Evolution of Operating Systems Serial processing –No operating system –Machines run from a console with display lights, toggle switches, input device, and printerMachines
Evolution of Operating Systems Serial processing –Setup included loading the compiler, source program, saving compiled program, and loading and linking: mounting/dismounting tapes or setting up card decks –Schedule time –Problems with this type of machine sharing?
Evolution of Operating Systems Simple batch system –Monitor Software that controls the sequence of events Batch jobs together Program returns control to monitor when finished
Job Control Language Special type of programming language Provides instruction to the monitor –What compiler to use –What data to use
Hardware Features Memory protection –Do not allow the memory area containing the monitor to be altered Timer –Prevents a job from monopolizing the system
Hardware Features Privileged instructions –Certain machine level instructions can only be executed by the monitor Interrupts –Early computer models did not have this capability User mode vs. Kernel mode?
Memory Protection User program executes in user mode –Certain instructions may not be executed –Certain memory areas are protected from user’s use and may not be accessed
Memory Protection Monitor executes in system mode –Kernel mode –Privileged instructions are executed –Protected areas of memory may be accessed
Simple batch system –Monitor Software that controls the sequence of events Batch jobs together Program returns control to monitor when finished What are the limitations? Limitations?
System Utilization Example
Uniprogramming Processor must wait for (blocked) I/O instruction to complete before preceding
Program Flow of Control
Multiprogramming When one job needs to wait for I/O, the processor can switch to the other job
Time Sharing Systems Using multiprogramming to handle multiple interactive jobs Processor’s time is shared among multiple users Multiple users simultaneously access the system through terminals How would Time Sharing Systems differ from Batch Multiprogramming Systems?
Batch Multiprogramming versus Time Sharing How would you schedule the following jobs: J1(0, 100), J2(1, 10), J3(2, 3), J4(3, 5), J5(4, 2) in a batch system in a time-sharing system
OS Design Challenges Time sharing and multiprogramming lead to challenges in –Process management (multiple programs time share the system, mutual exclusion, synchronization, resource contention etc) –Memory management (OS, multiple programs are in the memory) –Scheduling of processor(s) and I/O device
Operating System Objectives Convenience Efficiency Ability to evolve
Four Interfaces Figure 3-6. Various interfaces offered by computer systems.
Four Interfaces (1) An interface between the hardware and software consisting of machine instructions –that can be invoked by any program
Four Interfaces (2) An interface between the hardware and software, consisting of machine instructions –that can be invoked only by privileged programs, such as an operating system
Four Interfaces (3) An interface consisting of system calls as offered by an operating system
Four Interfaces (4) An interface consisting of library calls –Generally forming what is known as an application programming interface (API) –In many cases, the aforementioned system calls are hidden by an API
Layers and Views
Services Provided by the OS Program development –Editors and debuggers e.g., emacs, vi, gdb Program execution –Load instructions & data, control scheduling Access I/O devices –Hide the peculiar I/O instructions or control signals required for each device, access it by simple read and write function calls
Services Provided by the OS Controlled access to files –Control who can access which files System access –Protect resources and data from unauthorized users –Resolve conflicts for resource contention
Services Provided by the OS Error detection and response –Internal and external hardware errors –Software errors –Operating system cannot grant request of application
Services Provided by the OS Accounting –Collect usage statistics –Monitor performance –Used to anticipate future enhancements –Used for billing purposes
Operating System Responsible for managing resources –Memory, processor, I/O devices Functions same way as ordinary computer software –It is a program that is executed Operating system relinquishes control of the processor, but directs the processor so that the processor will allow it to regain control
OS as Resource Manager
Kernel Portion of operating system that is in main memory Contains most frequently used functions Also called the nucleus
Evolution of Operating Systems Hardware upgrades plus new types of hardware (for instance, paging hardware)/ New services / Fixes