1 / 27

Chapter 3: Operating Systems

Chapter 3: Operating Systems. Computer Science: An Overview Eleventh Edition by J. Glenn Brookshear. 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

luanner
Download Presentation

Chapter 3: Operating Systems

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 3: Operating Systems Computer Science: An OverviewEleventh Edition by J. Glenn Brookshear

  2. 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

  3. Functions of Operating Systems • Oversee operation of computer • Store and retrieve files • Schedule programs for execution • Coordinate the execution of programs

  4. Evolution of Shared Computing • Batch processing • Interactive processing • Requires real-time processing • Time-sharing/Multitasking • Implemented by Multiprogramming • Multiprocessor machines

  5. Figure 3.1 Batch processing

  6. Figure 3.2 Interactive processing

  7. Types of Software • Application software • Performs specific tasks for users • System software • Provides infrastructure for application software • Consists of operating system and utility software

  8. Figure 3.3 Software classification

  9. 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

  10. Figure 3.4 The shell as an interface between users and the operating system

  11. 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

  12. 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.

  13. 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

  14. 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

  15. Figure 3.5 The booting process

  16. 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

  17. 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

  18. Figure 3.6 Time-sharing between process A and process B

  19. 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

  20. 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

  21. 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;

  22. Semaphore (Cont.) repeat wait(S) critical region signal(S) remainder section until false

  23. 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

  24. Figure 3.7 A deadlock resulting from competition for nonshareable railroad intersections

  25. 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

  26. Security • Attacks from outside • Problems • Insecure passwords • Unusual behavior • Sniffing software • Counter measures • Auditing software

  27. 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

More Related