chapter 2 operating system overview operating systems: internals and design principles, 6/e william...

Post on 28-Dec-2015

241 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related