200 likes | 460 Views
Operating Systems CMPSC 473. Introduction and Overview August 24, 2010 - Lecture 1 Instructor: Bhuvan Urgaonkar. About me. Bhuvan Urgaonkar Research areas OS, distributed systems, storage, performance evaluation Office hours: TR 11am-1pm, or by appointment Office: 338D, IST Building
E N D
Operating SystemsCMPSC 473 Introduction and Overview August 24, 2010 - Lecture 1 Instructor: Bhuvan Urgaonkar
About me • Bhuvan Urgaonkar • Research areas • OS, distributed systems, storage, performance evaluation • Office hours: TR 11am-1pm, or by appointment • Office: 338D, IST Building • E-mail: bhuvan @ cse . psu . edu Welcome!
Other teaching staff • Teaching Assistant: OhYoung Jang • Office address/hours: TBD • E-mail: TBD
Online resources andtext-book • Course Web page: • http://www.cse.psu.edu/~bhuvan/teaching/fall10/473.html • All material will be available via ANGEL • Please seek help from the TA if needed • Text-book • Operating Systems Concepts, 8th ed., Silberschatz, Galvin, and Gagne
Seeking help via e-mail • ANGEL’s course mailing list • Use with care • You are welcome to e-mail us any questions, complains, suggestions, etc. • Make sure to include “CMPSC 473” in the subject • If we don’t respond soon enough, send a reminder or talk to me after class
Grading • Projects (4): 15+15+15+15 = 60% • Exams (2): 15+25 = 40% • Final grade may involve some “curving.” • Last year: 90+: A, 85+: A-, 80+: B+, 75+: B, … • Will know more as the course progresses • Occasional in-class quizzes • Will not be part of your grade • Useful in preparing for exams and keeping up with covered material
Projects • Projects will be done individually • Grades based on demos in front of TA • Late policy: • Loss @ 20% per extra day for projects • Inform TA well in advance if there is a real reason for a delay in project submission • Same for conflict exams
Computing resources • Linux/Solaris accounts for projects • E-mail me or the TA if you don’t have an account or have any doubts/problems
Academic honesty • Do all projects on your own • Please do not copy, lift code off the Web, etc. • Please do not use rentacoder.com et al. • We will use software to compare project source codes • You are expected to know everything about each project
Assumed background • First course on algorithms and data structures • Comfortable programming in C/C++ • Comfortable with a de-bugger like gdb • Preliminary understanding of computer architecture • We will cover some basics in this course • Talk to me if you have doubts
Before we begin … • Some advice • Speak up in class, ask questions • Attend all classes • Hint: Ideas concerning projects and exams • Do all projects on your own! • Make good use of office hours • Bring print-outs of lectures to class and take notes on them • Print multiple slides on one paper • Read text-book soon after class • Sections to read will be made available on the Web site alongside lecture notes • Even better: read before class and come prepared with questions
Operating System Definition Definition using functionality OS is a resource allocator Divides up resources among programs Decides between conflicting requests for efficient and fair resource use OS is a control program Controls execution of programs to prevent errors and improper use of the computer OS virtualizes resources
OS Virtualizes Resources • Resources • CPU • Memory • I/O devices • Virtual resources • Process (Address space) • Virtual memory • File
Key Interfaces • ISA, API, ABI, System calls
Dual CPU Mode Dual-mode operation allows OS to protect itself and other system components User mode and kernel mode Mode bit provided by hardware Provides ability to distinguish when system is running user code or kernel code Some instructions designated as privileged, only executable in kernel mode
Protected Instructions • Privileged instructions & registers: • Direct access to I/O • Modify page table pointers, TLB • Enable & disable interrupts • Halt the machine, etc.
Kernel/User Mode • A modern CPU has at least two modes • Indicated by status bit in protected CPU register • OS runs in privileged mode • Also called kernel or supervisor mode • Applications run in normal mode • Events that need the OS to run switch the processor to privileged mode • E.g., division by zero • OS can switch the processor to user mode • One OS definition: Software than runs in privileged mode • True for many OSes • OS designs with code in user mode also exist • Pro: More reliable, Con: Performance degradation due to more user/kernel switches (later)