Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.

Slides:



Advertisements
Similar presentations
Categories of I/O Devices
Advertisements

Introduction CSCI 444/544 Operating Systems Fall 2008.
CS 345 Computer System Overview
CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
OS2-1 Chapter 2 Computer System Structures. OS2-2 Outlines Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection.
1 School of Computing Science Simon Fraser University CMPT 300: Operating Systems I Dr. Mohamed Hefeeda.
1: Operating Systems Overview
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
Introduction  What is an Operating System  What Operating Systems Do  How is it filling our life 1-1 Lecture 1.
Chapter 1 and 2 Computer System and Operating System Overview
Modified from Silberschatz, Galvin and Gagne ©2009 CS 446/646 Principles of Operating Systems Lecture 1 Chapter 1: Introduction.
©Brooks/Cole, 2003 Chapter 7 Operating Systems Dr. Barnawi.
Chapter 1 and 2 Computer System and Operating System Overview
Computer Organization and Architecture
Lecture 1: Introduction CS170 Spring 2015 Chapter 1, the text book. T. Yang.
A. Frank - P. Weisberg Operating Systems Evolution of Operating Systems.
1/21/2010CSCI 315 Operating Systems Design1 Computer System Structures Notice: The slides for this lecture have been largely based on those accompanying.
Rensselaer Polytechnic Institute CSC 432 – Operating Systems David Goldschmidt, Ph.D.
What do operating systems do? manage processes manage memory and computer resources provide security features execute user programs make solving user.
CS364 CH08 Operating System Support TECH Computer Science Operating System Overview Scheduling Memory Management Pentium II and PowerPC Memory Management.
Chapter 3 Operating Systems Introduction to CS 1 st Semester, 2015 Sanghyun Park.
Operating Systems What do you have left on your computer after you strip away all of the games and application programs you bought and installed? Name.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 1: Introduction.
Objectives To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization.
CS212: OPERATING SYSTEM Lecture 1: Introduction 1.
Operating Systems.  Operating System Support Operating System Support  OS As User/Computer Interface OS As User/Computer Interface  OS As Resource.
CHAPTER 2 OPERATING SYSTEM OVERVIEW 1. Operating System Operating System Definition A program that controls the execution of application programs and.
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
Operating Systems CS3502 Fall 2014 Dr. Jose M. Garrido
Operating Systems.
LINUX System : Lecture 2 OS and UNIX summary Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University Acknowledgement.
CISC105 General Computer Science Class 1 – 6/5/2006.
CHAPTER 2: COMPUTER-SYSTEM STRUCTURES Computer system operation Computer system operation I/O structure I/O structure Storage structure Storage structure.
Chapter 2: Computer-System Structures
Chapter 5 Operating System Support. Outline Operating system - Objective and function - types of OS Scheduling - Long term scheduling - Medium term scheduling.
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems CSCI-6140 – Computer Operating Systems David Goldschmidt, Ph.D.
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.
OPERATING SYSTEMS Goals of the course Definitions of operating systems Operating system goals What is not an operating system Computer architecture O/S.
Operating System Concepts Chapter One: Introduction What is an operating system? Simple Batch Systems Multiprogramming Systems Time-Sharing Systems Personal-Computer.
Chapter 1: Introduction. 1.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 1: Introduction What Operating Systems Do Computer-System.
Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection Network Structure.
Computers Operating System Essentials. Operating Systems PROGRAM HARDWARE OPERATING SYSTEM.
February 02Page 1 Operating Systems Introduction.
Operating System Structure A key concept of operating systems is multiprogramming. –Goal of multiprogramming is to efficiently utilize all of the computing.
Computer Hardware A computer is made of internal components Central Processor Unit Internal External and external components.
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.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 4 Computer Systems Review.
CIS250 OPERATING SYSTEMS Chapter One Introduction.
1 Lecture 1: Computer System Structures We go over the aspects of computer architecture relevant to OS design  overview  input and output (I/O) organization.
Computer Systems. Bits Computers represent information as patterns of bits A bit (binary digit) is either 0 or 1 –binary  “two states” true and false,
Assoc. Prof. Dr. Ahmet Turan ÖZCERİT.  What Operating Systems Do  Computer-System Organization  Computer-System Architecture  Operating-System Structure.
Review of Computer System Organization. Computer Startup For a computer to start running when it is first powered up, it needs to execute an initial program.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
CS4315A. Berrached:CMS:UHD1 Introduction to Operating Systems Chapter 1.
Major OS Components CS 416: Operating Systems Design, Spring 2001 Department of Computer Science Rutgers University
CT101: Computing Systems Introduction to Operating Systems.
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
Chapter 2: Computer-System Structures(Hardware)
Chapter 2: Computer-System Structures
Introduction to Operating System (OS)
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage.
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
CS703 - Advanced Operating Systems
Chapter 2: Computer-System Structures
Chapter 2: Computer-System Structures
Necessary Background for OS
Presentation transcript:

Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432

What is an Operating System? An Operating System is the software interface between hardware and its users (via application software) Operating systems: Execute user and system programs Manage & coordinate computer hardware Serve as resource allocators Are typically interrupt-driven

Operating Systems System Software Computer programs that directly control the operations of the computer and its devices Operating System Coordinates and orchestrates all activities of the hardware devices in a computer Provides a Graphical User Interface (GUI) for users to interact with the computer

Design Goals of an Operating System From a user’s perspective, an operating system should be: easy to use easy to learn reliable safe fast System goals of an operating system typically include: reliability flexibility extensibility speed efficiency maintainability

Functional Components Functional components of an operating system include: Process manager Memory manager Virtual memory manager File manager Device manager

History of Operating Systems In the beginning… …the 1940s ENIAC

History of Operating Systems Automation in the 1950s using punch cards computer program inside

Batch Jobs A job is a unit of work submitted by a user to the operating system, typically consisting of: a program either in a source language or in binary form a set of input data used by the program when it executes

History of Operating Systems IBM 360 introduced… …in 1964

Multiprogramming

In multiprogramming, several jobs reside in memory simultaneously CPU use is shared and managed by the operating system

Multiprogramming Multiprogramming provides efficient use of the computer (CPU) and its resources (e.g. I/O) One user cannot keep the CPU and I/O devices busy at all times Each running program is called a job Multiprogramming organizes jobs such that the CPU always has exactly one to execute

Multiprogramming Computer is often idle – why? CPU and hardware much faster than I/O When a user or process is blocked waiting for I/O, the operating system switches to another job A subset of jobs is stored in memory, awaiting CPU or other resources

Timesharing (Multitasking) To ensure fairness, consider a timesharing scheme in which the CPU cycles through all jobs Each job (process) is given a fixed amount of CPU time Switching from one running process to another is called a context switch A process may relinquish its time if blocked on an I/O request

Timesharing (Multitasking) Unless blocked on I/O, processes line up, awaiting their turn with the CPU CPU scheduling algorithm is necessary to efficiently decide the order in which processes execute If processes do not fit into memory, the operating system will swap them in and out of memory from virtual memory

History of Operating Systems Personal computer revolution… …of the late 1970s and early 1980s and the Apple IIe

History of Operating Systems

World Wide Web and Internet revolution… …of the 1990s and 2000s

Computer System Organization Computer systems are increasingly complex Require an operating system to coordinate and control hardware activities system bus …and networked

Computer Networks A Local Area Network (LAN) is a network of machines covering a limited geographical area A Metropolitan Area Network (MAN) covers more densely populated area

Computer Networks A Wide Area Network (WAN) covers multiple locations Each location consists of one or more LANs or MANs

Computer Networks LANs connect to other networks via a router

Central Processing Unit (CPU) Software instructions are executed by a Central Processing Unit (CPU) An external hardware event triggers an interrupt by signaling the CPU e.g. mouse movement, keyboard event Software triggers an interrupt by executing a system call e.g. disk read, graphics output, printer output

Interrupt Mechanism Interrupts are handled much like calling a function or method in a programming language I/O devices typically use a buffering strategy

Typical Interrupt Timeline …as do I/O transfer timesinterrupt processing times vary…

Synchronous & Asynchronous I/O Synchronous Asynchronous

Hierarchical Storage Architecture very fast very slow very small very large non-volatile volatile

What is Caching? Caching is a technique to temporarily store data in a smaller and faster memory component why implement caching in an operating system?

Performance A key goal in operating system design is achieving fast and efficient performance

Retrieving Data from a Cache When the operating system attempts to read from memory, check to see if the requested data is already in the cache If it is, data is read from the cache (fast!) If not, data is copied from memory to the cache (maybe next time…)

Principle of Locality When a running program reads from memory location X, the principle of locality predicts that the next memory location requested will be near X Store pages of data in a cache, where each page is typically the same size (e.g. 16KB) memory location X