Operating Systems Sameer Mahajan
Overview Process management Interrupts Memory management File system Device drivers Networking (TCP/IP, UDP) Security (Process/Memory protection) I/O
History 1940’s First Generation – no OS 1950’s Second Generation – single stream batch 1960’s Third Generation – multiprogramming batch Fourth Generation – microprocessor
Types Realtime Single user vs. Multi user Multi-tasking vs. Single-tasking Distributed Embedded
Examples UNIX – 1% Mac OS (Lion, Snow Leaopard, Leopard, X Server) – 6% Google chrome AmigaOS MS Windows (8, 7, Vista, XP, w2k8, w2k3) – 90% Mobile Devices – iOS, Android, Windows Phone 7, Symbian
Components Kernel Program Execution (Process) Interrupts Modes Memory Management – virtual vs physical Multitasking – scheduling File systems – VFS Device drivers Networking Security User interface (GUI, CLI)
Kernel
File system Boot block Super block Inode Table Data blocks User File Descriptor (FD) table File Table ls, df, mount (UNIX); Explorer (windows)
File system
Process Unit of execution User and kernel mode Context: stack, registers, PC thread Virtual memory – physical memory ps (UNIX); Process Explorer (Windows)
Process Management
Scheduling Algorithms FCFS Scheduling Round Robin Scheduling Priority Scheduling Multilevel Queue Scheduling Multilevel Feedback Queue Scheduling SJF Scheduling SRT Scheduling
IO subsystem Open, close, read, write Character device – ioctl Block device – strategy Major, minor device number Stream – full duplex connection Buffer cache Memory mapped IO
Inter process communication Messages (msg*) Shared memory (shm*) Semaphores (sem*) Sockets Pipes
Windows 8 features Metro User Interface Internet Explorer 10 Apps and App Store New Hardware and Form Factors – multitude of devices (touch is primary interface) Security Changes Storage Changes (de-dupe, live disk repair) Virtualization Changes
Hardware Virtualization