CS 453/552: Operating Systems



Similar documents
Components of a Computing System. What is an Operating System? Resources. Abstract Resources. Goals of an OS. System Software

Chapter 1: Introduction. What is an Operating System?

Contents. Chapter 1. Introduction

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

Operating Systems Introduction

Chapter 3. Operating Systems

3 - Introduction to Operating Systems

Management Challenge. Managing Hardware Assets. Central Processing Unit. What is a Computer System?

Software: Systems and Application Software

Star System Deitel & Associates, Inc. All rights reserved.

CHAPTER 15: Operating Systems: An Overview

Overview and History of Operating Systems

Computers: Tools for an Information Age

Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu

Introduction. General Course Information. Perspectives of the Computer. General Course Information (cont.)

Chapter 3: Operating Systems

EECS 678: Introduction to Operating Systems

Operating System Structures

Introduction. General Course Information. Perspectives of the Computer. General Course Information (cont.) Operating Systems 1/12/2005

Components of a Computer System

Introduction. What is an Operating System?

Kernel. What is an Operating System? Systems Software and Application Software. The core of an OS is called kernel, which. Module 9: Operating Systems

Programming for GCSE Topic H: Operating Systems

How To Understand The History Of An Operating System

Types Of Operating Systems

A single user ran a single program ran on a single computer there was no need for Page 1 of 6 Copyright Virtual University of Pakistan

Operating System Components

Multiprogramming. IT 3123 Hardware and Software Concepts. Program Dispatching. Multiprogramming. Program Dispatching. Program Dispatching

Operating Systems 4 th Class

Chap-02, Hardware and Software. Hardware Model

(Advanced Topics in) Operating Systems

OPERATING SYSTEM SERVICES

& Data Processing 2. Exercise 1: Introduction to Operating System Concepts. Dipl.-Ing. Bogdan Marin. Universität Duisburg-Essen

Fall Lecture 1. Operating Systems: Configuration & Use CIS345. Introduction to Operating Systems. Mostafa Z. Ali. mzali@just.edu.

Chapter 4 IT Infrastructure: Hardware and Software

Computer Science 4302 Operating Systems. Student Learning Outcomes

Recent Advances in Applied & Biomedical Informatics and Computational Engineering in Systems Applications

Operating System Tutorial

Copying Your Repair DVD Data To Your Hard Drive

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

UNIT 1 OPERATING SYSTEM : AN OVERVIEW

CPS221 Lecture: Operating System Structure; Virtual Machines

Best Practices for Implementing Autodesk Vault

IOS110. Virtualization 5/27/2014 1

Chapter 5: System Software: Operating Systems and Utility Programs

Introducción. Diseño de sistemas digitales.1

Pre-scheduled Control of Online Device-Based Backup and Incremental Data Backup in VMware Virtual System Environment

CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure

4.1 Introduction 4.2 Explain the purpose of an operating system Describe characteristics of modern operating systems Control Hardware Access

A Computer Glossary. For the New York Farm Viability Institute Computer Training Courses

Caligare Flow Inspector

P R E L I M I N A R Y P R O O F S

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Operating system Dr. Shroouq J.

Price/performance Modern Memory Hierarchy

ELEC 377. Operating Systems. Week 1 Class 3

OPERATING SYSTEM OVERVIEW

Origins of Operating Systems OS/360. Martin Grund HPI

DiskPulse DISK CHANGE MONITOR

Understand Troubleshooting Methodology

Lesson 06: Basics of Software Development (W02D2

theguard! ApplicationManager System Windows Data Collector

CE 504 Computational Hydrology Computational Environments and Tools Fritz R. Fiedler

Operating System Software

International Engineering Journal For Research & Development

Priority Pro v17: Hardware and Supporting Systems

Operating Systems Overview As we have learned in working model of a computer we require a software system to control all the equipment that are

How To Understand The Principles Of Operating Systems

Lesson Objectives. To provide a grand tour of the major operating systems components To provide coverage of basic computer system organization

An introduction to operating systems

Principles of Operating Systems CS 446/646

CS3600 SYSTEMS AND NETWORKS

Operating Systems: Basic Concepts and History

Accessing RCS IBM Console in Windows Using Linux Virtual Machine

Chapter 3: Operating-System Structures. Common System Components

Operating System Today s Operating Systems File Basics File Management Application Software

How to Configure Double-Take on Microsoft Exchange Server

The Einstein Depot server

High Availability for Exchange Server 5.5 Using Double-Take

Scheduling. Yücel Saygın. These slides are based on your text book and on the slides prepared by Andrew S. Tanenbaum

Undergraduate Course Syllabus

SUMMIT ASSET MANAGEMENT DATASHEET

Improving Compute Farm Throughput in Electronic Design Automation (EDA) Solutions

CHAPTER 17: File Management

3 SOFTWARE AND PROGRAMMING LANGUAGES

How To Manage Technology

Eastern Washington University Department of Computer Science. Questionnaire for Prospective Masters in Computer Science Students

CimTrak Technical Summary. DETECT All changes across your IT environment. NOTIFY Receive instant notification that a change has occurred

Module 5 Introduction to Processes and Controls

Unit 4 Objectives. System Software. Component 4: Introduction to Information and Computer Science. Unit 4: Application and System Software Lecture 2

Virtual Machines.

1.1 Electronic Computers Then and Now

Example of Standard API

Overview of Operating Systems Instructor: Dr. Tongping Liu

Backing Up TestTrack Native Project Databases

OS Concepts and structure

Operating Systems. Design and Implementation. Andrew S. Tanenbaum Melanie Rieback Arno Bakker. Vrije Universiteit Amsterdam

Outline. Operating Systems Design and Implementation. Chap 1 - Overview. What is an OS? 28/10/2014. Introduction

Computer Systems and Networks. ECPE 170 Jeff Shafer University of the Pacific. Linux Basics

Transcription:

CS 453/552: Operating Systems

Introduction An Operating System is a system software that acts as an intermediary between user and resources (could be hardware or abstract) application software and resources other system software and resources Application software versus System software. An operating system has two major functions. resource abstraction resource sharing

Resource Abstraction provide abstract models of hardware components. a good abstraction (or interface) is general across resources, yet easy to use. abstraction can be carried out at several levels.

Abstraction Example: A disk drive Read/Write Head Sector Track (or Cylinder) Surface

Abstraction Example: Logical Block Address (LBA) Disk geometry: track/cylinder [0...c 1] surface [0...t 1] sector [0...s 1] How to calculate the LBA on a disk drive from a physical location? How to calculate the physical address from a LBA on a disk drive?

Resource Sharing Sharing can be of two types. Space-multiplexed. Resource can be divided into two or more units. e.g. memory, disks. Time-multiplexed. Resource must be given exclusively. e.g. processor. Should prevent unauthorized sharing while still allowing authorized sharing. Resource isolation relies on the operating system being trustworthy. The operating system, in turn, relies on hardware for protection.

First generation (1945 1955). Vacuum tubes and plug-boards. No programming languages, no system software. Second generation (1955 1965). Transistors. Beginning of batch systems. FMS (Fortran Monitor System), IBSYS for IBM 7094/1401 systems. Third generation (1965 1980). Integrated Circuits. Beginning of multiprogramming. IBM System/360. A family of machines with the same architecture and a batch operating system. Fred Brook s Mythical Man-Month came out of this experience. Interactive Timesharing introduced in CTSS at MIT and later in MULTICS and Unix. Fourth generation (1980 2000). VLSI. Workstations and personal computers dominate. Variants of Unix, Microsoft DOS, Microsoft Windows, Mac-OS, Linux among others. Beginnings of distributed operating systems and network operating systems. Mobile generation (2000 now). Network is the new norm. Large scale deployment of embedded systems for mobile devices. Corresponding rise in large scale distributed systems.

Operating System Strategies Batch processing systems. Timesharing systems. Personal computers and workstations. Real-time computers. Networks of computers.

Batch Systems A batch job is a predefined collection of commands that are executed without any interaction with the users. The operating system reads in the entire job and sets it up for execution. Useful for running long sequences of commands, off-line processing, performing tasks at certain times etc. All modern operating systems support some form of batch processing. Batch processing systems in the 60 s led to early implementations of multiprogramming, scheduling and swapping. The main issue is to optimize the use of the resources to finish a group of batch jobs.

A shell script for renaming a group of files. The cmd executes the command and substitues its output into the expression. An alternative syntax is $(cmd). #!/bin/sh for f in *.$1 do base=`basename $f.$1` mv $f $base.$2 done

A shell script for counting the number of lines in all C programs in the current directory and all subdirectories recursively. #!/bin/sh total=0 for currfile in `find. -name "*.c" -print` do total=$[total+(`wc -l $currfile awk '{print $1}'`)] echo 'total=' $total done

Timesharing systems Several users interact with the computer simultaneously. Each user has a virtual machine all to themselves. The main criteria for CPU scheduling and memory sharing is to give a fair share to all the competing users. Each users can also run several programs at the same time. Important to establish barriers and safeguards between users and processes.

What is a Process? A program in execution. A process is a working structure, a (potentially) huge information refinery buzzing and blazing with activity as masses of information move around inside. A process is an information machine, merely enacted, temporarily embodied by an irrelevant hunk of metal, plastic and silicon called a computer. (From the book Mirror Worlds... by David Gelernter)

Personal Computers and workstations led to development of many personal computing tools and to graphical user interfaces. A process control computer is used to control a single application. The primary issue is efficiency and correctness rather than generality and usability. Real-time computing is based on providing deadlines by which a response is received for performing some work. New issues in real-time computing have arisen from network-applications and embedded systems. For example, guaranteeing a minimum amount of deviation in the transfer rate of information on the network. Networks led to the development of client-server computing. Network operating systems and distributed operating systems have now become more prevalent.