Upload
thomasina-freeman
View
213
Download
0
Tags:
Embed Size (px)
Citation preview
Operating System Review
September 10, 2012 Introduction to Computer Security©2004 Matt Bishop
Slide #1-1
WHAT IS AN OPERATING SYSTEM?
• An interface between users and hardware - an environment "architecture”
• Allows convenient usage; hides the tedious stuff• Allows efficient usage; parallel activity, avoids
wasted cycles• Provides information protection• Gives each user a slice of the resources• Acts as a control program.
September 10, 2012 Introduction to Computer Security©2004 Matt Bishop
Slide #1-2
The Layers Of A System
September 10, 2012 Introduction to Computer Security©2004 Matt Bishop
Slide #1-3
Program Interface
Humans
User Programs
O.S. Interface
O.S.
Hardware Interface/ Privileged Instructions
Disk/Memory/Screen
Components
• A mechanism for scheduling threads or processes. Scheduling can be as simple as running the next thread, or it can use relatively complex rules to pick a running process.
• A method for simultaneous CPU execution and IO handling. Processing is going on even as IO (such as disk) is occurring in preparation for future CPU work.
• Off Line Processing; not only are IO and CPU happening concurrently, but some off-board intelligent processing is occurring with the IO.
September 10, 2012 Introduction to Computer Security©2004 Matt Bishop
Slide #1-4
Components (Cont.)
• The CPU is wasted if a thread waits for I/O. This leads to:• Multithreading ( dynamic switching ). While one thread
waits for a resource, the CPU can find another thread to run. It means that several threads are ready to run and only need the CPU resource in order to continue.
• All of this leads to:– memory management– resource scheduling– deadlock protection
• which are the subject of the rest of this course.
September 10, 2012 Introduction to Computer Security©2004 Matt Bishop
Slide #1-5
Characteristics
• Concurrent Processing - Tightly coupled systems that communicate via shared memory. Used for scientific applications. Used for speed improvement by putting together a number of off-the-shelf processors.
• Distributed Systems - Loosely coupled systems that communicate via message passing. Advantages include resource sharing, speed up, reliability, communication.
• Real Time Systems - Rapid response time is main characteristic. Used in control of applications where rapid response to a stimulus is essential.
September 10, 2012 Introduction to Computer Security©2004 Matt Bishop
Slide #1-6
CharacteristicsInterrupts
• Interrupt transfers control to the interrupt service routine generally, through the interrupt vector, which contains the addresses of all the service routines.
• Interrupt architecture must save the address of the interrupted instruction.• Incoming interrupts are disabled while another interrupt is being processed to prevent a lost
interrupt.• A trap is a software-generated interrupt caused either by an error or a user request.• An operating system is interrupt driven.
September 10, 2012 Introduction to Computer Security©2004 Matt Bishop
Slide #1-7
Hardware Support
September 10, 2012 Introduction to Computer Security©2004 Matt Bishop
Slide #1-8
These are the devices that make up a typical system.
Any of these devices can cause an
electrical interrupt that grabs the
attention of the CPU.
Hardware Support
September 10, 2012 Introduction to Computer Security©2004 Matt Bishop
Slide #1-9
Sequence of events for processing
an IO request.
Comparing Synchronous and Asynchronous IO
Operations
Hardware Support (Cont.)
September 10, 2012 Introduction to Computer Security©2004 Matt Bishop
Slide #1-10
This is O.S. Bookkeeping. These
structures are necessary to keep track of IO in
progress.
Memory (Storage) Hierarchy• Very fast storage is very expensive. So the Operating System manages a hierarchy of
storage devices in order to make the best use of resources. In fact, considerable effort goes into this support.
September 10, 2012 Introduction to Computer Security©2004 Matt Bishop
Slide #1-11
Fast and Expensive
Slow an Cheap
Memory Hierarchy Performance
September 10, 2012 Introduction to Computer Security©2004 Matt Bishop
Slide #1-12
Cache Handling• Important principle, performed at many levels in a computer (in
hardware, operating system, software)• Information in use copied from slower to faster storage
temporarily• Faster storage (cache) checked first to determine if information
is there– If it is, information used directly from the cache (fast)– If not, data copied to cache and used there
• Cache smaller than storage being cached– Cache management important design problem– Cache size and replacement policy
September 10, 2012 Introduction to Computer Security©2004 Matt Bishop
Slide #1-13
Protection• The goal is protecting the Operating System
and others from malicious or ignorant users.• The User/Supervisor Mode and privileged
instructions.• Concurrent threads might interfere with others.
This leads to protection of resources by user/supervisor mode. These resources include:
• I/O Define I/O instructions as privileged; they can be executed only in Supervisor mode. System calls get us from user to supervisor mode.
September 10, 2012 Introduction to Computer Security©2004 Matt Bishop
Slide #1-14
Protection (Cont.)
• Memory – A user process can only access its own logical memory. For instance, it can't modify supervisor
code. Depends on an address translation scheme such as that shown here.
September 10, 2012 Introduction to Computer Security©2004 Matt Bishop
Slide #1-15
Protection (Cont.)
• CPU – A clock prevents threads from using all the CPU time. This clock
causes an interrupt that causes the operating system to gain control from a user thread.
• For machines connected together, this protection must extend across:– Shared resources, – Multiprocessor Architectures, – Clustered Systems
The practice of this is called “distributed operating systems”.
September 10, 2012 Introduction to Computer Security©2004 Matt Bishop
Slide #1-16