Week 02
Week 02
Systems:
Internals Week-2
and Design
Principles Operating System
Overview
Operating System
A program that controls the execution of application
programs
An interface between applications and hardware
Main objectives of an OS:
• convenience
• efficiency
• ability to evolve
Operating System Services
Program development
Program execution
Access I/O devices
Controlled access to files
System access
Error detection and response
Accounting
Key Interfaces
Instruction set architecture (ISA)
Application binary interface (ABI)
Application programming interface (API)
The Role of an OS
A computeris a set of resources for the
movement, storage, and processing of
data
TheOS is responsible for managing these
resources
Operating System
as Software
Functions
in the same way as ordinary
computer software
Program, or suite of programs, executed by
the processor
Frequentlyrelinquishes control and must
depend on the processor to allow it to regain
control
Evolution of Operating Systems
new services
Fixes
Evolution of
Operating Systems
Stages include:
Time
Sharing
Multiprogrammed Systems
Batch Systems
Simple Batch
Systems
Serial
Processing
Serial Processing
Earliest Computers: Problems:
Scheduling:
No operating system most installations used a
programmers interacted hardcopy sign-up sheet to
directly with the computer reserve computer time
hardware time allocations could
Computers ran from a console run short or long,
with display lights, toggle resulting in wasted
switches, some form of input computer time
device, and a printer Setup time
Users have access to the computer a considerable amount of time
in “series” was spent just on setting up the
program to run
Simple Batch Systems
• while the user program is executing, it must not alter the memory area containing
the monitor
Timer
Privileged instructions
Interrupts
Multiprogramming
also known as multitasking
memory is expanded to hold three, four, or more programs and
switch among all of them
Time-Sharing Systems
Can be used to handle multiple interactive jobs
Processor time is shared among multiple users
Multipleusers simultaneously access the system
through terminals, with the OS interleaving the
execution of each user program in a short burst or
quantum of computation
Development of the Process
Three major lines of computer system development created
problems in timing and synchronization that contributed to
the development:
multiprogramming batch operation
• processor is switched among the various programs residing in main
memory
time sharing
• be responsive to the individual user but be able to support many users
simultaneously
automatic support of
process protection and long-term
allocation and modular
isolation access control storage
management programming
Virtual Memory
A facilitythat allows programs to address
memory from a logical point of view, without
regard to the amount of main memory physically
available
Conceived to meet the requirement of having
multiple user jobs reside in main memory
concurrently
Paging
Allows processes to be comprised of a number of fixed-size
blocks, called pages
Program references a word by means of a virtual address
consists of a page number and an offset within the page
each page may be located anywhere in main memory
Provides for a dynamic mapping between the virtual
address used in the program and a real (or physical) address
in main memory
Different Architectural
Approaches
Demands on operating systems require new
ways of organizing the OS
• microkernel architecture
• multithreading
• symmetric multiprocessing
• distributed operating systems
• object-oriented design
Multithreading
Technique in which a process, executing an application, is
divided into threads that can run concurrently
Thread
• dispatchable unit of work
• includes a processor context and its own data area to enable subroutine
branching
• executes sequentially and is interruptible
Process
• a collection of one or more threads and associated system resources
• programmer has greater control over the modularity of the application
and the timing of application related events
End