SE350: Operating Systems
Lecture 1: Introduction
SE350: Operating Systems Lecture 1: Introduction Outline How do - - PowerPoint PPT Presentation
SE350: Operating Systems Lecture 1: Introduction Outline How do things work in SE350? Instructional team Course mechanics Lab project What is an operating system? What makes designing operating systems challenging?
Lecture 1: Introduction
Instructor: Seyed Majid Zahedi zahedi@uwaterloo.ca Office hours: M 2-3 and F 3:30-4:30 (DC-2524) Lab instructor: Irene Huang yqhuang@uwaterloo.ca Office hours: TBA
Ali Hossein Abbasi Abyaneh a36hosse@uwaterloo.ca Huanyi Chen h365chen@uwaterloo.ca Weitian Xing w23xing@uwaterloo.ca
https://ece.uwaterloo.ca/~smzahedi/crs/se350/
https://piazza.com/uwaterloo.ca/winter2020/se350
Operating Systems: Principles and Practice (2nd Edition)
Operating Systems: Three Easy Pieces (Freely Available) Operating System Concepts (10th Edition)
in even weeks (T, W, and Th)
* Simulator may not perfectly match hardware behaviour, so test your code on hardware well before deadlines!
th
Hardware OS App1 App3 App2
specific algorithms and techniques
System Call Interface Portable Operating System Kernel Portable OS Library Web Servers Compilers Source Code Control Web Browsers Email Databases Word Processing x86 ARM PowerPC 10Mbps/100Mbps/1Gbps Ethernet 802.11 a/b/g/n SCSI IDE Graphics Accelerators LCD Screens
Op Oper erating Syst ystem ems s are e at the e hea eart of
End End of f De Denna nnard Sc Scal aling ng
[R [R. . De Denna nnard et al. 1974] 1974]
[Moore’s Law 1965] 1965] Ho How do we progr gram am the these?
Parallelism must be exploited at all levels
Da Dark Si Silicon n [Es
Esma maeilza zadeh et al. 2011] 2011]
Multiprocessor melts if all cores simultaneously run at full capacity
Intel Haswell E
www.extremetech.com
Reg. L1 cache SRAM L2 cache SRAM L3 cache SRAM Main memory DRAM Local secondary storage Remote secondary storage (e.g., distributed file systems)
Smaller Faster Costlier (per byte) Larger Slower Cheaper (per byte)
Key stroke ~100 ms
twiki.cern.ch
years Computers Per Person 103:01 01:106
Laptop PDA Mainframe Mini Workstation PC Cell
01:01 01:103
Bell’s Law: new computer class per 10 years
Number crunching, Data Storage, Massive Inet Services, ML, … Productivity, Interactive Streaming from/to physical world
Internet of Things!
time, not computer time
combinations of components and devices
Lines of Code in Linux Kernel Kernel Versions
05M 10M 15M 20M
users and applications
into something that application programmers want
asking two questions:
(physical reality)
(virtual machine)
TCP/IP Networking Virtual Memory Hardware-Specific Software and Device Drivers File System Scheduling Graphics Processor Address Translation Processors Network
Hardware Users User-mode Kernel-mode
Kernel-user Interface (Abstract virtual machine) Hardware Abstraction Layer APP System Library APP System Library APP System Library Disk
Virtual box, Parallels Desktop, Xen)
memory, reliable storage, reliable network transport
hardware
recovery
computer science and engineering
globaldigitalcitizen.org