Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS431 Introduction to Operating Systems Modern Operating Systems By Andrew Tanenbaum The Linux Programming Interface By Kerrisk.

Similar presentations


Presentation on theme: "CS431 Introduction to Operating Systems Modern Operating Systems By Andrew Tanenbaum The Linux Programming Interface By Kerrisk."— Presentation transcript:

1 CS431 Introduction to Operating Systems Modern Operating Systems By Andrew Tanenbaum The Linux Programming Interface By Kerrisk

2 CS431 - cotter2 CS431 Introduction to Operating Systems Course Objectives To study and apply concepts relating to operating systems, such as concurrency and control of asynchronous processes, deadlocks, memory management, processor and disk scheduling, parallel processing, and file system organization

3 CS431 - cotter3 Course Outcomes Demonstrate an understanding of: –the differences between processes and threads. –the different process or thread synchronization methods and the tradeoffs between them. –the different memory management techniques used in Operating Systems. –the different I/O management techniques used in Operating Systems. –the tradeoffs in design and implementation concepts used in the development of Operating Systems

4 cs431-cotter 4 Course Syllabus Course Meeting Time Tuesday and Thursday 2:00 to 3:15 pm Location Bloch 014 Instructor: Bob Cotter Web page: Office Hours: Tuesday and Thursday 4:00 to 5:00 pm Location FH450P or by appointment Prerequisites: CS291, CS352

5 cs431-cotter5 Course Syllabus Text Book Modern Operating Systems – 3 rd Edition Andrew Tanenbaum, Prentice Hall, 2008 The Linux Programming Interface A Linux and UNIX System Programming Handbook Kerrisk - No Starch Press, 2010 Running Linux – 5 th Edition Dalheimer & Welsh, OReilly Published 2006

6 CS431 - cotter6 Course Syllabus Grading Policy: Homework 35% Midterm #1 20% Midterm #2 20% Final Exam 25% Grade Scale: A 93 – 90 A- 89 – 87B B 82 – 80B- 79 – 77C C 72 – 70C- 69 – 67 D D 62 – 60D F

7 CS431 - cotter7 Course Schedule (tentative) Introduction - Ch 1 –1 week Linux Intro – Ch 10 –1 week Processes - Ch 2 –1 week Scheduling - Ch 2, 10 –1 week Process Sync - Ch 2, 10 –1-2 weeks Deadlocks - Ch 6 –1 week Memory Mgmt - Ch 3 –1 week Virtual Memory - Ch 3 –½ week File System – Ch 4 –1 week I/O Systems - Ch 5 –1 week Multi-Processor Sys – Ch 8 –1 week Security - Ch 9 –1 week Linux Review – Ch 10 –1 week Exams (2) –1 week

8 CS431 - cotter8 What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware Goals: –Execute programs –Make the Computer System Convenient Use the system efficiently

9 CS431 - cotter9 What Is An Operating System A modern computer consists of: One or more processors Main memory Disks Printers Various input/output devices Managing all these components requires a layer of software – the operating system Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved

10 CS431 - cotter10 Abstract View of System Components User 1 User 2User 3User n task 1task 2task 3task n System and Applications Programs Operating System Computer Hardware

11 CS431 - cotter11 Definitions of Operating System Resource Manager –Allow multiple programs to run –Manage and protect memory, I/O, etc. Control Program Kernel

12 CS431 - cotter12 History of Operating Systems Generations: (1945–55) Vacuum Tubes (1955–65) Transistors and Batch Systems (1965–1980) ICs and Multiprogramming (1980–Present) Personal Computers Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved

13 CS431 - cotter13 Simple Batch Systems First form of shared computing Few, large machines Specialized operator Secure

14 CS431 - cotter14 Batch System Process User != operator Programs submitted on cards Similar jobs batched Automatic job sequencing

15 CS431 - cotter15 Batch Job Sequence Requirements (Problem - no overlap in I/O & CPU)

16 CS431 - cotter16 Off-Line Operation Advantages: CPU not bound by card reader Could use multiple card readers, line printers Card Reader Printer Satellite processor Main Computer

17 CS431 - cotter17 Spooling Use disk to store input and output Simultaneous Peripheral Operation on-line Significantly improves efficiency Creates a job pool (I/O vs CPU)

18 CS431 - cotter18 Spooling Introduces Job Scheduling Objective is to further improve efficiency ReaderPrinter CPU

19 CS431 - cotter19 Multiprogramming Batched Systems Operating System Job 1 Job 2 Job 3 Job 4

20 CS431 - cotter20 Multiprogramming Requirements I/O routine managed by system Memory Management CPU Scheduling Allocation of peripheral devices

21 CS431 - cotter21 Time-sharing Systems Next logical extension User jobs managed by Job Scheduler User connected as a system peripheral device User gets access to file system for data and code

22 CS431 - cotter22 Personal Computer Systems Extends processing to the user Dedicated computer systems Complete set of I/O devices Improves convenience & responsiveness Security???

23 CS431 - cotter23 PC Components

24 CS431 - cotter24 Parallel Systems Multi-processor systems CPUs share resources Increases throughput (more CPU power vs. I/O) Improves Reliability… Symmetric vs. Asymmetric multiprocessing

25 CS431 - cotter25 Distributed Systems Communication between multiple processors Processors are loosely coupled Advantages –Resource Sharing –Computation Speedup (load sharing) –Reliability –Communication

26 CS431 - cotter26 Real-Time Systems Used to manage dedicated applications Process Controls Telecommunications Operating constraints well defined & fixed Hard vs. Soft real-time systems

27 CS431 - cotter27 The Operating System Zoo Mainframe operating systems Server operating systems Multiprocessor operating systems Personal computer operating systems Handheld operating systems Embedded operating systems Sensor node operating systems Real-time operating systems Smart card operating systems

28 CS431 - cotter28 Summary Operating Systems evolved to: –Make computers easier to use –Improve the utilization of computing resources Design and function of OS has evolved as the cost of resources goes down OS is generally the most complex program running in a computing system.

29 cs431-cotter29 Questions What is spooling? What problem was it designed to address? What are examples of computing systems that dont need all of the components shown on slide 23? What are other common major elements that arent shown on this slide? What is the major difference between a hard real-time system and a soft real-time system? What is an example of each?


Download ppt "CS431 Introduction to Operating Systems Modern Operating Systems By Andrew Tanenbaum The Linux Programming Interface By Kerrisk."

Similar presentations


Ads by Google