What is an Operating System?
A program that controls the execution of application programs
An interface between applications and hardware
Main objectives of an OS:
- Ability to evolve
Key Interfaces of an OS:
- Instruction set architecture (ISA)
- Application binary interface (ABI)
- Application programming interface (API)
What is the role of an OS?
OS is responsible for managing a computer's resources.
A computer is a set of _?_ resources for the ____, _____ and _____ of data.
A computer is a set of shared resources, for the movement, storage,and processing of data.
Computer as a Resource Manager. What is the section with the question mark known as:
Identify the areays of this computer system:
- 1 Operating System Software
- 2 Programs and Data
- 3 Processors4 I/O Controllers
- 5 I/O Devices: Printers, keyboards, cameras etc.
- 6 Memory
A major OS will evolve over time for anumber of reasons:
- Hardware upgrades
- New types of hardware
- New services
Evolution of Operating Systems Stages include:
- Simple Batch Systems
- Multiprogrammed Batch Systems
- TimeSharing Systems
Describe Serial Processing:
- No operating system
- programmers interacted directly with the computer hardware...
- Computers ran from a console with display lights, toggle switches, some form of input device, and a printer...
- Users have access to the computer in “series”...
Serial Processing; Problems of:
Scheduling and Set up Time.
Serial Processing Problem: Scheduling:
- most installations used a hardcopy sign-up sheet to reserve computer time
- time allocations could run short or long, resulting in wasted computer time.
Serial Processing Problem: Setup time
A considerable amount of time was spent just on setting up the program to run
Describe Simple Batch Systems:
- Because early computers were very expensive, it was important to maximize processor utilization via the concept of a Monitor.
- User no longer has direct access to processor as in Serial ProcessingJobs are submitted to computer operator who batches them together and places them on an input device.
- Program branches back to the monitor when finished
Monitor (Simple Batch System)
- Monitor controls the sequenceof events
- Resident Monitor is software always in memory
- Monitor reads in job and gives control
- Job returns control to monitor
Simple Batch System: Processor Point of View:
- Processor executes instruction from the memory containing the monitor
- Executes the instructions in the user program until it encounters an ending or error condition
- “Control is passed to a job” means processor is fetching and executing instructions in a user program
- “Control is returned to the monitor” means that the processor is fetching and executing instructions from the monitor program
Simple Batch System: “Control is passed to a job” means?
In a simple batch system, “Control is passed to a job” means that the means processor is fetching and executing instructions in a user program
Simple Batch System: “Control is passed to the monitor” means
In a simple batch system it means that the processor is fetching and executing instructions from the monitor program
Job Control Language (JBL):
Special type of programming language used to provide instructions to the monitor
Simple Batch Systems: Desirable Hardware Features: Memory protection for monitor:
While the user program is executing, it must not alter the memory area containing the monitor
Simple Batch Systems: Desirable Hardware Features: Timer:
Prevents a job from monopolizing the system
Simple Batch Systems: Desirable Hardware Features: Privileged instructions:
can only be executed by the monitor
Simple Batch Systems: Desirable Hardware Features: Interupts:
gives OS more flexibility in controlling user programs
Modes of Operation: User Mode:
- user program executes in user mode
- certain areas of memory are protected from user access.
- certain instructions may not be executed.
Modes of Operation: Kernel Mode:
- monitor executes in kernel mode
- privileged instructions may be executedprotected areas of memory may be accessed
Simple Batch System: Overhead: Processor time
- Processor time alternates between execution of user programs and execution of the monitor
Simple Batch System: Overhead: Sacrifices
- -->some main memory is now given over to the monitor...
- -->some processor time is consumed by the monitor...
Despite overhead, the simple batch system improves utilization of the computer T/F ?
MultiProgramming or Multitasking
- Central theme of modern OS
- Multiple programs in main memory at the same time
- Needs additional H/W that supports I/O interrupts and DMA (independent I/O processor, I/O channel)
Characteristics of Multiprogramming:
- There must be enough memory to hold the OS (resident monitor) and one user program.
- When one job needs to wait for I/O, the processor can switch to the other job, which is likely not waiting for I/O.
In multiprogramming,also known as multitasking memory is expanded to hold three, four, or more programs and switch among all of them.
- Allows processes to be comprised of a number of fixed-size blocks, called pages.
- Program references a word by means of a virtual address
- Provides for a dynamic mapping between the virtual address used in the program and a real (or physical) address in main memory
Paging: Program references a word by means of a virtual address...
- consists of a page number and an offset within the pageeach page may be located anywhere in main memory
The processor spends a certain amount oftime executing, until it reaches an I/O instruction; it must then wait until that I/O instruction concludes before proceeding
Time Sharing Systems:
- Can be used to handle multiple interactive jobs.
- Processor time is shared among multiple users.
- Multiple users simultaneously access the system through terminals, with the OS interleaving the execution of each user program in a short burst or quantum of computation.
A Process contains three components:
- executable program
- the associated data needed by the program (variables, work space, buffers, etc.)
- the execution context (or “process state”) of the program
Process Management: The entire state of the process at any instant is contained in its __?__
The entire state of the process at any instant is contained in its context