Topic 2 Operating System Overview
Topic Objectives
• understand the objectives of operating systems, and the types of services provided by operating systems
Copyright By PowCoder代写 加微信 powcoder
• be aware of the evolution of operating systems
• understand the five areas of operating systems (such as
processes, memory management etc).
• Be aware of concepts such as microkernel, multithreading, etc.
• Be aware of overall system structures of Windows and UNIX systems.
Readings • Stallings: Chapter 2
Definition 1:
Operating System
• A program that controls the execution of application programs
• An interface between applications and hardware
Definition 2:
• Exploits the hardware resources of one or more processors
• Provides a set of services to system users
• Manages secondary memory and I/O devices
Operating System Objectives • Convenience
– Makes the computer more convenient to use • Efficiency
– Allows computer system resources to be used in an efficient manner
• Ability to evolve
– Permit effective development, testing, and introduction of new system functions without interfering with service
Layers of Computer System
Services Provided by the Operating System
• Program development
– Eg, for creating editors and debuggers
• Program execution
• Access to I/O devices
• Controlled access to files • System access
Services Provided by the Operating System
• Error detection and response
– Internal and external hardware errors • Memory error
• Device failure
– Software errors
• Arithmetic overflow
• Access forbidden memory locations
– Operating system cannot grant request of application 8
Services Provided by the Operating System
• Accounting
– Collect usage statistics
– Monitor performance
– Used to anticipate future enhancements – Used for billing purposes
Operating System
• Responsible for managing resources
• Functions same way as ordinary computer software
– It is program that is executed
• Operating system frequently relinquishes control of the processor and must rely on the processor to allow it to regain control of the processor
• Portion of operating system that is in main memory
• Contains most frequently used functions • Also called the nucleus
Evolution of Operating Systems
• Serial Processing
– No operating system
– Machines run from a console with display lights, toggle switches, input device, and printer
– Schedule time
– Setup included loading the compiler, source program, saving compiled program, and loading and linking
Evolution of Operating Systems • Simple Batch Systems
– Monitors
• Software that controls the sequence of events
• Batch jobs together
• Program branches back to monitor when finished
Hardware Features • Memory protection
– Do not allow the memory area containing the monitor to be altered
– 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
Memory Protection • User program executes in user mode
– Certain instructions may not be executed
• Monitor executes in system mode – Kernel mode
– Privileged instructions are executed
– Protected areas of memory may be accessed
I/O Devices Slow
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
Multiprogramming
Utilization Histograms
Time Sharing
• Using multiprogramming to handle multiple interactive jobs
• Processor’s time is shared among multiple users
• Multiple users simultaneously access the system through terminals
Compatible Time-Sharing System (CTSS)
• First time-sharing system developed at MIT
Major Achievements
• Processes
• Memory Management
• Information protection and security
• Scheduling and resource management • System structure
Process Definition
• 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
• A unit of activity characterized by a single sequential thread of execution, a current state, and an associated set of system resources
Difficulties with Designing System Software
• Improper synchronization
– Ensure a process waiting for an I/O device receives
the signal
• Failed mutual exclusion
• Nondeterminate program operation
– Program should only depend on input to it, not on the
activities of other programs • Deadlocks
• Consists of three components
– An executable program
– Associated data needed by the program
– Execution context of the program
• All information the operating system needs to manage the process
Memory Management
• Process isolation
• Automatic allocation and management • Support of modular programming
• Protection and access control
• Long-term storage
File System • Implements long-term store
• Information stored in named objects called files
Virtual Memory
• Allows programmers to address memory from a logical point of view
• No hiatus between the execution of successive processes while one process was written out to secondary store and the successor process was read in
• 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
• Real address or physical address in main memory 34
Virtual Memory
Virtual Memory Addressing
Information Protection and Security
• Availability
– Concerned with protecting the system against
interruption
• Confidentiality
– Assuring that users cannot read data for which access is unauthorized
Information Protection and Security
• Data integrity
– Protection of data from unauthorized modification
• Authenticity
– Concerned with the proper verification of the
identity of users and the validity of messages or data
Scheduling and Resource Management
• Fairness
– Give equal and fair access to resources
• Differential responsiveness
– Discriminate among different classes of jobs
• Efficiency
– Maximize throughput, minimize response time, and accommodate as many uses as possible
Key Elements of 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 method decomposes a problem into a number of more manageable subproblems
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
– 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
Modern Operating Systems
• Object-oriented design
– Used for adding modular extensions to a small kernel
– Enables programmers to customize an operating system without disrupting system integrity
Windows Architecture
• Modular structure for flexibility
• Executes on a variety of hardware platforms
• Supports application written for other operating systems
Operating System Organization
• Modified microkernel architecture
– Not a pure microkernel
– Many system functions outside of the microkernel run in kernel mode
• Any module can be removed, upgraded, or replaced without rewriting the entire system
Kernel-Mode Components • Executive
– Contains base operating system services • Memory management
• Process and thread management • Security
• Interprocess communication
– Consists of the most used components
Kernel-Mode Components • Hardware abstraction layer (HAL)
– Isolates the operating system from platform-specific hardware differences
• Device drivers
– Translate user I/O function calls into specific
hardware device I/O requests
• Windowing and graphics systems
– Implements the graphical user interface (GUI)
• Hardware is surrounded by the operating system software
• Operating system is called the system kernel
• Comes with a number of user services and
interfaces
– Components of the C compiler
UNIX Kernel
Modern UNIX Kernel
Modern UNIX Systems
• System V Release 4 (SVR4) • Solaris 9
程序代写 CS代考 加微信: powcoder QQ: 1823890830 Email: powcoder@163.com