程序代写 Topic 2 Operating System Overview

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