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



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

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

Chapter 1: Introduction. What is an Operating System?

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

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

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

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

Gildart Haase School of Computer Sciences and Engineering

CS420: Operating Systems OS Services & System Calls

How To Understand The Principles Of Operating Systems

CHAPTER 15: Operating Systems: An Overview

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

CS 453/552: Operating Systems

Virtualization for Cloud Computing

Operating Systems Introduction

Example of Standard API

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

Operating System Structure

Overview of Operating Systems Instructor: Dr. Tongping Liu

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Operating System Structures

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

Chapter 3: Operating-System Structures. Common System Components

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

CSC 2405: Computer Systems II

Operating Systems OS Architecture Models

Programming for GCSE Topic H: Operating Systems

CS3600 SYSTEMS AND NETWORKS

CPS221 Lecture: Operating System Structure; Virtual Machines

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

Undergraduate Course Syllabus

Operating System Components

Operating Systems 4 th Class

Virtual machine interface. Operating system. Physical machine interface

EECS 678: Introduction to Operating Systems

3 - Introduction to Operating Systems

Chapter 6, The Operating System Machine Level

ELEC 377. Operating Systems. Week 1 Class 3

Operating Systems. Rafael Ramirez (T, S)

Introduction. What is an Operating System?

Operating System Structures

Network operating systems typically are used to run computers that act as servers. They provide the capabilities required for network operation.

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

Understanding the OS Architecture and Linux History. Zhiqiang Lin

Chapter 10 Case Study 1: LINUX

Tools Page 1 of 13 ON PROGRAM TRANSLATION. A priori, we have two translation mechanisms available:

Virtual Machines.

Functions of NOS Overview of NOS Characteristics Differences Between PC and a NOS Multiuser, Multitasking, and Multiprocessor Systems NOS Server

Operating System Components and Services

Distributed Systems. REK s adaptation of Prof. Claypool s adaptation of Tanenbaum s Distributed Systems Chapter 1

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition

Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

Computers: Tools for an Information Age

OPERATING SYSTEMS Software in the Background. Chapter 2

System types. Distributed systems

Weighted Total Mark. Weighted Exam Mark

Chapter 3. Operating Systems

Components of a Computer System

Introduction to Virtual Machines

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Types Of Operating Systems

Contents. Chapter 1. Introduction

Operating System Organization. Purpose of an OS

Chapter 2 System Structures

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

Computer Science 4302 Operating Systems. Student Learning Outcomes

Distributed Systems Lecture 1 1

How To Understand The Concept Of A Distributed System

Open Source Software

CS550. Distributed Operating Systems (Advanced Operating Systems) Instructor: Xian-He Sun

Distributed File Systems

Distributed Operating Systems

Why study Operating Systems? CS 372. Why study. Why study. Introduction to Operating Systems

Kernel Types System Calls. Operating Systems. Autumn 2013 CS4023

Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines

TI III: Operating & Communication Systems Winter 2006/07

Protecting your SQL database with Hybrid Cloud Backup and Recovery. Session Code CL02

COURSE OUTLINE Survey of Operating Systems

Multiple Job Scheduling Environments.

System Structures. Services Interface Structure

Embedded Linux development training 4 days session

Chapter 3 Operating-System Structures

(Advanced Topics in) Operating Systems

How To Write A Windows Operating System (Windows) (For Linux) (Windows 2) (Programming) (Operating System) (Permanent) (Powerbook) (Unix) (Amd64) (Win2) (X

Unit 10 : An Introduction to Linux OS

OPERATING SYSTEM SERVICES

A Comparison of Distributed Systems: ChorusOS and Amoeba

Linux Kernel Architecture

How do Users and Processes interact with the Operating System? Services for Processes. OS Structure with Services. Services for the OS Itself

Chapter 2: OS Overview

Operating Systems: Basic Concepts and History

Networks and Operating Systems ( ) Chapter 1: Introduction to Operating Systems

Operating Systems Prof. Ashok K Agrawala

Software design (Cont.)

Week Overview. Installing Linux Linux on your Desktop Virtualization Basic Linux system administration

Lesson 06: Basics of Software Development (W02D2

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

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

Transcription:

Introduction CS 256/456 Dept. of Computer Science, University of Rochester General Course Information Course Web page: www.cs.rochester.edu/~kshen/csc256 Course-related announcement/correspondence: Broadcast email: cs256@cs.rochester.edu Newsgroup? Texts Tanenbaum, Modern Operating s Silberschatz et al, Operating Concepts 1/18/2006 CSC 256/456 - Spring 2006 1 1/18/2006 CSC 256/456 - Spring 2006 2 General Course Information (cont.) Perspectives of the Computer Assignments and grading five/six programming assignments (total 60%) midterm (15%) and final (25%) extra 5% for participation in class discussions maybe two written assignments (given to you to help preparing for exams, not graded) CSC456 Part in assignments C/C++ programming End-of-term survey paper for CSC456 students cut save lication print send open() malloc() fork() lication start-printer read-disk push-bits-into-nic lication What is an Operating? (a) End User View (b) lication Programmer View (c) Programmer View 1/18/2006 CSC 256/456 - Spring 2006 3 1/18/2006 CSC 256/456 - Spring 2006 4

The Structure of Computer A general piece of software with common functionalities that support many applications Examples C compiler and library functions Shell command line interpreter A window system A database management system The operating system A thin layer of software that operates directly on the bare hardware Line Line Interpreter Compiler API Database Management Loader lication Programmer Libraries Libraries Libraries Window OS OS 1/18/2006 CSC 256/456 - Spring 2006 5 1/18/2006 CSC 256/456 - Spring 2006 6 What does an Operating do? It is an extended machine Hides the messy details about hardware resources Presents users with a resource abstraction that is easy to use It is a resource manager Allows multiple users/programs to share resources and coordinate the sharing Resource Abstraction load(block, length, device); seek(device, track); out(device, sector) write(char *block, int len, int device, int track, int sector) {... load(block, length, device); seek(device, track); out(device, sector);... } write(char *block, int len, int device,int addr); fprintf(fileid, %d, datum); 1/18/2006 CSC 256/456 - Spring 2006 7 1/18/2006 CSC 256/456 - Spring 2006 8

Disk Abstractions OS Programmer lication Programmer Under the Abstraction functional complexity load(); seek(); out(); void write() { load(); seek() out() } int fprintf() {... write() } a single abstraction over multiple devices replication reliability (a) Direct Control (b) write() abstraction (c) fprintf() abstraction 1/18/2006 CSC 256/456 - Spring 2006 9 1/18/2006 CSC 256/456 - Spring 2006 10 Resource Sharing Program P i Program P j Time-multiplexed Physical Processor OS Resource Sharing Program P k Extended machine interface (resource abstraction) P i Memory i Memory P k Memory k Memory P j Memory j Memory Space-multiplexed Physical Memory 1/18/2006 CSC 256/456 - Spring 2006 11 Objectives of Resource Sharing efficiency fairness security 1/18/2006 CSC 256/456 - Spring 2006 12

Specific Types of OS Batch Processing Batch processing Timesharing OS Real-time OS Distributed OS Job (sequence of OS commands) prepared offline Batch of jobs given to OS at one time OS processes jobs one-after-the-other No human-computer interaction Batch processing still used today (e.g., for running compute-intensive simulations) Small computers OS optimizes for high processing throughput. 1/18/2006 CSC 256/456 - Spring 2006 13 1/18/2006 CSC 256/456 - Spring 2006 14 Timesharing s Real-Time s Consoles Result Result Physical Machine Computer is dedicated to a single purpose Must respond to external events in fixed time (e.g., industrial process control, multimedia servers) Continuous media popularizing real-time techniques An area of growing interest Result OS also optimizes for short response time. 1/18/2006 CSC 256/456 - Spring 2006 15 1/18/2006 CSC 256/456 - Spring 2006 16

Distributed OS Small Computers Distributed OS PDAs, embedded systems, computer sensors became more significant Have an OS, but Not general purpose Limited hardware resources and power PalmOS, Pocket PC (WinCE), VxWorks, TinyOS, Multiple Computers connected by a Network More issues: distributed coordination, fault tolerance, security, 1/18/2006 CSC 256/456 - Spring 2006 17 1/18/2006 CSC 256/456 - Spring 2006 18 Evolution of Modern OS Examples of Modern OS Batch Timesharing Memory Mgmt Scheduling Protection Memory Mgmt Protection Scheduling Files Devices PC & Wkstation Human-Computer Interface Modern OS Distributed OS Client-Server Model Network Protocols Real-Time RT Scheduling Small Computer Power Management UNIX variants (e.g., Solaris, Linux) -- have evolved since 1970 Windows NT/2K -- has evolved since 1989 (much more modern than UNIX Research OSes microkernel extensible OS virtual machines sensor OS special-purpose OS for highly concurrent Internet servers still evolving 1/18/2006 CSC 256/456 - Spring 2006 19 1/18/2006 CSC 256/456 - Spring 2006 20

Why Study Operating s? Assignment #1 Learn to design an OS or other computer systems Understand an OS Understand the inner working of an OS Enable you to write efficient/correct application code Exclusively outside of the OS kernel Part I: observing the OS kernel through the /proc virtual file system Part II: building a shell (command-line interpreter) Support foreground/background executions (CSC456 Part) Support pipes 1/18/2006 CSC 256/456 - Spring 2006 21 1/18/2006 CSC 256/456 - Spring 2006 22 Disclaimer Parts of the lecture slides contain original work of Gary Nutt and Andrew S. Tanenbaum. The slides are intended for the sole purpose of instruction of operating systems at the University of Rochester. All copyrighted materials belong to their original owner(s). 1/18/2006 CSC 256/456 - Spring 2006 23