CS431 Introduction to Operating Systems

Slides:



Advertisements
Similar presentations
What is an Operating System?
Advertisements

OPERATING SYSTEMS Lecturer: Szabolcs Mikulas Office: B38B
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc
Tanenbaum & Woodhull, Operating Systems: Design and Implementation, (c) 2006 Prentice-Hall, Inc. All rights reserved OPERATING SYSTEMS DESIGN.
CSC 360- Instructor: K. Wu Overview of Operating Systems.
Operating System.
Introduction CSCI 444/544 Operating Systems Fall 2008.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
CMSC 421: Principles of Operating Systems Section 0202 Instructor: Dipanjan Chakraborty Office: ITE 374
Chapter 1: Introduction
Operating Systems CS451 Brian Bershad
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Abhinav Kamra Computer Science, Columbia University 1.1 Operating System Concepts Silberschatz, Galvin and Gagne  2002 COMS 4118 Operating Systems Spring.
1 CIS450/IMSE450/ECE478 Operating Systems Winter 2003 Professor Jinhua Guo.
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 1 Introduction Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
Introduction  What is an Operating System  What Operating Systems Do  How is it filling our life 1-1 Lecture 1.
1/16/2008CSCI 315 Operating Systems Design1 Introduction Notice: The slides for this lecture have been largely based on those accompanying the textbook.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
CIS-410: Operating Systems Spring Organizational Details Class Meeting: 7:00-9:45pm, Monday, Room 252N Instructor: Dr. Igor Aizenberg Office: Aikin.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
1 5/25/2016 操作系统课件 教材: 《操作系统概念(第六版 影印版)》 【原书名】 Operating System Concepts(Sixth Edition) [ 原书信息 ] Operating System Concepts(Sixth Edition) [ 原书信息 ] 【原出版社】
Thanks to Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction n What is an Operating System? n Mainframe Systems.
 What is OS? What is OS?  What OS does? What OS does?  Structure of Operating System: Structure of Operating System:  Evolution of OS Evolution of.
Operating Systems.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
 H.M.BILAL Operating System Concepts.  What is an Operating System?  Mainframe Systems  Desktop Systems  Multiprocessor Systems  Distributed Systems.
1 Instructor :Erdal Kose Office hours: Tuesday 9:00-9:30 pm. Mail box : 2109 Ingersoll Hall (Erdal ) Web site :
المحاضرة الاولى Operating Systems. The general objectives of this decision explain the concepts and the importance of operating systems and development.
Eastern Mediterranean University Computer Engineering Department CMPE242 - OPERATING SYSTEMS SPRING , Course Description Instructors: Gr.1. Asst.Prof.Dr.
Operating System Concepts Chapter One: Introduction What is an operating system? Simple Batch Systems Multiprogramming Systems Time-Sharing Systems Personal-Computer.
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 1 Introduction Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc.
1.1 Operating System Concepts Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
CIS250 OPERATING SYSTEMS Chapter One Introduction.
Operating System. Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered.
Operating Systems.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
1.1 Sandeep TayalCSE Department MAIT 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming Batched Systems Time-Sharing Systems.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Multiprocessor Systems Distributed.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real.
Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems Multiprocessor Systems Distributed Systems Clustered System Real.
Applied Operating System Concepts
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
חוברת שקפים להרצאות של ד"ר יאיר ויסמן מבוססת על אתר האינטרנט:
OS Basics Module 1.2 Richard Newman University of Florida.
MODERN OPERATING SYSTEMS Third Edition ANDREW S
Operating System Concepts
Chapter 1: Introduction
Language Processors Application Domain – ideas concerning the behavior of a software. Execution Domain – Ideas implemented in Computer System. Semantic.
Subject Name: Operating System Concepts Subject Number:
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Operating System Overview
Chapter 1: Introduction
Operating System Concepts
Chapter 1: Introduction
Presentation transcript:

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

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

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

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 e-mail cotterr@umkc.edu Web page: http://sce.umkc.edu/~cotterr 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

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

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

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

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

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. 0-13-6006639

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

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

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. 0-13-6006639

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

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

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

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

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

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

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

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

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

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

PC Components CS431 - cotter

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

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

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

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

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

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