0% found this document useful (0 votes)
18 views

Lecture 1 - Introduction To OS 2022 Till History of OS

This document provides an overview of an operating systems course. It outlines the course content which includes topics like concurrent processes, memory management, deadlocks, file systems, and disk scheduling. It lists recommended textbooks and course outcomes. The document explains that after taking this course, students will understand operating system concepts like process scheduling, synchronization, resource allocation, and how to analyze and implement related algorithms. It also discusses why operating systems are needed by describing the basic components of a computer system and how an OS manages shared hardware resources and acts as an interface between applications and computer hardware.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views

Lecture 1 - Introduction To OS 2022 Till History of OS

This document provides an overview of an operating systems course. It outlines the course content which includes topics like concurrent processes, memory management, deadlocks, file systems, and disk scheduling. It lists recommended textbooks and course outcomes. The document explains that after taking this course, students will understand operating system concepts like process scheduling, synchronization, resource allocation, and how to analyze and implement related algorithms. It also discusses why operating systems are needed by describing the basic components of a computer system and how an OS manages shared hardware resources and acts as an interface between applications and computer hardware.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 74

OPERATING SYSTEM

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:

• Operating system concepts : Silberschatz, Addison Wesley Longman


• Modern Operating Systems : Tanenbaum, PH(I)
• Operating systems : H.M.Deitel, Addison Wesley Longman
• Operating systems : Madnick and Donovan, McGraw-Hill I.E.
COURSE OUTCOMES
After Successful Completion of this Course, students shall be
able to:
• To learn different types of operating systems along with
concept of file management systems and CPU scheduling
algorithms used in operating system.
• Students will have knowledge of memory management, I/o
Devices management, process scheduling, process
synchronization and deadlock handling algorithms.
• Students will be able to analyze and implement various
algorithms used for management, scheduling, allocation
and communication in operating system.
• Analyze the structure of OS and basic architectural
components involved in OS design.
WHY STUDY OPERATING SYSTEMS?
• Understand system performance
• Behavior of OS impacts entire machine
• Challenge to understand large, complex system
• Tune workload performance
• Apply knowledge across many areas
• Computer architecture, programming languages, data
structures and algorithms, and performance modeling
• Build, modify, or administer an operating system
Introduction to Operating Systems

INTRODUCTION AND OVERVIEW


QUESTIONS ANSWERED IN THIS LECTURE:
Why Operating System is needed?
WHY OPERATING SYSTEM IS NEEDED?
COMPUTER SYSTEM IS A COMPLEX
SYSTEM
A Computer System consists of:
• Hardware and
• Software
• System programs and
• Application programs.
OPERATING SYSTEM AND HARDWARE

• An operating system is intimately tied to the


hardware of the computer it runs on.
• It extends the computer’s instruction set and
manages its resources.
• To work it must know a great deal about the
hardware, at least, about how the hardware
appears to the programmer.
COMPUTER SYSTEM COMPONENTS

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

4. Users (people, machines, other computers).


APPLICATION SOFTWARE SOFTWARE
OPERATING SYSTEM:
SYSTEM SOFTWARE
• SCHEDULED COMPUTER EVENTS
• ALLOCATES COMPUTER
RESOURCES MONITORS EVENTS

HARDWARE LANGUAGE TRANSLATORS:


• INTERPRETERS
• COMPILERS

UTILITY PROGRAMS:
• ROUTINE OPERATIONS MANAGE
DATA

READY MADE PROGRAMS : Ms- Office, Corel Draw ,


Photoshop, Web Browser, etc.
CUSTOM MADE PROGRAMS : Bank software, Ticket
generator, Result generator, Payslips generator,etc.

USING PROGRAMMING LANGUAGES:


ASSEMBLY LANGUAGE; FORTRAN; COBOL; PL / 1;
QBASIC; C; C++; FOURTH GENERATION
LANGUAGES
COMPUTER HARDWARE
COMPUTER HARDWARE REVIEW

Monitor

Bus

• Components of a simple personal computer


PROCESSORS - CPU

• “Brain” of the computer


• Components of a CPU :
• – Control unit (CU)
• – Arithmetic Logic Unit (ALU)
• – Registers
• Basic cycle of every CPU :
• Fetch instructions from memory – decode – execute
COMPUTER HARDWARE REVIEW (2)

• (a) A three-stage pipeline


• (b) A superscalar CPU
CPU REGISTERS – TYPE OF MEMORY
• All CPUs contain some registers inside to hold key variables
and temporary results.
• Why?
- Because accessing memory to get an instruction or data
word takes much longer than executing an instruction
- The instruction set generally contains instructions to load a
word from memory into a register, and store a word from a
register into memory.
- Other instructions combine two operands from registers,
memory, or both into a result, such as adding two words
and storing the result in a register or in memory.
CPU REGISTERS

• General registers - hold variables and temporary


results
• Special registers
• Program counter - contains the memory address of the
next instruction to be fetched
• Stack pointer - points to the top of the current stack in
memory
• Program status word (PSW) - contains the condition code
bits
MEMORY

• Ideally memory should be : -


• Extremely fast
• Large
• Cheap

No current technology satisfies all of these goals


COMPUTER HARDWARE REVIEW

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

• Typical Memory Hierarchy


intermediate area in
primary storage, slow,
large capacity,
nonvolatile
CPU REGISTERS

• Speed – as fast as the CPU (no delay in accessing them)


• Capacity
• 32 x 32 bits on a 32-bit CPU
• 64 x 64 bits on a 64-bit CPU Less than 1 KB
• Cache Memory: type of fast, relatively small memory that is stored on computer
hardware.
• Commonly shortened to cache, it is classed as random access memory which computer
microprocessors can access more quickly than regular RAM.
• Also frequently called CPU memory, it is typically directly integrated with the CPU chip, or is
placed on a separate chip that can connect to the CPU via a separate bus interconnect.
• Main Memory: Random Access Memory (RAM)
• All CPU requests that cannot be satisfied out of the cache go to main memory.
• Capacity – currently have a gigabyte-level capacity and a very fast speed
• Secondary Storage:
• Non-volatile
• Large capacity
• Much cheaper than primary storage
• Slower than primary storage
• Example : hardisk
COMPUTER HARDWARE REVIEW (4)

• Structure of a disk drive


INPUT / OUTPUT DEVICES

• 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

• Because each type of controller is different,


different software is needed to control each one.
• The software that talks to a controller, giving it
commands and accepting responses, is called a
device driver.
• Each controller manufacturer has to supply a
driver for each operating system it supports.
SOFTWARE

• 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.

Gap between Hardware and User

Objective: Need of Program(s) that can keep


track of all these hardware components and
help user use them correctly and efficiently.

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

• Please think about what an OS does


• What feature would you like in an Operating
System?
WHAT IS AN OPERATING SYSTEM?

A program that controls the execution of


application programs
 An interface between applications and hardware
 Makes the computer more convenient to use
GOALS OF OPERATING SYSTEM?

• Operating system goals:


• Make the computer system convenient
to use. i.e., Use the computer hardware
in an efficient manner.
• Execute user programs and make solving
user problems easier.
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)
WHAT IS AN OPERATING SYSTEM?

Not easy to define precisely…


Users
compilers
Applications databases
word processors

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

• A program / Software Program that acts as


an intermediary between a user of a
computer and the computer hardware.

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

Manages the resources of a computer and


controls the way they are used
 Allows resources to be used in an efficient manner
Two key aspects of the OPERATING SYSTEM
as Resource Manager
• Resource Abstraction
• System Software hides the details of how the
underlying machinery operates
• Abstractions are used to eliminate tedious details that
a programmer otherwise would have to handle.
• Sharing
• Allows the processes to use common resources
through their own coordination strategy
WHAT IS THE ROLE OF THE OS AS RESOURCE
MANAGER?

• Role #1: Provide standard Library (i.e.,


abstract resources)
• What is a resource?
• Anything valuable (e.g., CPU, memory, disk, printer)

• Advantages of standard library


• Allow applications to reuse common facilities
• Make different devices look the same
• Provide higher-level abstractions
WHAT IS THE ROLE OF THE OS?

• Role #2: Resource coordinator (i.e., manager)

• Advantages of resource coordinator


• Virtualize resources so multiple users or
applications can share
• Protect applications from one another
• Provide efficient and fair access to resources
SUMMARY

• 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

• 2nd Generation computers were developed to meet the


needs of a market -- BUSINESSES
• To run a job, a programmer would first write it on the
paper, then punch it on cards. Take the card deck to the
input room and hand it to the operator.

55
HISTORY OF OPERATING SYSTEMS

Early batch system


• bring cards to 1401
• read cards to tape
• put tape on 7094 which does computing
• put tape on 1401 which prints output
56
BATCH PROCESSING
• Goal of OS: Better throughput and utilization
• Batch: Group of jobs submitted together
• A Job is predefined sequence of commands, programs, data
• Operator collects jobs; orders efficiently; runs one at a time
• Advantages
• Non Interactive Systems
• Amortize setup costs over many jobs
• Operator more skilled at loading tapes
• Keep machine busy while programmer thinks
• Improves throughput and utilization
• Problems
• User must wait until batch is done for results
• Machine idle when job is reading from cards and writing to printers
OPERATING SYSTEM FOR
2ND GENERATION COMPUTERS
• 2nd generation computers were used mostly for
scientific and engineering calculations, such as the
partial differential equations that often occur in
physics and engineering.
• Programming languages used – FORTRAN and
Assembly
• Typical Operating system – FMS, IBSYS , IBM’s OS
for 7094
• Features- Program scheduling
58
THIRD GENERATION OF COMPUTERS(1965 –
EARLY 1970S)

• Development of Integrated Circuits (IC)


• ICs consists of a single chip usually silicon,
with many components such as transistors
and resistors fabricated on it
• Input through keyboards and monitors
• Interface with an operating system
• Allowed the device to run many applications
at one time.
• Available for mass audience
• All the machines had the same architecture
and the instruction set.
• E.g System/360

59
CHARACTERISTICS OF THIRD
GENERATION COMPUTERS

• Smaller as compared to 1st and 2nd


generation computers
• Computational time – in nano seconds
• More reliable and rare hardware failures.
• Easily portable.
• Extensive use of high level languages.
• Manual assembly of individual Texas Instruments' first IC
components was not required.
• Cheaper and very low maintenance cost

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

• Compatible Time Sharing Systems,


• MULTipleXed Information and Computing
Service
• UNIX
• MINIX
• LINUX

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)

• ULSI (Ultra Large Scale Integration) technology.


• Microprocessor chips having ten million
electronic components.
• Parallel processing hardware and AI (Artificial
Intelligence) software
• Development of Natural language processing
• Advancement in Parallel Processing
• Advancement in Superconductor technology
• More user-friendly interfaces with multimedia
features
• Availability of very powerful and compact
computers at cheaper rates

66
5TH GENERATION (STARTED IN 1980S…)

• Fifth Generation (Sometime in the future)


• Computer generations were influenced by new hardware (vacuum tubes, transistors,
integrated circuits and LSI).
• Fifth generation may break with that tradition
• One view is that a fifth generation computer will interact with humans in a way that is
natural to us
• Computers will be able to reason in a way that imitates humans
• Being able to accept (and understand!) the spoken word and carry out reasoning is
complex, requiring advances in software and maybe hardware

67
• What advances will have to
be made to allow a fifth
generation computer to be
realised?
FIFTH GENERATION SYSTEMS (1980 ONWARDS…)

• Advances will be needed in AI including NLP

• Maybe need parallel processing

• Maybe a non-silicon Quantum computer

• The first time an operating system generation that has not been motivated by advances in
hardware
EVOLUTION OF OPERATING SYSTEMS

• Early Systems (1950)


• Simple Batch Systems (1960)
• Multiprogrammed Batch Systems (1970)
• Time-Sharing (1970)
• Personal/Desktop Systems (1980)
• Multiprocessor Systems (1980)
• Networked/Distributed Systems (1980)
• Real-Time (1970) and Handheld (1990)

70
THE OPERATING SYSTEM ZOO

• Mainframe operating systems


• Server operating systems
• Multiprocessor operating systems
• Personal computer operating systems
• Real-time operating systems
• Embedded operating systems
• Smart card operating systems

71
EXAMPLES OF OS’S?

BASED ON WHERE OS’S ARE USED


WHERE ARE OS’S USED?

In more and more places!


Desktop and Server Computers
 DOS + Windows 95/98/ME
 Windows NT/2000/XP
 Free Unix variants: Linux, FreeBSD, NetBSD, etc.
 Commercial Unix variants: Solaris, HP-UX, AIX, etc.
 MacOS
Some Game Consoles
 Xbox: Cut-down Windows 2000
WHERE ARE OS’S USED?

 Personal Digital Assistants (PDAs)


 PalmOS
 Windows CE - Windows Mobile
 Embedded Linux
 Mobile Phones
 Symbian OS
 Android OS
 Windows Mobile
 Cars (fancy ones) and other smart devices

You might also like