operating systems 101
TRANSCRIPT
![Page 1: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/1.jpg)
Operating Systems Introduction
Chester Rebeiro
IIT Madras
Webpage : http://www.cse.iitm.ac.in/~chester/courses/15o_os/index.html
![Page 2: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/2.jpg)
The Layers in Systems
2
VLSI
Computer Organization
Transistors
Operating Systems
Applications
![Page 3: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/3.jpg)
3
OS usage
• Hardware Abstraction
turns hardware into something that applications can use
• Resource Management
manage system’s resources
![Page 4: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/4.jpg)
4
A Simple Program
What is the output of the following program?
How is the string displayed on the screen?
![Page 5: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/5.jpg)
5
Displaying on the Screen
• Can be complex and tedious• Hardware dependent
Without an OS, all programs need to take care of every nitty gritty detail
Processor Memory
Processor
Graphics Card
Monitor
“Hello World” “Hello World” + coordinates, color,depth, etc
![Page 6: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/6.jpg)
6
Operating Systems Provide Abstraction
• Easy to program apps – No more nitty gritty details for programmers
• Reusable functionality– Apps can reuse the OS functionality
• Portable– OS interfaces are consistent. The app does not change when hardware changes
App
Operating System
system call(write to STDOUT)
Devicedriver
![Page 7: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/7.jpg)
7
OS as a Resource Manager
• Multiple apps but limited hardware
Operating Systems
App
s
A few processors
![Page 8: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/8.jpg)
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
![Page 9: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/9.jpg)
pre9
Sharing the CPU
App1 App2 App3 App4
App1 App2 App3 App4
time
Who uses the CPU?
![Page 10: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/10.jpg)
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
10
![Page 11: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/11.jpg)
JOS and xv6
• Designed for pedagogical reasons
• Unix like (version 6) – Looks very similar to modern Linux operating
systems
• Theory classes : xv6– Well documented, easy to understand
• Lab : JOS– Build your own operating system from the
skeleton
11
![Page 12: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/12.jpg)
Course Structure
• Syllabus– Overview of Operating Systems
– PC Hardware
– Memory Management
– Interrupts
– Context Switching
– Processes
– Scheduling
– Cooperating Processes
– Synchronization
– File Systems
– Security
12
![Page 13: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/13.jpg)
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
• The xv6 source code booklet (revision 8)
13
http://www.cse.iitm.ac.in/~chester/courses/15o_os/index.html
![Page 14: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/14.jpg)
Logistics
• Theory Classes (CS24, Slot F)– Wednesdays : 11:00 - 11:50 AM
– Thursdays : 9:00 - 9:50 AM
– Fridays : 8:00 - 8:50 AM
• Lab (System’s Lab, Slot P)– Monday’s : 2:00 – 5:00 PMs
14
![Page 15: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/15.jpg)
Exams
• Quiz 1 : 25%
• Quiz 2 : 25%
• Final : 50%
15
![Page 16: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/16.jpg)
16
Operating Systems
(How did it all start?)
![Page 17: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/17.jpg)
17
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
![Page 18: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/18.jpg)
18
Gen 1: Vacuum Tubes
• Hardware– Vacuum tubes and IO with punchcards– Expensive and slow
• User Apps– Generally straightforward numeric computations done in machine
language
ENIAC
IBM Punch card
![Page 19: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/19.jpg)
19
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)
![Page 20: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/20.jpg)
20
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
![Page 21: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/21.jpg)
21
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
![Page 22: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/22.jpg)
22
Batch Systems (pros.)
• Pros– Better utilization of machine
![Page 23: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/23.jpg)
23
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
CPUInput
MagneticTape
OutputMagnetic
Tape
![Page 24: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/24.jpg)
24
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
![Page 25: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/25.jpg)
25
Multiprogramming
• Multiple jobs in memory– When one waits for I/O the next job executes
• OS controls – scheduling of jobs
– Protection between jobs
OSJob 1Job 2Job 3
Multiprogramming with3 jobs in memory
Memorypartitions
![Page 26: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/26.jpg)
26
Spooling
• Uses buffers to continuously stream inputs and outputs to the system
• Pros : better utilization / throughput
• Cons : still not interactive
Disk
CPU
InputMagnetic
Tape
OutputMagnetic
Tape
![Page 27: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/27.jpg)
Timesharing
27
Terminal 1 Terminal 2 Terminal 3 Terminal 4
time
Who uses the CPU?
![Page 28: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/28.jpg)
Timesharing
28
John McCarthy, 1962
![Page 29: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/29.jpg)
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
29
![Page 30: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/30.jpg)
30
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
![Page 31: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/31.jpg)
Unix
• Dennis Ritchie and Ken Thomson tried to find an alternative for Multics
• Appeared at the right time
31
Slater, 1987
![Page 32: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/32.jpg)
Unix adopted
• Spread and soon became widely adopted
• Wide spread adoption arguably a hindrance to research?
32
Aho, 1984
![Page 33: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/33.jpg)
33
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
![Page 34: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/34.jpg)
OS Buzzwords
• Buzzwords that have been around
• Contemporary buzzwords
34
Security/Reliability
Isolation
Utilization
Fairness
energy / size
virtualization
application specific OS
multi coresupport
![Page 35: Operating Systems 101](https://reader036.vdocument.in/reader036/viewer/2022071613/6157d40ace5a9d02d46f8a3f/html5/thumbnails/35.jpg)
35
OS Research Trends
FeaturesFeatures(better device support,Multi core support)
Security, ReliabilitySecurity, Reliability (fewer errors,
Formally verified, fault tolerant)
Small Small (footprint, Minimum energy requirements)