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

Similar documents
Gildart Haase School of Computer Sciences and Engineering

Operating System Structures

Datacenters and Cloud Computing. Jia Rao Assistant Professor in CS

Far-western University Central Office, Mahendranagar Operating System

OS Concepts and structure

Operating Systems 4 th Class

How To Understand And Understand An Operating System In C Programming

Microkernels, virtualization, exokernels. Tutorial 1 CSC469

CS420: Operating Systems OS Services & System Calls

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

Chapter 6, The Operating System Machine Level

Operating Systems. Rafael Ramirez (T, S)

Full and Para Virtualization

Devices and Device Controllers

Weighted Total Mark. Weighted Exam Mark

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

CSC 2405: Computer Systems II

Example of Standard API

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

Distributed Operating Systems

Undergraduate Course Syllabus

Computer Science 4302 Operating Systems. Student Learning Outcomes

HyperV_Mon. Introduction. A Free Tool From TMurgent Technologies

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

OPERATING SYSTEM SERVICES

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

Virtual machine interface. Operating system. Physical machine interface

Chapter 16: Virtual Machines. Operating System Concepts 9 th Edition

IOS110. Virtualization 5/27/2014 1

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

Chapter 3 Operating-System Structures

Virtualization: Concepts, Applications, and Performance Modeling

Course Descriptions. preparation.

Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems

Document management and exchange system supporting education process

Operating Systems Introduction

OPERATING SYSTEMS STRUCTURES

HyperV_Mon 3.0. Hyper-V Overhead. Introduction. A Free tool from TMurgent Technologies. Version 3.0

Chapter 2 System Structures

Course Descriptions. CS 101 Intro to Computer Science

IT 342 Operating Systems Fundamentals Fall 2014 Syllabus

VMware vsphere: Install, Configure, Manage [V5.0]

CS 525 Advanced Database Organization - Spring 2013 Mon + Wed 3:15-4:30 PM, Room: Wishnick Hall 113

Virtuoso and Database Scalability

Introduction to Embedded Systems. Software Update Problem

INSTRUCTOR: Dwight Makaroff - Thorvaldson x8656. Available via appointment.

NETWORK OPERATING SYSTEMS. By: Waqas Ahmed (C.E.O at Treesol)

Obj: Sec 1.0, to describe the relationship between hardware and software HW: Read p.2 9. Do Now: Name 3 parts of the computer.

CS3600 SYSTEMS AND NETWORKS

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

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

Scalable Windows Storage Server File Serving Clusters Using Melio File System and DFS

Product Brief SysTrack VMP

Operating Systems OBJECTIVES 7.1 DEFINITION. Chapter 7. Note:

Computer Science Course Descriptions Page 1

UEFI on Dell BizClient Platforms

The Xen of Virtualization

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

WILLIAM PATERSON UNIVERSITY OF NEW JERSEY COLLEGE OF SCIENCE AND HEALTH Computer Science Department Course Outline

Chapter 5: System Software: Operating Systems and Utility Programs

LSN 10 Linux Overview

Performance Management for Cloudbased STC 2012

Scalable Windows Server File Serving Clusters Using Sanbolic s Melio File System and DFS

COS 318: Operating Systems. Virtual Machine Monitors

OPERATING SYSTEMS Internais and Design Principles

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

Balancing CPU, Storage

Load Testing Analysis Services Gerhard Brückl

Assignment # 1 (Cloud Computing Security)

ELEC 377. Operating Systems. Week 1 Class 3

Pervasive PSQL Vx Server Licensing

Cloud Computing and Attacks

COS 318: Operating Systems

Topics in Computer System Performance and Reliability: Storage Systems!

Comparing Free Virtualization Products

Operating Systems Prof. Ashok K Agrawala

Virtualization for Cloud Computing

CDA Introduction to Computer Networks

3 - Introduction to 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

CS 40 Computing for the Web

Lesson 06: Basics of Software Development (W02D2

Uses for Virtual Machines. Virtual Machines. There are several uses for virtual machines:

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

Petascale Software Challenges. Piyush Chaudhary High Performance Computing


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

Operating System Tutorial

opensm2 Enterprise Performance Monitoring December 2010 Copyright 2010 Fujitsu Technology Solutions

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

Hypervisor Software and Virtual Machines. Professor Howard Burpee SMCC Computer Technology Dept.

Performance Tuning and Optimizing SQL Databases 2016

CIS 3515 Mobile Application Development Instructor:

Outline: Operating Systems

Application Compatibility Best Practices for Remote Desktop Services

How To Understand The Principles Of Operating Systems

Overview of Operating Systems Instructor: Dr. Tongping Liu

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

Hardware Recommendations

Transcription:

CS 372 Introduction to Operating Systems Lorenzo Alvisi Amitanand Aiyer Can t I just buy a couple $5 CD at the Campus Store and be done with it? To learn how computers work To learn how to manage complexity through appropriate abstractions infinite CPU, infinite memory, files, semaphores, etc. To learn about system design performance vs. simplicity, HW vs. SW, etc. Because OSs are everywhere!

Where s the OS? Las Vegas Where s the OS? New York CS 372 A capstone course Because you are worth it! PL meets Data Structures meets HW meets Algorithms meets Software Engineering...and they all meet you! Projects build components of an OS enhance software engineering skills

Three levels of learning Three levels of learning How to approach problems Example: problem definition, design-space exploration, case studies Goal: When faced with a similar problem, you should be able to devise a solution Time-scale: big, long-term payoff How to apply specific techniques Example: time-tested solutions to hard problems such as concurrent programming, two-phase commit, transactions... Goal: Become a good engineer Time-scale: useful both now and in 20 years Three levels of learning What is an OS? How, in detail, current OSs work Example: FS, network stack, internal data structures, VM, of Linux, XP, Solaris, etc. Goal: Well... know, in detail. how current OSs work! Time-scale: Better be now, because all will have changed tomorrow An Operating System implements a virtual machine whose interface is more convenient* that the raw hardware interface OS Interface Physical Machine Interface Application Application Application Application Application Operating System Hardware * easier to use, simpler to code, more reliable, more secure...

Operating System Services Operating System Services of physical resources such as CPU, memory, disks, networks, displays, cameras, etc. Operating System Services Operating System Services of physical resources such as CPU, memory, disks, networks, displays, cameras, etc. abstracts physical resources to create processes, threads, files, directories, users, etc. of physical resources such as CPU, memory, disks, networks, displays, cameras, etc. abstracts physical resources to create processes, threads, files, directories, users, etc. allows multiple applications/users to work together in efficient and fair ways

Logical OS Structure? Administrivia Applications OS Interface Operating System Services Physical m/c Intf Quake Sql Server System Utils Shells Windowing & graphics Naming Networking Windowing & Gfx Virtual Memory Access Control Generic I/O File System Process Management Device Drivers Memory Management Interrupts, Cache, Physical Memory, TLB, Hardware Devices Textbook Operating Systems Concepts, 7th edition, by Silberschatz, Galvin and Gagne, Wiley (6th or 5th edition ok too) Further readings, notes, as distributed in class Other useful texts Operating System Principles, Bic & Shaw, 2nd edition Modern Operating Systems, Tanenbaum, Prentice Hall Grading Policy Where to go for help Exams (closed books) Midterm: 25% Final: 35% Projects: 40% No formal homework Practice problems and solutions posted on web site Ask questions in class Attend office hours Lorenzo: T/TH 1:30-2:30 Amit: M: 12:00-1:00; W: 4:30-530; F 9:30-10:30 Don t send questions by email I want to know you I don t want to be subject to DOS attacks Your primary avenue for resolving questions is office hours

Academic Integrity Issues in OS Design Submitted work should be your own Encouraged collaboration: discuss problem sets, projects point of confusion, question interpretation, solution approaches Dishonesty has no place in any community You may NOT copy code from another group, or any course project material similar to the one used in this class It is never OK to look at the written work of another student or show them yours until grading is done including whiteboard discussions, or help in debugging. Use the Gilligan Island rule. When in doubt, ask! Structure: how is an operating system organized? Sharing: how are resources shared among users? Naming: how are resources named by users or programs? Protection: how is one user/program protected from another? Security: how to authenticate, control access, secure privacy? Performance: why is it so slow? Reliability and fault tolerance: how do we deal with failures? Extensibility: how do we add new features? Issues in OS Design Communication: how can we exchange information? Concurrency: how are parallel activities created and controlled? Scale, growth: what happens as demands or resources increase? Persistence: how can data outlast processes that created them? Compatibility: can we ever do anything new? Distribution: accessing the world of information Accounting: who pays bills, and how to control resource usage Why is this material critical? Concurrency Therac-25, Ariane 5 rocket (June 96) Communication Air Traffic Control System Persistence Denver Airport Virtual Memory Blue Screens of Death Security Data Theft at McCombs School of Businness