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



Similar documents
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

Gildart Haase School of Computer Sciences and Engineering

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

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

CS420: Operating Systems OS Services & System Calls

How To Understand The Principles Of Operating Systems

Operating System Structure

Undergraduate Course Syllabus

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

Virtualization for Cloud Computing

Operating Systems Introduction

CSE 120 Principles of Operating Systems. Modules, Interfaces, 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 15: Operating Systems: An Overview

Chapter 3: Operating-System Structures. Common System Components

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

EECS 678: Introduction to Operating Systems

CSC 2405: Computer Systems II

Operating Systems OS Architecture Models

Example of Standard API

Programming for GCSE Topic H: Operating Systems

CS3600 SYSTEMS AND NETWORKS

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

Operating System Components

Operating Systems 4 th Class

Virtual machine interface. Operating system. Physical machine interface

3 - Introduction to Operating Systems

CPS221 Lecture: Operating System Structure; Virtual Machines

Chapter 6, The Operating System Machine Level

ELEC 377. Operating Systems. Week 1 Class 3

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

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:

Operating Systems. Rafael Ramirez (T, S)

Virtual Machines.

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

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

Computer Science 4302 Operating Systems. Student Learning Outcomes

COURSE OUTLINE Survey of Operating Systems

OPERATING SYSTEMS Software in the Background. Chapter 2

System types. Distributed systems

Distributed Operating Systems

Weighted Total Mark. Weighted Exam Mark

Chapter 3. Operating Systems

Operating System Components and Services

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

Chapter 2 System Structures

CPU Scheduling. CSC 256/456 - Operating Systems Fall TA: Mohammad Hedayati

How To Understand The Concept Of A Distributed System

Computers: Tools for an Information Age

CSC 314: Operating Systems Spring 2005

Open Source Software

Distributed File 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

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

Multiple Job Scheduling Environments.

Operating Systems Concepts. Chapter 1: Introduction. What is an operating system? Why might I want a virtual machine?

System Structures. Services Interface Structure

Embedded Linux development training 4 days session

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

Introduction. System Calls

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

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

Far-western University Central Office, Mahendranagar Operating System

Operating Systems: Basic Concepts and History

Operating System Organization. Purpose of an OS

CDA Introduction to Computer Networks

Computer and Information Sciences

Operating Systems Prof. Ashok K Agrawala

Transcription:

Introduction CS 256/456 Dept. of Computer Science, University of Rochester General Course Information Instructor: Kai Shen (kshen@cs.rochester.edu) TA: Kirk Kelsey (kelsey@cs.rochester.edu) TA: Christopher Stewart (stewart@cs.rochester.edu) TA: Peter DeRosa (pderosa@cs.rochester.edu) 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/12/2005 CSC 256/456 - Spring 2005 1 1/12/2005 CSC 256/456 - Spring 2005 2 General Course Information (cont.) Perspectives of the Computer C/C++ programming Assignments and grading five/six programming assignments (total 60%) midterm (15%) and final (25%) extra 5% for class participation maybe two written assignments (given to you to help preparing for exams, not graded) CSC456 Part in assignments 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 (a) End User View (b) lication Programmer View (c) Programmer View 1/12/2005 CSC 256/456 - Spring 2005 3 1/12/2005 CSC 256/456 - Spring 2005 4 CSC 256/456 - Spring 2005 1

The Structure of Computer Independent of individual applications, but common to all of them 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/12/2005 CSC 256/456 - Spring 2005 5 1/12/2005 CSC 256/456 - Spring 2005 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/12/2005 CSC 256/456 - Spring 2005 7 1/12/2005 CSC 256/456 - Spring 2005 8 CSC 256/456 - Spring 2005 2

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/12/2005 CSC 256/456 - Spring 2005 9 1/12/2005 CSC 256/456 - Spring 2005 10 Resource Sharing Program P i Program P j OS Resource Sharing Program P k Extended machine interface (resource abstraction) Objectives of Resource Sharing efficiency fairness Time-multiplexed Physical Processor P i Memory i Memory P k Memory k Memory P j Memory j Memory Space-multiplexed Physical Memory 1/12/2005 CSC 256/456 - Spring 2005 11 security 1/12/2005 CSC 256/456 - Spring 2005 12 CSC 256/456 - Spring 2005 3

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/12/2005 CSC 256/456 - Spring 2005 13 1/12/2005 CSC 256/456 - Spring 2005 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/12/2005 CSC 256/456 - Spring 2005 15 1/12/2005 CSC 256/456 - Spring 2005 16 CSC 256/456 - Spring 2005 4

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: security, fault tolerance, distributed coordination, 1/12/2005 CSC 256/456 - Spring 2005 17 1/12/2005 CSC 256/456 - Spring 2005 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/12/2005 CSC 256/456 - Spring 2005 19 1/12/2005 CSC 256/456 - Spring 2005 20 CSC 256/456 - Spring 2005 5

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/12/2005 CSC 256/456 - Spring 2005 21 1/12/2005 CSC 256/456 - Spring 2005 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/12/2005 CSC 256/456 - Spring 2005 23 CSC 256/456 - Spring 2005 6