Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Chapter 3: Operating Systems Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 3: Operating Systems • • • • • 3.1 The History of Operating Systems 3.2 Operating System Architecture 3.3 Coordinating the Machine’s Activities 3.4 Handling Competition Among Processes 3.5 Security Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-2 Functions of Operating Systems • • • • Oversee operation of computer Store and retrieve files Schedule programs for execution Coordinate the execution of programs Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-3 Evolution of Shared Computing • Batch processing • Interactive processing – Requires real-time processing • Time-sharing/Multitasking – Implemented by Multiprogramming • Multiprocessor machines Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-4 Figure 3.1 Batch processing Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-5 Figure 3.2 Interactive processing Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-6 Types of Software • Application software – Performs specific tasks for users • System software – Provides infrastructure for application software – Consists of operating system and utility software Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-7 Figure 3.3 Software classification Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-8 Operating System Components • Shell: Communicates with users – Text based – Graphical user interface (GUI) • Kernel: Performs basic required functions – File manager – Device drivers – Memory manager – Scheduler and dispatcher • determines which activities are to be considered for execution; controls the allocation of time to the activities Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-9 Figure 3.4 The shell as an interface between users and the operating system Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-10 File Manager • Its job is to coordinate the use of the machine’s mass storage facilities. It “records” – Where each file is located – Which users are allowed to access the various files – Which portions of mass storage are available for new files or existing files • Directory (or Folder): A user-created bundle of files and other directories (subdirectories) • Directory Path: A sequence of directories within directories Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-11 Device Drivers • Device drivers are the software units that communicate with the controllers to carry out operations on the peripheral devices. – translates generic requests into the more technical steps required by the device – e.g., reading and decoding a printer’s status word as well as all the other handshaking details • The other software components can merely rely on the device drivers to take care of the details. Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-12 Memory Manager • Allocates/reclaims space in main memory – ensure that the actions of each program are restricted to the program’s allotted space • Paging: The memory manager may create the illusion that the machine has more memory than it actually does (virtual memory) by playing a “shell game” in which blocks of data (pages) are shifted back and forth between main memory and mass storage Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-13 Getting it Started (Bootstrapping) • Bootstrap: Program in ROM (example of firmware: software recorded in hardware) – Run by the CPU when power is turned on • The program counter of the CPU starts with a particular predetermined address pointing to ROM – Transfers operating system from mass storage to main memory (which is essentially empty when the machine is first turned on) – Executes jump to operating system • BIOS (basic I/O system) in ROM – a collection of software routines for fundamental I/O activities Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-14 Figure 3.5 The booting process Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-15 Processes • Process: The activity of executing a program – Program: a static set of directions – Process: a dynamic activity whose properties change as time progresses – Analogy: a piece of sheet music vs. a musician performing that piece • Process State: Current status of the activity – Program counter – General purpose registers – Related portion of main memory Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-16 Process Administration • Scheduler: Adds new processes to the process table and removes completed processes from the process table – Each entry in the process table contains: (1) memory area, (2) priority, and (3) ready or waiting • Dispatcher: Controls the allocation of time slices to the processes in the process table – The end of a time slice is signaled by an interrupt. – Process (or context) switch Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-17 Figure 3.6 Time-sharing between process A and process B Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-18 Interrupt Handling • The CPU completes its current machine cycle • Save the current process’s state • Begin execution of a program, called an interrupt handler, which is a part of the dispatcher • Selects the highest-priority ready process from the process table • Restarts the timer circuit and begin the next time slice Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-19 Handling Competition for Resources • A simple flag system: interrupt problem (interrupt disable&enable, test-and-set instr.) • Semaphore: A “control flag” • Critical Region: A group of instructions that should be executed by only one process at a time • Mutual exclusion: Requirement for proper implementation of a critical region Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-20 Semaphore • A semaphore S is an integer variable that is accessed only through two standard atomic operations: wait and signal. • Wait(S): while S<=0 do no-op; S:=S -1; • Signal(S): S:=S + 1; Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-21 Semaphore (Cont.) repeat wait(S) critical region signal(S) remainder section until false Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-22 Deadlock • Processes block each other from continuing • Conditions required for deadlock 1. Competition for non-sharable resources 2. Resources requested on a partial basis 3. An allocated resource can not be forcibly retrieved Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-23 Figure 3.7 A deadlock resulting from competition for nonshareable railroad intersections Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-24 Deadlock detection and avoidance • Converting nonshareable resources into shareable ones, e.g., spooling (holding data for output at a later but more convenient time) • Requiring each process to request all its resources at one time • Administrator uses his/her powers as “super-user” to forcibly retrieving some of the allocated resources Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-25 Security • Attacks from outside – Problems • Insecure passwords • Unusual behavior • Sniffing software – Counter measures • Auditing software Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-26 Security (continued) • Attacks from within – Problem: Unruly processes (e.g., tricking file or memory manager) • Special-purpose registers to store the upper and lower limits of a process’s allotted memory area – Counter measures: Control process activities via privilege levels (privileged modes and privileged instructions) for CPU operations • When allowing a process to start a time slice, CPU is switched to nonprivileged mode Copyright © 2012 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 3-27