Содержание
-
Chapter 2Operating System Overview
Operating Systems:Internals and Design Principles, 6/EWilliam Stallings
-
Roadmap
Operating System Objectives/Functions The Evolution of Operating Systems Major Achievements Developments Leading to Modern Operating Systems Microsoft Windows Overview UNIX Systems Linux
-
Operating System
A program that controls the execution of application programs An interface between applications and hardware Main objectives of an OS: Convenience Efficiency Ability to evolve
-
Layers and Views
-
Services Provided by the Operating System
Program development Editors and debuggers. Program execution OS handles scheduling of numerous tasks required to execute a program Access I/O devices Each device will have unique interface OS presents standard interface to users
-
Services cont…
Controlled access to files Accessing different media but presenting a common interface to users Provides protection in multi-access systems System access Controls access to the system and its resources
-
Error detection and response Internal and external hardware errors Software errors Operating system cannot grant request of application Accounting Collect usage statistics Monitor performance
-
The Role of an OS
A computer is a set of resources for the movement, storage, and processing of data. The OS is responsible for managing these resources.
-
Operating System as Software
The OS functions in the same way as an ordinary computer software It is a program that is executed by the CPU Operating system relinquishes control of the processor
-
Evolution of Operating Systems
Operating systems will evolve over time Hardware upgrades plus new types of hardware New services Fixes
-
Roadmap
Operating System Objectives/Functions The Evolution of Operating Systems Major Achievements Developments Leading to Modern Operating Systems Microsoft Windows Overview UNIX Systems Linux
-
Evolution of Operating Systems
It may be easier to understand the key requirements of an OS by considering the evolution of Operating Systems Stages include Serial Processing Simple Batch Systems Multiprogrammed batch systems Time Sharing Systems
-
Serial Processing
No operating system Machines run from a console with display lights, toggle switches, input device, and printer Problems include: Scheduling Setup time
-
Simple batch system
Early computers were extremely expensive Important to maximize processor utilization Monitor Software that controls the sequence of events Batch jobs together Program returns control to monitor when finished
-
Monitor’s perspective
Monitor controls the sequence of events Resident Monitor is software always in memory Monitor reads in job and gives control Job returns control to monitor
-
Job Control Language
Special type of programming language to control jobs Provides instruction to the monitor What compiler to use What data to use
-
Desirable Hardware Features
Memory protection for monitor Jobs cannot overwrite or alter Timer Prevent a job from monopolizing system Privileged instructions Only executed by the monitor Interrupts
-
Modes of Operation
User Mode User program executes in user mode Certain areas of memory protected from user access Certain instructions may not be executed Kernel Mode Monitor executes in kernel mode Privileged instructions may be executed, all memory accessible.
-
Multiprogrammed Batch Systems
CPU is often idle Even with automatic job sequencing. I/O devices are slow compared to processor
-
Uniprogramming
Processor must wait for I/O instruction to complete before preceding
-
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
-
Early Example: CTSS
Compatible Time-Sharing System (CTSS) Developed at MIT as project MAC Time Slicing: When control was passed to a user User program and data loaded Clock generates interrupts about every 0.2 sec At each interrupt OS gained control and could assign processor to another user
-
CTSS Operation
-
Problems and Issues
Multiple jobs in memory must be protected from each other’s data File system must be protected so that only authorised users can access Contention for resources must be handled Printers, storage etc
-
Roadmap
Operating System Objectives/Functions The Evolution of Operating Systems Major Achievements Developments Leading to Modern Operating Systems
-
Major Advances
Operating Systems are among the most complex pieces of software ever developed Major advances include: Processes Memory management Information protection and security Scheduling and resource management System
-
Process
Fundamental to the structure of OS’s A process is: A program in execution An instance of a running program The entity that can be assigned to and executed on a processor A single sequential thread of execution, a current state, and an associated set of system resources.
-
Causes of Errors when Designing System Software
Error in designing an OS are often subtle and difficult to diagnose Errors typically include: Improper synchronization Failed mutual exclusion Non-determinate program operation Deadlocks
-
Components of a Process
A process consists of An executable program Associated data needed by the program Execution context of the program (or “process state”) The execution context contains all information the operating system needs to manage the process
-
Memory Management
The OS has 5 principal storage management responsibilities Process isolation Automatic allocation and management Support of modular programming Protection and access control Long-term storage
-
Virtual Memory
File system implements long-term store Virtual memory allows programs to address memory from a logical point of view Without regard to the limits of physical memory
-
Paging
Allows process to be comprised of a number of fixed-size blocks, called pages Virtual address is a page number and an offset within the page Each page may be located anywhere in main memory
-
Virtual Memory
-
Virtual Memory Addressing
-
Information Protection and Security
The problem involves controlling access to computer systems and the information stored in them. Main issues are: Availability Confidentiality Data integrity Authenticity
-
Scheduling andResource Management
Key responsibility of an OS is managing resources Resource allocation policies must consider: Fairness Differential responsiveness Efficiency
-
Key Elements of an Operating System
-
System Structure
View the system as a series of levels Each level performs a related subset of functions Each level relies on the next lower level to perform more primitive functions This decomposes a problem into a number of more manageable subproblems
-
OS Design Hierarchy
-
Roadmap
Operating System Objectives/Functions The Evolution of Operating Systems Major Achievements Developments Leading to Modern Operating Systems Microsoft Windows Overview UNIX Systems Linux
-
Different Architectural Approaches
Various approaches have been tried, categories include: Microkernel architecture Multithreading Symmetric multiprocessing Distributed operating systems Object-oriented design
-
Microkernel Architecture
Most early OS are a monolithic kernel Most OS functionality resides in the kernel. A microkernel assigns only a few essential functions to the kernel Address spaces Interprocess communication (IPC) Basic scheduling
-
Multithreading
Process is divided into threads that can run concurrently Thread Dispatchable unit of work executes sequentially and is interruptible Process is a collection of one or more threads
-
Symmetric multiprocessing (SMP)
An SMP system has multiple processors These processors share same main memory and I/O facilities All processors can perform the same functions The OS of an SMP schedules processes or threads across all of the processors.
-
SMP Advantages
Performance Allowing parallel processing Availability Failure of a single process does not halt the system Incremental Growth Additional processors can be added. Scaling
-
Multiprogramming and Multiprocessing
-
Distributed Operating Systems
Provides the illusion of a single main memory space and single secondary memory space Early stage of development
-
Object-oriented design
Used for adding modular extensions to a small kernel Enables programmers to customize an operating system without disrupting system integrity
Нет комментариев для данной презентации
Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.