Lecture 1 - Introduction To OS 2022 Till History of OS
Lecture 1 - Introduction To OS 2022 Till History of OS
CSL 2051
3-0-0 = 3 CREDITS
CSP 2051
0-0-2 = 1 Credit
COURSE CONTENT
• Concurrent processes:
• Mutual exclusion and Bernstein’s conditions,
• Fork/Join construct,
• PARBEGIN/PAREND construct;
• semaphores:
• use of semaphores to complement PARBEGIN/PAREND;
• critical section problem ;
• 2 process critical section problem and solution both H/W and S/W;
• monitors;
• message passing ;
• case studies: dining philosophers problem, reader writer problem
and disk head scheduler problem.
COURSE CONTENT
• Memory management:
• Single user contiguous: protection;
• fixed partition multiprogramming; protection,
fragmentation, relocation;
• variable partition multiprogramming: compaction,
storage placement strategies;
• multiprogramming with storage swapping;
• paging: segmentation;
• paging and segmentation together;
• virtual memory: page replacement and strategies,
locality
COURSE CONTENT
• Dead locks:
• Resource concepts,
• necessary conditions,
• resource allocation graph,
• deadlock prevention: three strategies of Havender,
• deadlock avoidance: Bankers algorithm,
• deadlock detection: reduction of resource allocation
graph, deadlock recovery.
COURSE CONTENT
• File systems: directory organization, functions, data
hierarchy, blocking and buffering, file organization, free
space management, allocation techniques: contiguous,
non contiguous; sector oriented linked; block: block
chaining , index block chaining, block oriented file
mapping;
• Device management: types: block, character; PIO,
DMA, I/O channels, virtual devices.
• Disk scheduling: operations of disks, quantities to be
optimized, seek optimization : FCFS, SSTF, SCAN, C-SCAN,
M-STEP SCAN, Eschenbach; rotation optimization, system
consideration, disk caching and other optimizations.
RECOMMENDED BOOKS:
1. Hardware
– providesbasic computing resources (CPU, memory, I/O
devices, network devices).
2. Operating system
– controlsand coordinates the use of the hardware among
the various application programs for the various users.
3. Utility / Applications programs
– define the ways in which the system resources are used
to solve the computing problems of the users (compilers,
database systems, video games, business programs). 13
UTILITY PROGRAMS:
• ROUTINE OPERATIONS MANAGE
DATA
Monitor
Bus
Primary storage -
directly accessible
to the CPU, small
capacity, fast,
volatile
Secondary storage -
not directly accessible
by the CPU.
The computer usually
uses its input/output
channels to access
secondary storage and
transfers the desired
data using
• Consists of 2 parts :
• The controller – chips that physically control the
device, accepts commands from operating system and
controls the device according to the commands.
• The device
• The actual control of the device is very
complicated and detailed, so it is the job of the
controller to present a simpler interface to the
operating system
DEVICE DRIVER
• Application Software
• System Software
• Operating System
• Utility Programs
Banking Result Web
Application Programs
System Generator Browser
Database
Window
Libraries Management
System System
Command
Compiler Editors Line System Programs
Interpreter
Operating System
Micro architecture
Hardware
Physical Devices
PERSPECTIVE OF THE COMPUTER
• End Users
• The End Users employs the APPLICATION PROGRAMS (
CUT, COPY, PRINT, SEND, SAVE….)
• Application Programmers
• Uses the SYSTEM SOFTWARE to produce Application
Programs ( MALLOC(), OPEN(),PRINTF()…..)
• OS Programmers
• Uses the HARDWARE to implement System Software
(START-PRINTER, READ-DISK, TRACK-MOUSE…..)
A modern computer system is a complex
system.
32
BRIDGING THE SEMANTIC GAP
• Hardware capabilities are very low level
• Arithmetic and logical operators
• Comparison of two bit-strings
• Branching, reading, and writing bytes
• User needs to think in terms of problem to be solved
• High-level data structures and corresponding operations
• Simple, uniform interfaces to subsystems,
• Treat programs and data files as single entities
• Use software to bridge this gap
• Language processors (e.g., assemblers, compilers, interpreters).
• Editors and text processors, linkers and loaders.
33
• Application programs, utility and service programs.
• Operating Systems
THE ROLE OF OS
• Bridge Hardware/Application Gap
• Machine instruction vs high level operation
• compiler bridges gap
• Linear memory vs data structures
• compiler bridges gap
• Limited CPU & memory vs more needed
• OS bridges gap
• Secondary memory devices vs files
• OS bridges gap
• I/O devices vs high level I/O commands 34
• OS bridges gap
HOTS
• OS is an extended machine
• Principle of abstraction hides complexity
• OS provides high level operations using lower level
operations
• OS is a virtual machine
• Principle of virtualization supports sharing
• OS provides virtual CPU, memory, devices
• OS is a resource manager
• Balance overall performance with individual needs
(response time, deadlines)
WHAT IS AN OPERATING SYSTEM?
Operating System
CPU
Hardware memory
I/O devices
• OS:
Everything in system that isn’t an application or hardware
• OS:
Software that converts hardware into a useful form for applications
WHAT IS AN OPERATING SYSTEM?
• Operating System OS
40
THREE VIEWS OF OS
• OS is an extended machine
• Principle of abstraction hides complexity
• OS provides high level operations using lower level
operations
• OS is a virtual machine
• Principle of virtualization supports sharing
• OS provides virtual CPU, memory, devices
• OS is a resource manager
• Balance overall performance with individual needs
(response time, deadlines), i.e. Each program gets time with
the resource, Each program gets space on the resource
41
OPERATING SYSTEM AS RECOURSE MANAGER
• An Operating System is an
• extended machine
• Virtual machine
• a resource manager
46
HISTORY OF OPERATING SYSTEMS
EVOLUTION OF OPERATING SYSTEMS WITH THE
EVOLUTION OF COMPUTER SYSTEMS
48
HISTORY OF COMPUTER
49
EVOLUTION OF OPERATING SYSTEMS
HISTORY of Computers…..
50
FIVE COMPUTER GENERATIONS
Following are the main five generations of computers
1 First Generation
• The period of first generation: 1946-1959.
• Vacuum tube based, plug boards for inputs
2 Second Generation
• The period of second generation: 1959-1965.
• Transistor based batch systems.
3 Third Generation
• The period of third generation: 1965-1971.
• Integrated Circuit (IC) based and multiprogramming
4 Fourth Generation
• The period of fourth generation: 1971-Till Date.
• VLSI microprocessor based Personal computers
5 Fifth Generation
• The period of fifth generation: 1980-onwards. 51
• ULSI microprocessor based having parallel processing hardware and AI (Artificial Intelligence)
software.
FIRST GENERATION OF COMPUTERS
(1946 – 59)
•Vacuum tube (for circuitry) based machines
•Magnetic drums (metal cylinder coated with
magnetic iron-oxide material) for memory
•Input - on plug boards later replaced by
punched cards and paper tapes.
•Output – displayed on printouts.
•Language – binary coded
•ENIAC, EDVAC, EDSAC, UNIVAC etc.
52
OPERATING SYSTEM FOR
1ST GENERATION COMPUTERS
• 1st generation computer's use was restricted to a
few professionals working on mathematical,
scientific, or military applications.
• A typical program written by them would include
every instruction needed by the computer to
perform the tasks requested in machine language,
by wiring up plug boards to control the machine’s
basic function.
• Programming languages were unknown.
• Operating systems were unheard of.
53
SECOND GENERATION OF
COMPUTERS(1959 - 65)
•Transistors were used instead of Vacuum tubes
•Transistor is made up of semiconductor
material like germanium and silicon
•Apart from an enlarged Magnetic Drum there
was a RAM in the form of a Core Store and
Magnetic Tape Storage which greatly
increased the storage capacity.
•Input - on punched cards and paper tapes.
•Output – displayed on printouts.
•Language – Assembly language
•High level languages like COBOL and
FORTRAN also came into existence 54
•PDP-8, IBM 1401, IBM 7090 ($200,000)
OPERATING SYSTEM FOR
2ND GENERATION COMPUTERS
55
HISTORY OF OPERATING SYSTEMS
59
CHARACTERISTICS OF THIRD
GENERATION COMPUTERS
60
OPERATING SYSTEM FOR
3RD GENERATION COMPUTERS
• OS/360
• Features :
• MULTIPROGRAMMING
• SPOOLING ( Simultaneous Peripheral Operations On Line)
• Timesharing
• Handling interrupts
• Allocating memory
• Resolve conflicts when two or more jobs requested the
same device at the same time.
61
OPERATING SYSTEMS
• Multiprogramming system
• three jobs in memory – 3rd generation 62
OPERATING SYSTEMS - 3RD GENERATION
63
FOURTH GENERATION OF
COMPUTERS(EARLY 1970S – TILL DATE)
• Development of Microprocessors
based on ICs
• Consisted circuits containing
millions of transistors
• Had CPU, memory, and input and
output controls on a single chip
• Led to the era of LSI and VLSI and
ULSI (5th Gen)
• Development of GUI, internet,
mouse and hand held devices
• Apple II, Altair 8800 and Cray – I
(Super Computer)
64
OPERATING SYSTEM FOR
4TH GENERATION COMPUTERS
• DOS,WINDOWS
• Features
• Network OS
• Distributed OS
• Virtual memory
• Multiprocessing
65
FIFTH GENERATION OF COMPUTERS(1980S –
TILL DATE)
66
5TH GENERATION (STARTED IN 1980S…)
67
• What advances will have to
be made to allow a fifth
generation computer to be
realised?
FIFTH GENERATION SYSTEMS (1980 ONWARDS…)
• The first time an operating system generation that has not been motivated by advances in
hardware
EVOLUTION OF OPERATING SYSTEMS
70
THE OPERATING SYSTEM ZOO
71
EXAMPLES OF OS’S?