Chapter 1 Introduction to Operating Systems Chapter 1

  • Slides: 50
Download presentation
Chapter 1 Introduction to Operating Systems

Chapter 1 Introduction to Operating Systems

Chapter 1: Introduction n What Operating Systems Do n Computer-System Organization n Computer-System Architecture

Chapter 1: Introduction n What Operating Systems Do n Computer-System Organization n Computer-System Architecture n Operating-System Structure n Operating-System Operations n Process Management n Memory Management n Storage Management n Protection and Security n Distributed Systems n Special-Purpose Systems n Computing Environments n Open-Source Operating Systems 1. 2

Objectives n To provide a grand tour of the major operating systems components n

Objectives n To provide a grand tour of the major operating systems components n To provide coverage of basic computer system organization 1. 3

What is an Operating System? n A program that acts as an intermediary between

What is an Operating System? n A program that acts as an intermediary between a user of a computer and the computer hardware n Operating system goals: l Execute user programs and make solving user problems easier l Make the computer system convenient to use l Use the computer hardware in an efficient manner 1. 4

Computer System Structure n Computer system can be divided into four components l Hardware

Computer System Structure n Computer system can be divided into four components l Hardware – provides basic computing resources 4 CPU, memory, I/O devices l Operating system 4 Controls and coordinates use of hardware among various applications and users l Application programs – define the ways in which the system resources are used to solve the computing problems of the users 4 Word processors, compilers, web browsers, database systems, video games l Users 4 People, machines, other computers 1. 5

Four Components of a Computer System User 1 User 2 User 3 Compiler Game

Four Components of a Computer System User 1 User 2 User 3 Compiler Game Text Editor … User n Browser Application Programs Operating System Computer Hardware 1. 6

Operating System Definition n OS is a resource allocator l Manages all resources l

Operating System Definition n OS is a resource allocator l Manages all resources l Decides between conflicting requests for efficient and fair resource use n OS is a control program l Controls execution of programs to prevent errors and improper use of the computer 1. 7

Operating System Definition (Cont) n No universally accepted definition n “Everything a vendor ships

Operating System Definition (Cont) n No universally accepted definition n “Everything a vendor ships when you order an operating system” is good approximation l But varies wildly n “The one program running at all times on the computer” is the kernel. Everything else is either a system program (ships with the operating system) or an application program 1. 8

Computer Startup n bootstrap program is loaded at power-up or reboot l Typically stored

Computer Startup n bootstrap program is loaded at power-up or reboot l Typically stored in ROM or EPROM (Firmware) l Initializes all aspects of system l Loads operating system kernel and starts execution Bootstrap 1 3 OS CPU 2 OS 1. 9

Computer System Organization n Computer-system operation l One or more CPUs, device controllers connect

Computer System Organization n Computer-system operation l One or more CPUs, device controllers connect through common bus providing access to shared memory l Concurrent execution of CPUs and devices competing for memory cycles 1. 10

Computer-System Operation n I/O devices and the CPU can execute concurrently n Each device

Computer-System Operation n I/O devices and the CPU can execute concurrently n Each device controller is in charge of a particular device type n Each device controller has a local buffer n CPU moves data from/to main memory to/from local buffers n I/O is from the device to local buffer of controller n Device controller informs CPU that it has finished its operation by causing an interrupt 1. 11

Common Functions of Interrupts n Interrupt transfers control to the interrupt service routine (ISR)

Common Functions of Interrupts n Interrupt transfers control to the interrupt service routine (ISR) generally, through the interrupt vector, which contains the addresses of all the service routines n Interrupt architecture must save the address of the interrupted instruction n Incoming interrupts are disabled while another interrupt is being processed to prevent a lost interrupt n A trap is a software-generated interrupt caused either by an error or a user request n An operating system is interrupt driven 1. 12

Interrupt Vector 5 6 7 CPU Network 4 ISR 1 address ISRk address ISRn

Interrupt Vector 5 6 7 CPU Network 4 ISR 1 address ISRk address ISRn address 9 Sensors Interrupt Handler INT 8 Mouse Interrupt Handler I/O 3 Interrupt Vector Keyboard 2 A ISR 1 ISRk ISRn 10 Buffer 1 Job ISR: Interrupt Service Routine 1. 13

Interrupt Handling n The operating system preserves the state of the CPU by storing

Interrupt Handling n The operating system preserves the state of the CPU by storing registers and the program counter (PC) n Determines which type of interrupt has occurred: l polling l vectored interrupt system n Separate segments of code determine what action should be taken for each type of interrupt. n The code may with different lengths for different interrupts. 1. 14

Interrupt Timeline ISRk 1. 15

Interrupt Timeline ISRk 1. 15

I/O Structure n After I/O starts, control returns to user program only upon I/O

I/O Structure n After I/O starts, control returns to user program only upon I/O completion l Wait instruction idles the CPU until the next interrupt l Wait loop (contention for memory access) l At most one I/O request is outstanding at a time, no simultaneous I/O processing 1. 16

I/O Structure n After I/O starts, control returns to user program without waiting for

I/O Structure n After I/O starts, control returns to user program without waiting for I/O completion l System call – request to the operating system to allow user to wait for I/O completion l Device-status table contains entry for each I/O device indicating its type, address, and state l OS indexes into I/O device table to determine device status and to modify table entry to include interrupt 1. 17

Direct Memory Access (DMA) Structure n Used for high-speed I/O devices able to transmit

Direct Memory Access (DMA) Structure n Used for high-speed I/O devices able to transmit information at close to memory speeds n Device controller transfers blocks of data from buffer storage directly to main memory without CPU intervention n Only one interrupt is generated per block, rather than the one interrupt per byte n Also called cycle stealing, as it steals the CPU execution cycle to transfer the data blocks. n CPU cycles l Fetch instruction from memory l Fetch data from memory l Execution INT 1. 18

Storage Structure n Main memory – only large storage media that the CPU can

Storage Structure n Main memory – only large storage media that the CPU can access directly n Secondary storage – extension of main memory that provides large nonvolatile storage capacity n Magnetic disks – rigid metal or glass platters covered with magnetic recording material l Disk surface is logically divided into tracks, which are subdivided into sectors l The disk controller determines the logical interaction between the device and the computer 1. 19

Moving-head Disk Mechanism 1. 20

Moving-head Disk Mechanism 1. 20

Storage Hierarchy n Storage systems organized in hierarchy l Speed l Cost l Volatility

Storage Hierarchy n Storage systems organized in hierarchy l Speed l Cost l Volatility n Caching – copying information into faster storage system; main memory can be viewed as a last cache for secondary storage 1. 21

Storage-Device Hierarchy 1. 22

Storage-Device Hierarchy 1. 22

Caching (快取) n Important principle, performed at many levels in a computer (in hardware,

Caching (快取) n Important principle, performed at many levels in a computer (in hardware, operating system, software) n Information in use copied from slower to faster storage temporarily n Faster storage (cache) checked first to determine if information is there l If it is, information used directly from the cache (fast) l If not, data copied to cache and used there n Cache is usually smaller than storage being cached l Cache management problem l Cache size and replacement policy 1. 23

How a Modern Computer Works 1. 24

How a Modern Computer Works 1. 24

Computer-System Architecture n Most systems use a single general-purpose processor (Smart Phones, PADs, PCs,

Computer-System Architecture n Most systems use a single general-purpose processor (Smart Phones, PADs, PCs, Notebooks, through mainframes) n Most systems have special-purpose processors as well 4 Network Processor 4 GPU (Graphic Processing Unit) 4 Floating Point Processor n Now using multi-core processor 1. 25

Computer-System Architecture n Multiprocessors systems growing in use and importance l Also known as

Computer-System Architecture n Multiprocessors systems growing in use and importance l Also known as parallel systems, tightly-coupled systems l Advantages include l 1. Increased throughput 2. Economy of scale 3. Increased reliability – graceful degradation or fault tolerance Two types 1. Asymmetric Multiprocessing 2. Symmetric Multiprocessing 1. 26

Symmetric Multiprocessing Architecture 1. 27

Symmetric Multiprocessing Architecture 1. 27

Clustered Systems n Like multiprocessor systems, but multiple systems working together l Usually sharing

Clustered Systems n Like multiprocessor systems, but multiple systems working together l Usually sharing storage via a storage-area network (SAN) l Provides a high-availability service which survives failures 4 Asymmetric clustering has one machine in hot-standby mode 4 Symmetric clustering has multiple nodes running applications, monitoring each other l Some clusters are for high-performance computing (HPC) 4 Applications must be written to use parallelization 1. 28

Operating System Structure n Multiprogramming needed for efficiency l Single user cannot keep CPU

Operating System Structure n Multiprogramming needed for efficiency l Single user cannot keep CPU and I/O devices busy at all times l Multiprogramming organizes jobs (code and data) so CPU always has one to execute Try to keep CPU as busy as possible l A subset of total jobs in system is kept in memory l l One job selected and run via job scheduling l When it has to wait (for I/O for example), OS switches to another job 1. 29

Memory Layout for Multiprogrammed System Operating System CPU Scheduling CPU Job 1 Job 2

Memory Layout for Multiprogrammed System Operating System CPU Scheduling CPU Job 1 Job 2 Job 3 Job 4 Job Scheduling Multiprogramming tries to keep CPU as busy as possible 1. 30

Operating System Structure n Timesharing (multitasking): CPU switches jobs so frequently that users can

Operating System Structure n Timesharing (multitasking): CPU switches jobs so frequently that users can interact with each job while it is running, creating interactive computing l Response time should be < 1 second l Each user has at least one program executing in memory process If several jobs ready to run at the same time CPU scheduling l If processes don’t fit in memory, swapping moves them in and out to run l Virtual memory allows execution of processes not completely in memory l 1. 31

Memory Layout for Multitasked System Operating System CPU Scheduling Job 1 CPU Job 2

Memory Layout for Multitasked System Operating System CPU Scheduling Job 1 CPU Job 2 Job 3 Job 2 Job 4 Job Scheduling Multitasking tries to keep responses as short as possible 1. 32

Operating-System Operations n Interrupt driven by hardware n Software error or request creates exception

Operating-System Operations n Interrupt driven by hardware n Software error or request creates exception or trap l Division by zero, request for operating system service n Other process problems include infinite loop, processes modifying each other or the operating system n Timer to prevent infinite loop / process hogging resources n Set interrupt after specific period l Operating system decrements counter l When counter zero generates an interrupt 1. 33

Transition from User to Kernel Mode n Dual-mode operation allows OS to protect itself

Transition from User to Kernel Mode n Dual-mode operation allows OS to protect itself and other system components User mode and kernel mode l Mode bit provided by hardware l 4 Provides ability to distinguish when system is running user code or kernel code 4 Some instructions designated as privileged, only executable in kernel mode 4 System call changes mode to kernel, return from call resets it to user 1. 34

Process Management n A process is a program in execution. It is a unit

Process Management n A process is a program in execution. It is a unit of work within the system. Program is a passive entity, process is an active entity. n Process needs resources to accomplish its task l CPU, memory, I/O, files l Initialization data n Process termination requires reclaim of any reusable resources 1. 35

Process Management n Single-threaded process has one program counter specifying location of next instruction

Process Management n Single-threaded process has one program counter specifying location of next instruction to execute l Process executes instructions sequentially, one at a time, until completion n Multi-threaded process has one program counter per thread n Typically system has many processes, some users, some operating system running concurrently on one or more CPUs l Concurrency by multiplexing the CPUs among the processes / threads 1. 36

Process Management Activities n The operating system is responsible for the following activities in

Process Management Activities n The operating system is responsible for the following activities in connection with process management: n Creating and deleting both user and system processes n Suspending and resuming processes n Providing mechanisms for process synchronization n Providing mechanisms for process communication n Providing mechanisms for deadlock handling 1. 37

Memory Management n All instructions in memory in order to execute n All data

Memory Management n All instructions in memory in order to execute n All data in memory before and after processing n Memory management determines what is in memory when l Optimizing CPU utilization and computer response to users n Memory management activities l Keeping track of which parts of memory are currently being used and by whom l Deciding which processes and data to move into and out of memory l Allocating and deallocating memory space as needed 1. 38

Storage Management n OS provides uniform, logical view of information storage l Abstracts physical

Storage Management n OS provides uniform, logical view of information storage l Abstracts physical properties to logical storage unit - file l Each medium is controlled by device (disk drive, tape drive) 4 Varying properties include access speed, capacity, data- transfer rate, access method (sequential or random) n File-System management Files usually organized into directories. Access control on most systems to determine who can access what l OS activities include l 4 Creating and deleting files and directories 4 Primitives to manipulate files and directories 4 Mapping files onto secondary storage 4 Backup files onto stable (non-volatile) storage media 1. 39

Mass-Storage Management n Usually disks used to store data that does not fit in

Mass-Storage Management n Usually disks used to store data that does not fit in main memory or data that must be kept for a “long” period of time n Proper management is of central importance n Entire speed of computer operation hinges on disk subsystem and its algorithms n OS activities l Free-space management l Storage allocation l Disk scheduling n Some storage need not be fast l Tertiary storage includes optical storage, magnetic tape 1. 40

Performance of Various Levels of Storage n Movement between levels of storage hierarchy can

Performance of Various Levels of Storage n Movement between levels of storage hierarchy can be explicit or implicit 1. 41

Migration of Integer A from Disk to Register n Multitasking environments must be careful

Migration of Integer A from Disk to Register n Multitasking environments must be careful to use most recent value, no matter where it is stored in the storage hierarchy n Multiprocessor environment must provide cache coherency in hardware such that all CPUs have the most recent value in their cache n Distributed environment situation even more complex l Several copies of a datum can exist 1. 42

I/O Subsystem n One purpose of OS is to hide complex of hardware devices

I/O Subsystem n One purpose of OS is to hide complex of hardware devices from the user n I/O subsystem responsible for l Memory management of I/O including 4 buffering (storing data temporarily while it is being transferred), 4 caching (storing parts of data in faster storage for performance), 4 spooling (the overlapping of output of one job with input of other jobs) Simultaneous Peripheral Operations On. Line (SPOOL) l General device-driver interface l Drivers for specific hardware devices 1. 43

Protection and Security n Protection – any mechanism for controlling access of processes or

Protection and Security n Protection – any mechanism for controlling access of processes or users to resources defined by the OS n Security – defense of the system against internal and external attacks l Huge range, including denial-of-service, worms, viruses, identity theft, theft of service n Systems generally first distinguish among users, to determine who can do what l User identities (user IDs, security IDs) include name and associated number, one per user l User ID then associated with all files, processes of that user to determine access control l Group identifier (group ID) allows set of users to be defined and controls managed, then also associated with each process, file l Privilege escalation allows user to change to effective ID with more rights 1. 44

Computing Environments n Traditional computer l Office environment 4 PCs connected to a network,

Computing Environments n Traditional computer l Office environment 4 PCs connected to a network, terminals attached to mainframe or minicomputers providing batch and timesharing 4 Now portals allowing networked and remote systems access to same resources (Gmail) l Home networks 4 Used to be single system, then modems 4 Now networked with NAT (IP sharing) 4 ADSL/Fiber to the Home (FTTH) 4 Wireless LAN (IEEE 802. 11 n) + Gigabit Ethernet 1. 45

Computing Environments (Cont) n Client-Server Computing l Many system servers, responding to requests generated

Computing Environments (Cont) n Client-Server Computing l Many system servers, responding to requests generated by clients 4 Compute-server provides an interface to client to request services (i. e. database) 4 File-server provides interface for clients to store and retrieve files 1. 46

Peer-to-Peer Computing n Another model of distributed system n P 2 P does not

Peer-to-Peer Computing n Another model of distributed system n P 2 P does not distinguish clients and servers l All nodes are considered peers l Each may act as client, server or both l Node must join P 2 P network 4 Registers its service with central lookup service on network, or 4 Broadcast request for service and respond to requests for service via discovery protocol l Examples include Napster, Gnutella, BT, Foxy, e-Donkey, e-Mule, Winny, Skype, ppstream, pplive, etc. 1. 47

Web-Based Computing n Web has become ubiquitous (more than 100 M web sties now)

Web-Based Computing n Web has become ubiquitous (more than 100 M web sties now) n PCs were most prevalent devices, now handheld devices, such as Iphone, i. PAD, Android-based smart phone/PAD, n More devices becoming networked to allow web access n New category of devices to manage web traffic among similar servers: load balancers n Use of operating systems like l Windows 95, client-side, have evolved into l Linux, Windows XP, and Windows 7, which can be clients and servers 1. 48

Open-Source Operating Systems n Operating systems made available in source-code format rather than just

Open-Source Operating Systems n Operating systems made available in source-code format rather than just binary closed-source n Counter to the copy protection and Digital Rights Management (DRM) movement n Examples include l Linux, l BSD UNIX (including core of Mac OS X), l Sun Solaris, and l Android (Google) 1. 49

End of Chapter 1

End of Chapter 1