O PERATING S YSTEMS BIT 1003. OUTLINE Introduction, concepts, review & historical perspective Processes Synchronization Scheduling Deadlock Memory management,

Slides:



Advertisements
Similar presentations
Introduction to Operating Systems
Advertisements

OPERATING SYSTEMS Lecturer: Szabolcs Mikulas Office: B38B
Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc
CSC 360- Instructor: K. Wu Overview of Operating Systems.
Operating System.
Lecture 11: Operating System Services. What is an Operating System? An operating system is an event driven program which acts as an interface between.
WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
EEE 435 Principles of Operating Systems Operating System Concepts (Modern Operating Systems 1.5)
EEE 435 Principles of Operating Systems Principles and Structure of I/O Software (Modern Operating Systems 5.2 & 5.3) 5/22/20151Dr Alain Beaulieu.
Winter 2005 CMPE 151: Network Administration Lecture 2.
Dr Mohamed Menacer College of Computer Science and Engineering Taibah University CS-334: Computer.
Chapter 1 1 CS 111, UC Santa Cruz Overview: Chapter 1  What is an operating system, anyway?  Operating systems history  The phylogeny of modern operating.
1 Introduction Chapter What is an operating system 1.2 History of operating systems 1.3 The operating system zoo 1.4 Computer hardware review 1.5.
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 1 Introduction Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
Chapter 8 Operating System Support
MEMORY MANAGEMENT By KUNAL KADAKIA RISHIT SHAH. Memory Memory is a large array of words or bytes, each with its own address. It is a repository of quickly.
Computer Organization and Architecture
1 Introduction Chapter What is an operating system 1.2 History of operating systems 1.3 The operating system zoo 1.4 Computer hardware review 1.5.
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
Chapter 1 Introduction 1.1 What is an operating system
1 What is an operating system? CSC330Patricia Van Hise.
CS364 CH08 Operating System Support TECH Computer Science Operating System Overview Scheduling Memory Management Pentium II and PowerPC Memory Management.
Computer Organization Review and OS Introduction CS550 Operating Systems.
hardware and operating systems basics.
CS 6560 Operating System Design Lecture 1. Overview 1.1 What is an operating system 1.2 History of operating systems 1.3 The operating system zoo 1.4.
CHAPTER 2 OPERATING SYSTEM OVERVIEW 1. Operating System Operating System Definition A program that controls the execution of application programs and.
Operating System. Architecture of Computer System Hardware Operating System (OS) Programming Language (e.g. PASCAL) Application Programs (e.g. WORD, EXCEL)
Chapter 1 CS 1550: Introduction to Operating Systems Prof. Ahmed Amer
 Introduction, concepts, review & historical perspective  Processes ◦ Synchronization ◦ Scheduling ◦ Deadlock  Memory management, address translation,
Operating Systems CS3502 Fall 2014 Dr. Jose M. Garrido
 Design model for a computer  Named after John von Neuman  Instructions that tell the computer what to do are stored in memory  Stored program Memory.
Introduction to Operating Systems Chapter 1. cs431 -cotter2 Lecture Objectives Understand the relationship between computing hardware, operating system,
Chapter 5 Operating System Support. Outline Operating system - Objective and function - types of OS Scheduling - Long term scheduling - Medium term scheduling.
1 Operating System Overview. 2 Today’s Objectives Explain the main purpose of operating systems and describe milestones of OS evolution Explain fundamental.
Recall: Three I/O Methods Synchronous: Wait for I/O operation to complete. Asynchronous: Post I/O request and switch to other work. DMA (Direct Memory.
Chapter 1 Introduction 1.1 What is an operating system
ITEC 502 컴퓨터 시스템 및 실습 Chapter 1: Introduction. ITEC 502 컴퓨터 시스템 및 실습 Chapter 1: Introduction Mi-Jung Choi DPNM Lab. Dept. of CSE,
1 Instructor :Erdal Kose Office hours: Tuesday 9:00-9:30 pm. Mail box : 2109 Ingersoll Hall (Erdal ) Web site :
1 Introduction Chapter What is an operating system 1.2 History of operating systems 1.3 The operating system zoo 1.4 Computer hardware review 1.5.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 E-Main: Phone:
1 Introduction. 2 A computer system consists of –hardware –system programs –application programs.
MODERN OPERATING SYSTEMS Chapter 1 Introduction Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved
Ch. 4 Memory Mangement Parkinson’s law: “Programs expand to fill the memory available to hold them.”
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 1 Introduction Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc.
Copyright ©: University of Illinois CS 241 Staff1 Operating Systems Orientation.
Operating System Structure A key concept of operating systems is multiprogramming. –Goal of multiprogramming is to efficiently utilize all of the computing.
Computer Basics. Samples of Operating Systems IBSYS (IBM 7090) OS/360 (IBM 360) TSS/360 (360 mod 67) Michigan Terminal System CP/CMS & VM 370 MULTICS.
We will focus on operating system concepts What does it do? How is it implemented? Apply to Windows, Linux, Unix, Solaris, Mac OS X. Will discuss differences.
O PERATING S YSTEM. What is an Operating System? An operating system is an event driven program which acts as an interface between a user of a computer,
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 4 Computer Systems Review.
MODERN OPERATING SYSTEMS Chapter 1 Introduction
Processor Memory Processor-memory bus I/O Device Bus Adapter I/O Device I/O Device Bus Adapter I/O Device I/O Device Expansion bus I/O Bus.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Copyright ©: Nahrstedt, Angrave, Abdelzaher1 Operating System Overview Tarek Abdelzaher Lawrence Angrave Vikram Adve.
Chapter 1 Introduction  What is an operating system  History of operating systems  The operating system zoo  Computer hardware review  Operating system.
操作系统原理 OPERATING SYSTEM Chapter 1 Introduction 概 述.
L ECTURE -6 Topics: Introduction to Operating system. Functions of an Operating system. Classification of Operating systems.
CT101: Computing Systems Introduction to Operating Systems.
Operating System Overview
Operating System.
I/O Resource Management: Software
Computer Architecture
Device Management Damian Gordon.
MODERN OPERATING SYSTEMS Third Edition ANDREW S
Fundamentals of Computer Programming
Introduction to Operating Systems
Operating System Introduction
Chapter 1: Introduction CSS503 Systems Programming
Introduction and Overview
Presentation transcript:

O PERATING S YSTEMS BIT 1003

OUTLINE Introduction, concepts, review & historical perspective Processes Synchronization Scheduling Deadlock Memory management, address translation, and virtual memory Operating system management of I/O File systems

W HY SHOULD I STUDY O PERATING S YSTEMS ? 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

4

T HE SERVICES OPERATING SYSTEMS PROVIDE INCLUDE : Management of I/O Management of memory Scheduling of user processes (start, interrupt, and stop) A secure and reliable environment for programs and users A convenient interface for users Networking services Messaging and synchronization services between processes Utility “system software” such as editors, loaders, help, etc.

O PERATING SYSTEM TIMELINE First generation: 1945 – 1955 Vacuum tubes Plug boards Second generation: 1955 – 1965 Transistors Batch systems Third generation: 1965 – 1980 Integrated circuits Multiprogramming Fourth generation: 1980 – present Large scale integration Personal computers Next generation: ??? Systems connected by high-speed networks? Wide area resource management?

F IRST GENERATION : DIRECT INPUT Run one job at a time Enter it into the computer (might require rewiring!) Run it Record the results Problem: lots of wasted computer time! Computer was idle during first and last steps Computers were very expensive! Goal: make better use of an expensive commodity: computer time

S ECOND GENERATION : BATCH SYSTEMS Bring cards to 1401 Read cards onto input tape Put input tape on 7094 Perform the computation, writing results to output tape Put output tape on 1401, which prints output

T HIRD GENERATION : MULTIPROGRAMMING Multiple jobs in memory Protected from one another Operating system protected from each job as well Resources (time, hardware) split between jobs Still not interactive User submits job Computer runs it User gets results minutes (hours, days) later Operating system Job 1 Job 2 Job 3 Memory partitions

T IMESHARING Multiprogramming allowed several jobs to be active at one time Initially used for batch systems Cheaper hardware terminals -> interactive use Computer use got much cheaper and easier No more “priesthood” Quick turnaround meant quick fixes for problems

T YPES OF MODERN OPERATING SYSTEMS Mainframe operating systems: MVS Server operating systems: FreeBSD, Solaris Multiprocessor operating systems: Cellular IRIX Personal computer operating systems: Windows, Unix Real-time operating systems: VxWorks Embedded operating systems Smart card operating systems  Some operating systems can fit into more than one category

MANAGEMENT OF INPUT AND OUTPUT Hard drive controller Video controller Memory USB controller Network controller Outside world CPU Computer internals (inside the “box”)

A NATOMY OF A DEVICE REQUEST (INTERRUPT) Interrupt controller CPU 5 Disk controller Left: sequence as seen by hardware Request sent to controller, then to disk Disk responds, signals disk controller which tells interrupt controller Interrupt controller notifies CPU Right: interrupt handling (software point of view) Instruction n Operating system Instruction n+1 Interrupt handler 1: Interrupt 2: Process interrupt 3: Return

D IRECT M EMORY A CCESS A improvement in efficiency is possible when the I/O device is relatively fast, like a disk drive or a tape drive. The computer design may include one or more direct memory access (DMA) controllers (or channels). A DMA controller is a computer within the computer that specializes in I/O, and its purpose is to drastically reduce the number of interrupts that the OS must service.

MEMORY MANAGEMENT The operating system is responsible for assigning to processes memory in which to execute. Operating system is responsible for managing a whole array of memories in support of processes, principally main memory, cache memory, and disk memory.

S TORAGE PYRAMID Access latency 1 ns 2–5 ns 50 ns 5 ms 50 sec < 1 KB 1 MB 256 MB 40 GB > 1 TB Capacity Registers Cache (SRAM) Main memory (DRAM) Magnetic disk Magnetic tape Goal: really large memory with very low latency Latencies are smaller at the top of the hierarchy Capacities are larger at the bottom of the hierarchy Solution: move data between levels to create illusion of large memory with low latency Better

17 D ISK DRIVE STRUCTURE sector cylinder platter spindle track head actuator surfaces Data stored on surfaces Up to two surfaces per platter One or more platters per disk Data in concentric tracks Tracks broken into sectors 256B-1KB per sector Cylinder: corresponding tracks on all surfaces Data read and written by heads Actuator moves heads Heads move in unison

18 M EMORY User program and data Operating system Address 0x1dfff 0x x27fff 0x2b000 0x2ffff 0 Single base/limit pair: set for each process Two base/limit registers: one for program, one for data Base Limit User data User program Operating system User data Base 1 Limit 2 Limit 1 Base 2 Address 0x1dfff 0x x x2bfff 0x2ffff 0 0x2d000 0x24fff

O PERATING SYSTEMS CONCEPTS Processes (and trees of processes) Deadlock File systems & directory trees Pipes

P ROCESSES A B EF CD G Process: program in execution Address space (memory) the program can use State (registers, including program counter & stack pointer) OS keeps track of all processes in a process table Processes can create other processes Process tree tracks these relationships A is the root of the tree A created three child processes: B, C, and D C created two child processes: E and F D created one child process: G

D EADLOCK Potential deadlock Actual deadlock

H IERARCHICAL FILE SYSTEMS

23 I NTERPROCESS COMMUNICATION Processes want to exchange information with each other Many ways to do this, including Network Pipe (special file): A writes into pipe, and B reads from it AB

E XERCISES 6.1, 6.2, 6.4