Upload
joel-waters
View
240
Download
5
Embed Size (px)
Citation preview
Chapter 2Operating 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
Operating System Objectives
• Convenience• Efficiency• Ability to evolve
Layers and Views
Services Provided by the OS• Program development
– Editors and debuggers
• Program execution– A number of steps need to be performed
• Instructions and data must be loaded into main memory
• I/O devices and files must be initialized
• Access I/O devices– OS provides a uniform interface that hides
variety of I/O device
Services Provided by the OS
• Controlled access to files– For access to files OS must send back
• A detailed of the nature of the I/O device (disk drive, tape drive)
• The structure of the data contained in the files on the storage medium.
– For a system with multiple users, the OS may provide protection mechanisms to control access to the files
Services Provided by the OS
• System access– OS must control access to the system
resources– Access function must
• provide protection of resources and data from unauthorized users
• resolve conflicts for resource contention
Services Provided by the OS
• Error detection and response– A variety of errors can occur
• Internal and external hardware errors• Software errors• Operating system cannot grant request of application
– The OS must provide a response that clears the error condition with the least impact on running applications
• Ending the program that caused the error• To retrying the operation• To simply reporting the error to the application.
Services Provided by the OS
• Accounting– Collect usage statistics for variety resources– Monitor performance– Used to anticipate future enhancements– Used for billing purposes
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
• New services• Fixes
Evolution of Operating Systems
• Serial processing– No operating system– Machines run from a console with display
lights, toggle switches, input device, and printer
Evolution of Operating Systems
• Serial processing– Schedule time
• A user could sign up for a block of time in multiples of a half hour or so on
• This would result in wasted computer processing time
– Setup time: included loading the compiler, source program, saving compiled program, and loading and linking
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
• The monitor relies on the ability of the processor to fetch instructions from various portions of main memory to alternately seize and relinquish control.
• hardware features are also desirable:– Memory protection
• Does not allow the memory area containing the monitor to be altered
• User program executes in user mode – Certain instructions may not be executed
Hardware Features
• Timer– Prevents a job from monopolizing the system
• Privileged instructions– Certain machine level instructions can only be
executed by the monitor
• Interrupts– Gives the OS more flexibility in relinquishing
control to and regaining control from user program
System Utilization Example
Uniprogramming
• Processor must wait for I/O instruction to complete before proceeding
Multiprogramming
• When one job needs to wait for I/O, the processor can switch to the other job
Multiprogramming
Example
Utilization Histograms
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
Batch Multiprogramming versus Time Sharing
CTSS Operation
Major Achievements
• Processes• Memory management• Information protection and security• Scheduling and resource management• System structure
Process
• A program in execution• An instance of a program running on a
computer• The entity that can be assigned to and
executed on a processor
Preliminary to Process Definition
• Three major lines of computer sys. – Multiprogramming batch operation– Time sharing– Real-time transaction systems
• These created problems in timing and synchronization that contributed to the development of the concept of the process
Preliminary to Process Definition
• Why these error can be occurred– Improper synchronization
• A routine must be suspended awaiting an event elsewhere in the system
• Improper design of the signaling mechanism can result in signals being lost or duplicate signals being received
Preliminary to Process Definition
• Why these error can be occurred (Continue)– Failed mutual exclusion
• It is often the case that more than one user or program will attempt to make use of a shared resource at the same time
• It must be some sort of mutual exclusion mechanism that permits only one routine at a time to perform an update against the file
Preliminary to Process Definition
• Why these error can be occurred– Nondeterminate program operation
• In normal state the result of a program must only depend to the input of that program
• However, in a share system when programs use of share resources , it may interfere to each other
Preliminary to Process Definition
• Why these error can be occurred– Deadlocks
• It is possible for two or more programs to be hung up waiting for each other.
• To tackle these problems – Monitor and control of the various programs
executing on the processor– So, a process consists of three components
• An executable program• Associated data needed by the program
(variables,work space, buffers, etc.)• Execution context of the program
– The internal data by which the OS is able to supervise and control the process
Process
Modern Operating Systems
• Microkernel architecture– Assigns only a few essential functions to the
kernel• Address spaces• Interprocess communication (IPC)• Basic scheduling
Modern Operating Systems
• Multithreading– Process is divided into threads that can run
concurrently• Thread
– Dispatchable unit of work– executes sequentially and is interruptable
• Process is a collection of one or more threads
Modern Operating Systems
• Symmetric multiprocessing (SMP)– There are multiple processors– These processors share same main memory
and I/O facilities– All processors can perform the same
functions
Multiprogramming and Multiprocessing
Modern Operating Systems
• Distributed operating systems– Provides the illusion of a single main memory
space and single secondary memory space