Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS431 Introduction to Operating Systems

Similar presentations


Presentation on theme: "CS431 Introduction to Operating Systems"— Presentation transcript:

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

2 CS431 Introduction to Operating Systems
CS431 WS99 4/1/2017 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 CS431 - cotter Course Intro

3 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 CS431 - cotter

4 Course Syllabus Course Meeting Time
CS431 WS99 4/1/2017 4/1/2017 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 cs431-cotter 4 Course Intro cs431-cotterCourse Intro 4 4

5 Course Syllabus Text Book Modern Operating Systems – 3rd Edition
CS431 WS99 4/1/2017 4/1/2017 Text Book Modern Operating Systems – 3rd Edition Andrew Tanenbaum, Prentice Hall, 2008 The Linux Programming Interface A Linux and UNIX System Programming Handbook Kerrisk - No Starch Press, 2010 Running Linux – 5th Edition Dalheimer & Welsh, O’Reilly Published 2006 cs431-cotter Course Intro cs431-cotterCourse Intro 5

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

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

8 What is an Operating System?
CS431 WS99 4/1/2017 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 CS431 - cotter Course Intro

9 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 CS431 - cotter Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved

10 Abstract View of System Components
CS431 WS99 4/1/2017 User 1 User 2 User 3 User n task 1 task 2 task 3 task n System and Applications Programs Operating System Computer Hardware CS431 - cotter Course Intro

11 Definitions of Operating System
CS431 WS99 4/1/2017 Resource Manager Allow multiple programs to run Manage and protect memory, I/O, etc. Control Program Kernel CS431 - cotter Course Intro

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

13 Simple Batch Systems First form of “shared” computing
CS431 WS99 4/1/2017 First form of “shared” computing Few, large machines Specialized operator Secure CS431 - cotter Course Intro

14 Batch System Process User != operator Programs submitted on cards
CS431 WS99 4/1/2017 User != operator Programs submitted on cards Similar jobs “batched” Automatic job sequencing CS431 - cotter Course Intro

15 Batch Job Sequence Requirements
CS431 WS99 4/1/2017 (Problem - no overlap in I/O & CPU) CS431 - cotter Course Intro

16 Off-Line Operation Advantages: CPU not bound by card reader
CS431 WS99 4/1/2017 Advantages: CPU not bound by card reader Could use multiple card readers, line printers Card Reader Satellite processor Printer Main Computer CS431 - cotter Course Intro

17 Spooling Use disk to store input and output
CS431 WS99 4/1/2017 Use disk to store input and output Simultaneous Peripheral Operation on-line Significantly improves efficiency Creates a job pool (I/O vs CPU) CS431 - cotter Course Intro

18 Spooling Introduces Job Scheduling
CS431 WS99 4/1/2017 Introduces Job Scheduling Objective is to further improve efficiency CPU Reader Printer CS431 - cotter Course Intro

19 Multiprogramming Batched Systems
CS431 WS99 4/1/2017 Operating System Job 1 Job 2 Job 3 Job 4 CS431 - cotter Course Intro

20 Multiprogramming Requirements
CS431 WS99 4/1/2017 I/O routine managed by system Memory Management CPU Scheduling Allocation of peripheral devices CS431 - cotter Course Intro

21 Time-sharing Systems Next logical extension
CS431 WS99 4/1/2017 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 CS431 - cotter Course Intro

22 Personal Computer Systems
CS431 WS99 4/1/2017 Extends processing to the user Dedicated computer systems Complete set of I/O devices Improves convenience & responsiveness Security??? CS431 - cotter Course Intro

23 PC Components CS431 - cotter

24 Parallel Systems Multi-processor systems CPUs share resources
CS431 WS99 4/1/2017 Multi-processor systems CPUs share resources Increases throughput (more CPU power vs. I/O) Improves Reliability… Symmetric vs. Asymmetric multiprocessing CS431 - cotter Course Intro

25 Distributed Systems Communication between multiple processors
CS431 WS99 4/1/2017 Communication between multiple processors Processors are loosely coupled Advantages Resource Sharing Computation Speedup (load sharing) Reliability Communication CS431 - cotter Course Intro

26 Real-Time Systems Used to manage dedicated applications
CS431 WS99 4/1/2017 Used to manage dedicated applications Process Controls Telecommunications Operating constraints well defined & fixed Hard vs. Soft real-time systems CS431 - cotter Course Intro

27 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 CS431 - cotter

28 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. CS431 - cotter

29 Questions What is spooling? What problem was it designed to address?
What are examples of computing systems that don’t need all of the components shown on slide 23? What are other common major elements that aren’t 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? cs431-cotter


Download ppt "CS431 Introduction to Operating Systems"

Similar presentations


Ads by Google