270 likes | 449 Views
Principles of Operating Systems. Introduction and Overview Prof. Dan Connors. OS Staff. Instructor: Prof. Dan Connors Office: MW 12-2 CS Building 320 Email: dconnors@cs.du.edu Teaching Assistants: TA Bryan Corell Email: bcorell@du.edu . Course logistics and details.
E N D
Principles of Operating Systems Introduction and Overview Prof. Dan Connors Principles of Operating Systems - Lecture 1
OS Staff Instructor: Prof. Dan Connors Office: MW 12-2 CS Building 320 Email: dconnors@cs.du.edu Teaching Assistants: TA Bryan Corell Email: bcorell@du.edu Principles of Operating Systems - Lecture 1
Course logistics and details • Course Web page - • http://web.cs.du.edu/~dconnors/courses/comp3361 • Lectures - MW 2:00-3:50 • Textbook: Operating System Concepts -- 8th Edition Silberschatz and Galvin, Addison-Wesley Inc. • Alternate Book • Principles of Operating Systems, L.F. Bic and A.C. Shaw, Prentice-Hall/Pearson Education, 2003. ISBN 0130266116. Principles of Operating Systems - Lecture 1
Course logistics and details • Homework and Assignments • ~5 written homework assignments in the quarter, and 5 programming assignments (some knowledge of C). Late homework will not be accepted. • Tests • Midterm - date to be announced, tentatively Week 5 in class • 2:00 pm - 3:50 pm Friday John Greene Hall 316 Mar 12, 2010 - Mar 12, 2010 Principles of Operating Systems - Lecture 1
Grading Policy • Homework - 35% • Midterm - 30% of the final grade • Final exam - 35% of the final grade • Final assignment of grades will be based on a curve. Principles of Operating Systems - Lecture 1
Lecture Schedule • Week 1: • Introduction to Operating Systems, Computer System Structures, Operating System Structures • Week 2 : Process Management • Processes and Threads, CPU Scheduling • Week 3: Process Management • Process Synchronization • Week 4: Process Management • Process Synchronization • Week 5: Storage Management • Deadlocks Principles of Operating Systems - Lecture 1
Course Schedule • Week 6 - Storage Management • Midterm exam, Memory Management • Week 7 - Storage Management • Memory Mangement, Virtual Memory • Week 8 - I/O Systems • Virtual Memory, Filesystem Interface, • Week 9 - Other topics • FileSystems Implementation, I/O subsystems • Week 10 - Other topics • Case study – UNIX, WindowsNT, course revision and summary. Principles of Operating Systems - Lecture 1
Introduction • What is an operating system? • Early Operating Systems • Simple Batch Systems • Multiprogrammed Batch Systems • Time-sharing Systems • Personal Computer Systems • Parallel and Distributed Systems • Real-time Systems Principles of Operating Systems - Lecture 1
What is an Operating System? • An OS is a program that acts an intermediary between the user of a computer and computer hardware. • Major cost of general purpose computing is software. • OS simplifies and manages the complexity of running application programs efficiently. Principles of Operating Systems - Lecture 1
Goals of an Operating System • Simplify the execution of user programs and make solving user problems easier. • Use computer hardware efficiently. • Allow sharing of hardware and software resources. • Make application software portable and versatile. • Provide isolation, security and protection among user programs. • Improve overall system reliability • error confinement, fault tolerance, reconfiguration. Principles of Operating Systems - Lecture 1
Why should I study Operating Systems? • Need to understand interaction between the hardware and applications • New applications, new hardware.. • Need to understand basic principles in the design of computer systems • efficient resource management, security, flexibility • Increasing need for specialized operating systems • e.g. embedded operating systems for devices - cell phones, sensors and controllers • real-time operating systems - aircraft control, multimedia services Principles of Operating Systems - Lecture 1
Abstract View of System User 1 User 2 User 3 User n ... System and Application Programs compiler assembler Database system Text editor Operating System Computer Hardware Principles of Operating Systems - Lecture 1
Multiprogramming • Use interrupts to run multiple programs simultaneously • When a program performs I/O, instead of polling, execute another program till interrupt is received. • Requires secure memory, I/O for each program. • Requires intervention if program loops indefinitely. • Requires CPU scheduling to choose the next job to run. Principles of Operating Systems - Lecture 1
Timesharing • Programs queued for execution in FIFO order. • Like multiprogramming, but timer device interrupts after a quantum (timeslice). • Interrupted program is returned to end of FIFO • Next program is taken from head of FIFO • Control card interpreter replaced by command language interpreter. Principles of Operating Systems - Lecture 1
Timesharing (cont.) • Interactive (action/response) • when OS finishes execution of one command, it seeks the next control statement from user. • File systems • online filesystem is required for users to access data and code. • Virtual memory • Job is swapped in and out of memory to disk. Principles of Operating Systems - Lecture 1
Moore’s Law- Growth in Transistor Density • Defined by Dr. Gordon Moore (Intel) in the late 1960s. • Predicts an exponential increase in component (transistor) density over time- a doubling time of 18 months. • Does not translate directly into performance or clock frequency. • Applicable to microprocessors, DRAMs, DSPs, and other microelectronics.
Transistors and Clock Rate Processors got faster every 18 months (roughly 50% to 100%!) Why bother with parallel programming? Just wait a year or two. Slide Source: http://audilab.bmed.mcgill.ca/~funnell/Bacon/HW/trends.html
Figure courtesy of Kunle Olukotun, Lance Hammond, Herb Sutter, and Burton Smith Current Trends • New Constraints • Power limits clock rates • Cannot squeeze more performance from ILP (complex cores) either! • But Moore’s Law continues! • What to do with all of those transistors if everything else is flat-lining? • Power Consumption is chief concern for system architects • Power-Efficiency is the primary concern of consumers of computer systems!
Processor cores Shared L2$ Shared L3$ Emerging Multicore Processors L2$ L3$ Multicore Processors Monolithic Processor
Processor cores Shared L2$ Shared L3$ Chip-multiprocessors (CMPs) • Future computer systems will integrate 10’s of multithreaded processors on a single chip die, resulting in 100’s of concurrent program threads sharing system resources • Multiple processor cores • Chip multiprocessor (CMP) • Multithreaded (SMT/MT) in each core • Lower communication costs • Purpose-built low-latency communication hardware
Run-time Adaptation/Optimization MT cores Resource allocations Operating System PMU Data Shared L2$ • Continuous optimization: constantly adapt system to meet current usage requirements and system characteristics • System software continually and automatically adapt system resource decisions and thread execution HW Alerts Static Compiler Monitoring Engine Shared L3$ On/off-line profile Dynamic Compiler Adjusted code
Parallel Systems • Multiprocessor systems with more than one CPU in close communication. • Improved Throughput, economical, increased reliability. • Kinds: • Vector and pipelined • Symmetric and asymmetric multiprocessing • Distributed memory vs. shared memory • Programming models: • Tightly coupled vs. loosely coupled ,message-based vs. shared variable Principles of Operating Systems - Lecture 1
Distributed Systems • Distribute computation among many processors. • Loosely coupled - • no shared memory, various communication lines • client/server architectures • Advantages: • resource sharing • computation speed-up • reliability • communication - e.g. email • Applications - digital libraries, digital multimedia Principles of Operating Systems - Lecture 1
Real-time systems • Correct system function depends on timeliness • Feedback/control loops • Sensors and actuators • Hard real-time systems - • Failure if response time too long. • Secondary storage is limited • Soft real-time systems - • Less accurate if response time is too long. • Useful in applications such as multimedia, virtual reality. Principles of Operating Systems - Lecture 1
Logically treats hardware and OS kernel as hardware Provides interface identical to underlying bare hardware. Creates illusion of multiple processes - each with its own processor and virtual memory Virtual Machines processes processes processes kernel kernel kernel Virtual machine hardware