0% found this document useful (0 votes)
9 views38 pages

1 Introduction

Brief explanation on OS

Uploaded by

bsharshith1808
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views38 pages

1 Introduction

Brief explanation on OS

Uploaded by

bsharshith1808
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 38

Operating Systems (CS3500)

Introduction

Chester Rebeiro
IIT Madras

Webpage : https://sites.google.com/cse.iitm.ac.in/os-2025/home
Layers in a Computer System

Applications

Operating Systems

Computer Architecture

VLSI

Transistors

2
Use of Operating Systems

• Hardware Abstraction
turns hardware into something that applications can use

• Resource Management
manage system’s resources (security)

3
A Simple Program
What is the output of the following program?

How is the string displayed on the screen?

4
Displaying on the Screen
“Hello World” “Hello World” +
coordinates, color,
depth, etc

Monitor

Processor

Processor Memory
Graphics Card
• Can be complex and tedious
• Hardware dependent
Without an OS, all programs need to take care of every nitty gritty detail.

5
Operating Systems Provide Abstraction
On a desktop
App

system call
(write to STDOUT)

Operating System Device


driver

• Easy to program apps


– No more nitty gritty details for programmers
• Reusable functionality
– Apps can reuse the OS functionality

6
Operating Systems Provide Abstraction
On an embedded device
App

USB
system call
(write to STDOUT)

Operating System Device


driver Embedded System

• Portable
– OS interfaces are consistent. The app does not change when hardware
changes

7
OS as a Resource Manager
• Multiple apps but limited hardware
Apps

Operating Systems

A few processors
8
OS as Resource Manager
• OS must manage CPU, memory, network, disk
etc…
• Resource management
– allows multiple apps to share resources
– protects apps from each other
– Improves performance by efficient utilization of
resources

9
Sharing the CPU
App1 App2 App3 App4

Who uses the CPU?


App1 App2 App3 App4

time

pre10
Operating Systems Types
• Application Specific
– Embedded OS
• eg. Contiki OS, for extremely memory constraint environments
– Mobile OS
• Android, iOS, Ubuntu Touch, Windows Touch
– RTOS
• QNX, VxWorks, RTLinux
– Secure Environments
• SeLinux, SeL4
– For Servers
• Redhat, Ubuntu, Windows Server
– Desktops
• Mac OS, Windows, Ubuntu, Linux

11
xv6
• Designed for pedagogical reasons
• Unix like (version 6)
– Looks very similar to modern Linux operating systems
– (https://pdos.csail.mit.edu/6.828/2020/xv6.html)
• Hardware : RISC V
– Open source ISA architecture.

12
Course Structure
• Syllabus
– Overview of Operating Systems
– PC Hardware
– Memory Management
– Interrupts
– Context Switching
– Processes
– Scheduling
– Cooperating Processes
– Synchronization
– File Systems
– Security

13
Textbooks / References
• ''xv6: a simple, Unix-like teaching operating system", Revision 8, by Russ Cox,
Frans Kaashoek, Robert Morris
• ''Operating System Concepts'', 8th edition, by Adraham Silberschatz, Pert B.
Galvin, and Greg Gagne, Wiley-India edition
• "Operating Systems: Three Easy Pieces", Remzi H. Arpaci-Dusseau and Andrea
C. Arpaci-Dusseau (University of Wisconsin-Madison)
https://pages.cs.wisc.edu/~remzi/OSTEP/
• The xv6 source code

14
Logistics

15
Slides / Videos / Schedule
• Slides and Schedule will be put up on course webpage:
– https://sites.google.com/cse.iitm.ac.in/os-2025/home

• Assignments will need to be submitted in Moodle

16
Grading
• Q1: 10%
• Q2: 10%
• End Sem: 40% (entire syllabus)
• Lab: 40%

17
Attendance
• Attendance as per institute norms.

18
Operating Systems

(How did it all start?)

19
OS Evolution

• Evolution driven by Hardware improvements


+ User needs
– eg. low power requirements, Increased /
reduced security, lower latency
– Evolution by
• New/better abstractions
• New/better resource management
• New/better low level implementations

20
Gen 1: Vacuum Tubes
• Hardware
– Vacuum tubes and IO with punchcards
– Expensive and slow
• User Apps
– Generally straightforward numeric computations done in machine
language

IBM Punch card

ENIAC 21
Gen 1 : OS
• OS: Unheard of
• Human feeds program and prints output

George Ryckman, on IBM’s first computer

The cost of wastage was $146,000 per month (in 1954 US Dollars)

22
Gen 2 : Mainframes
• Hardware
– transistors
• User Programs
– Assembly or Fortran entered using punch
cards
• OS : Batch systems
– Possibly greatest invention in OS
• Computers may be able to schedule their own
workload by means of software

23
Batch Systems

• Operator collects jobs (through punch cards) and feeds it into a magnetic
tape drive
• Special Program reads a job from input tape drive and on completion writes
result to output tape drive
• The next program is then read and executed
• Printing was done offline

24
Batch Systems (pros.)
• Pros
– Better utilization of machine

25
Batch Systems (cons.)
• In Batch Systems execute time includes reading
from input and writing to output.
• I/O considerably slower than execution
– Magnetic tapes were best read sequentially
• Therefore programmer must wait for long time

Input Output
Magnetic CPU Magnetic
Tape Tape

26
Gen 3 : Mini computers
• Hardware
– SSI/MSI/LSI ICs
– Random access memories
– Interrupts (used to simulate concurrent execution)
• User Programs
– High level languages (Fotran, COBOL, C, …)
• Operating Systems
– Multiprogramming
– Spooling

27
Multiprogramming
• Multiple jobs in memory
– When one waits for I/O the next job executes
• OS controls
– scheduling of jobs
– Protection between jobs
OS
Job 1 Memory
Job 2 partitions
Job 3

Multiprogramming with
3 jobs in memory

28
Spooling
• Uses buffers to continuously stream inputs and outputs
to the system

Disk

Input Output
Magnetic Magnetic
Tape CPU Tape

• Pros : better utilization / throughput


• Cons : still not interactive

29
Timesharing

Who uses the CPU?


Terminal 1 Terminal 2 Terminal 3 Terminal 4

time
30
Timesharing
John McCarthy, 1962

31
Multics, 1964
• Multiplexed Information and Computing Service
• Ambitious project started in MIT
• Introduced several new OS features but was not
successful by itself
– Segmented and Virtual memory
– High level language support
– Multi language support
– Security
– File system hierarchies
– Relational databases
– Shared memory multiprocessor

32
Gen 4 : Personal Computers
• Hardware
– VLSI ICs
• User Programs
– High level languages
• Operating Systems
– Multi tasking
– More complex memory management and scheduling
– Synchronization
– Examples : Windows, Linux, etc

33
Unix
• Dennis Ritchie and Ken Thomson tried to find an
alternative for Multics
• Appeared at the right time
Slater, 1987

34
Unix adopted
• Spread and soon became widely adopted
Aho, 1984

• Wide spread adoption arguably a


hindrance to research?

35
Smartphones & Tablets
• Hardware
– VLSI ICs, low power requirements & high compute
power
• Operating Systems
– User friendly
– Power awareness
– Always connected
– Offload to cloud
– Better protection, Virtual machines
– Examples : Android, iOS

36
OS Buzzwords
• Buzzwords that have been around
Fairness
Security/
Utilization
Reliability

Isolation

• Contemporary buzzwords
multi core
support
application
energy / size
specific OS

virtualization

37
OS Research Trends
Small
(footprint,
Minimum energy
requirements)

Security, Reliability Features


(fewer errors, (better device support,
Formally verified, Multi core support)
fault tolerant,
isolation)

38

You might also like