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 • Amiga. OS • MS Windows (8, 7, Vista, XP, w 2 k 8, w 2 k 3) – 90% • Mobile Devices – i. OS, 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)
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 • •