41
Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

Embed Size (px)

Citation preview

Page 1: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

Chapter 2Operating System Overview

Operating Systems:Internals and Design Principles, 6/E

William Stallings

Page 2: 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

Page 3: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

Operating System Objectives

• Convenience• Efficiency• Ability to evolve

Page 4: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

Layers and Views

Page 5: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

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

Page 6: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

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

Page 7: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

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

Page 8: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

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.

Page 9: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

Services Provided by the OS

• Accounting– Collect usage statistics for variety resources– Monitor performance– Used to anticipate future enhancements– Used for billing purposes

Page 10: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

OS as Resource Manager

Page 11: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

Kernel

• Portion of operating system that is in main memory

• Contains most frequently used functions• Also called the nucleus

Page 12: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

Evolution of Operating Systems

• Hardware upgrades plus new types of hardware

• New services• Fixes

Page 13: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

Evolution of Operating Systems

• Serial processing– No operating system– Machines run from a console with display

lights, toggle switches, input device, and printer

Page 14: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

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

Page 15: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

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

Page 16: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

Job Control Language

• Special type of programming language• Provides instruction to the monitor

– What compiler to use– What data to use

Page 17: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

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

Page 18: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

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

Page 19: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

System Utilization Example

Page 20: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

Uniprogramming

• Processor must wait for I/O instruction to complete before proceeding

Page 21: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

Multiprogramming

• When one job needs to wait for I/O, the processor can switch to the other job

Page 22: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

Multiprogramming

Page 23: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

Example

Page 24: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

Utilization Histograms

Page 25: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

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

Page 26: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

Batch Multiprogramming versus Time Sharing

Page 27: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

CTSS Operation

Page 28: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

Major Achievements

• Processes• Memory management• Information protection and security• Scheduling and resource management• System structure

Page 29: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

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

Page 30: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

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

Page 31: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

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

Page 32: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

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

Page 33: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

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

Page 34: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

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.

Page 35: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

• 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

Page 36: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

Process

Page 37: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

Modern Operating Systems

• Microkernel architecture– Assigns only a few essential functions to the

kernel• Address spaces• Interprocess communication (IPC)• Basic scheduling

Page 38: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

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

Page 39: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

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

Page 40: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

Multiprogramming and Multiprocessing

Page 41: Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings

Modern Operating Systems

• Distributed operating systems– Provides the illusion of a single main memory

space and single secondary memory space