ICS 143 Principles of Operating Systems ( FQ 2005) ICS 143 Fall 2005 StaffCourse logistics and detailsCourse logistics and detailsICS 143 Grading PolicyLecture ScheduleLecture ScheduleIntroductionWhat is an Operating System?Goals of an Operating SystemWhy should I study Operating Systems?Computer System ComponentsAbstract View of SystemOperating System ViewsOperating System SpectrumEarly Systems - Bare Machine (1950s)Simple Batch Systems (1960’s)Supervisor/Operator ControlBatch Systems - IssuesBatch Systems - I/O completionMultiprogrammingTimesharingTimesharing (cont.)Personal Computing SystemsParallel SystemsDistributed SystemsReal-time systemsSummary of lectureICS 143 Principles of Operating Systems ( FQ 2005)Lecture 1 - Introduction and OverviewT,Th: 3:30-4:50 pm.Prof. Nalini Venkatasubramanian( [email protected])ICS 143 Fall 2005 StaffInstructor:Prof. Nalini Venkatasubramanian (Venkat)( [email protected] )Teaching Assistants:Lei Wang ( [email protected] ) TBDCourse logistics and details Course Web page - http://www.ics.uci.edu/~ics143 Lectures - Tu Th 3:30-4:50p.m, MTSB 118 Discussions – Mondays (3p.m – 6 p.m.) ICS 143 Textbook: Operating System Concepts -- Seventh EditionSilberschatz and Galvin, Addison-Wesley Inc.(Sixth and Fifth editions are fine as well). Alternate Book Principles of Operating Systems, L.F. Bic and A.C. Shaw, Prentice-Hall/Pearson Education, 2003. ISBN 0130266116.Course logistics and details Homeworks and Assignments 3 homeworks in the quarter of which 1 is a programming assignment (knowledge of C/C++ and Java required). Each homework will have 2 parts with (possibly) different due dates. Late homeworks will not be accepted. All submissions will be made at the Distribution Center by time and date specified. See webpage for submission details!!! Tests Midterm – tentatively set to be Monday, May 9th. Final Exam - as per UCI course catalogICS 143 Grading Policy Homeworks - 30% (3 homeworks each worth 10% of the final grade). Midterm - 30% of the final grade Final exam - 40% of the final grade Final exam is comprehensive Final assignment of grades will be based on a curve Pop-quizzes in discussion section may be used to determine final grades for students at the borderline No incompletes will be givenLecture Schedule Week 1: Introduction to Operating Systems, Computer System Structures, Operating System StructuresWeek 2: Process Management Processes and ThreadsWeek 3: Process Management CPU SchedulingWeek 4: Process Management SynchronizationWeek 5: Process Management Synchronization (cont.), Deadlocks Week 6: Memory Management Midterm exam, Memory managementWeek 7: Memory Management Memory Management(cont.), Virtual Memory BasicsWeek 8: Memory Management Virtual Memory, Paging and SegmentationWeek 9: Storage Management File-system Interface, File-system implementationWeek 10: I/O Systems I/O subsystems, secondary and tertiery storageLecture ScheduleIntroduction What is an operating system? Early Operating Systems Simple Batch Systems Multiprogrammed Batch Systems Time-sharing Systems Personal Computer Systems Other extensions Parallel and Distributed Systems Real-time SystemsWhat 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.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.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 servicesComputer System Components Hardware Provides basic computing resources (CPU, memory, I/O devices) Operating System Controls and coordinates the use of hardware among application programs Application Programs Solve computing problems of users (compilers, database systems, video games, business programs such as banking software) Users People, machines, other computersAbstract View of SystemSystem and Application ProgramsSystem and Application ProgramsOperating SystemOperating SystemComputer HardwareComputer HardwareUser1User1User2User2User3User3UsernUserncompiler assemblerText editorDatabasesystem...Operating System Views Resource allocator to allocate resources (software and hardware) of the computer system and manage them efficiently. Control program Controls execution of user programs and operation of I/O devices. Kernel The program that executes forever (everything else is an application with respect to the kernel).Operating System Spectrum Monitors and Small Kernels special purpose and embedded systems, real-time systems Batch and multiprogramming Timesharing workstations, servers, minicomputers, timeframes Transaction systemsEarly Systems - Bare Machine (1950s) Structure Large machines run from console Single user system, Programmer/User as operator Paper tape or punched cards Early software Assemblers, compilers, linkers, loaders, device drivers, libraries of common subroutines. Secure execution Inefficient use of expensive resources Low CPU utilization, high setup time.Simple Batch Systems (1960’s) Reduce setup time by batching jobs with similar requirements. Add a card reader, Hire an operator User is NOT the operator Automatic job sequencing Forms a rudimentary OS. Resident Monitor Holds initial control, control transfers to job and then back to monitor. Problem Need to distinguish job from job and data from
View Full Document