Operating Systems (An Introduction) : Chester Rebeiro IIT Madras
Operating Systems (An Introduction) : Chester Rebeiro IIT Madras
(An Introduction)
Chester Rebeiro
IIT Madras
The Layers in Systems
Applications
Operating Systems
Computer Organization
VLSI
Transistors
2
OS usage
• Hardware Abstraction
turns hardware into something that applications can use
• Resource Management
manage system’s resources
3
A Simple Program
What is the output of the following program?
4
Displaying on the Screen
“Hello World” +
coordinates, color,
depth, etc
Monitor
ld”
or
W
e llo Processor
“H
Main Memory
(RAM) Graphics Card
Without an OS, all programs need to take care of every nitty gritty detail
5
Operating Systems
provide Abstraction
App
system call
(write to STDOUT)
6
OS as a Resource Manager
• Multiple apps but limited hardware
Apps
Operating Systems
7
OS as Resource Manager
• OS must manage CPU, memory, network, secondary
storage (hard disk), etc…
• Resource management
– allows multiple apps to share resources
– protects apps from each other
– Improves performance by efficient utilization of resources
8
Sharing the CPU
App1 App2 App3 App4
time
pre9
Sharing Memory
App1 App2 App3 App4
Main Memory
10
Share but Isolate
11
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
12
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
https://pdos.csail.mit.edu/6.828/2012/xv6.html 13