Download Chapter 3: Operating Systems

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

Process management (computing) wikipedia , lookup

Transcript
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