Lecture 1. CMSC 412 S17 (lect 1)

Similar documents
Operating Systems. read the warning about the size of the project make sure you get the 6 th edition (or later) of the book

Last 2 Classes: Introduction to Operating Systems & C++ tutorial. Today: OS and Computer Architecture

Operating Systems CMPSCI 377 Spring Mark Corner University of Massachusetts Amherst

CS 5460/6460 Operating Systems

DNWSH - Version: 2.3..NET Performance and Debugging Workshop

ECE 341. Lecture # 19

CHAPTER 3 RESOURCE MANAGEMENT

Operating Systems. Operating System Structure. Lecture 2 Michael O Boyle

CSC369 Lecture 2. Larry Zhang

CSC369 Lecture 2. Larry Zhang, September 21, 2015

CS 571 Operating Systems. Midterm Review. Angelos Stavrou, George Mason University

Process Description and Control

CS 31: Intro to Systems Virtual Memory. Kevin Webb Swarthmore College November 15, 2018

CS 134: Operating Systems

CPSC 341 OS & Networks. Introduction. Dr. Yingwu Zhu

Programming Project 4: COOL Code Generation

CS350: Final Exam Review

Timers 1 / 46. Jiffies. Potent and Evil Magic

Process Description and Control. Chapter 3

Operating Systems (2INC0) 2018/19. Introduction (01) Dr. Tanir Ozcelebi. Courtesy of Prof. Dr. Johan Lukkien. System Architecture and Networking Group

Virtual Memory. Virtual Memory. Demand Paging. valid-invalid bit. Virtual Memory Larger than Physical Memory

CS5460: Operating Systems

Virtual Memory. CSCI 315 Operating Systems Design Department of Computer Science

CS 31: Intro to Systems Operating Systems Overview. Kevin Webb Swarthmore College March 31, 2015

Lecture 4: Threads; weaving control flow

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

CSE Traditional Operating Systems deal with typical system software designed to be:

Software Engineering at VMware Dan Scales May 2008

CSE 153 Design of Operating Systems

Boot Camp. Dave Eckhardt Bruce Maggs

3 rd Year V Semester

CS533 Concepts of Operating Systems. Jonathan Walpole

The Slide does not contain all the information and cannot be treated as a study material for Operating System. Please refer the text book for exams.

Topics. Operating System I. What is an Operating System? Let s Get Started! What is an Operating System? OS History.

Concurrent & Distributed Systems Supervision Exercises

OPERATING SYSTEMS & Network OVERVIEW. 1: OS & Network Overview

@2010 Badri Computer Architecture Assembly II. Virtual Memory. Topics (Chapter 9) Motivations for VM Address translation

Lecture 7: Process & Thread Introduction

ECE 485/585 Microprocessor System Design

Four Components of a Computer System

OS Extensibility: SPIN and Exokernels. Robert Grimm New York University

Operating Systems. Lecture Course in Autumn Term 2015 University of Birmingham. Eike Ritter. September 22, 2015

Advanced Operating Systems (CS 202)

CMSC 313 COMPUTER ORGANIZATION & ASSEMBLY LANGUAGE PROGRAMMING LECTURE 09, SPRING 2013

CPS 210: Operating Systems

CSE 333 Lecture 1 - Systems programming

Chapter 3: Operating-System Structures

CS 261 Fall Mike Lam, Professor. Virtual Memory

Topics. Operating System. What is an Operating System? Let s Get Started! What is an Operating System? Where in the Book are we?

COS 318: Operating Systems

Last class: OS and Architecture. OS and Computer Architecture

Last class: OS and Architecture. Chapter 3: Operating-System Structures. OS and Computer Architecture. Common System Components

Operating Systems. Sina Meraji U of T

ECE 550D Fundamentals of Computer Systems and Engineering. Fall 2017

COSC3330 Computer Architecture Lecture 20. Virtual Memory

CSE 4/521 Introduction to Operating Systems. Lecture 15 Virtual Memory I (Background, Demand Paging) Summer 2018

CS/SE3SH3 Operating Systems

Announcement. Exercise #2 will be out today. Due date is next Monday

Virtual Memory Oct. 29, 2002

Module 1 Introduction/OS Overview

Introduction & Logistics

1993 Paper 3 Question 6

Operating Systems, Spring 2015 Course Syllabus

Control Abstraction. Hwansoo Han

Virtual Memory. 11/8/16 (election day) Vote!

Chapter 2: Operating-System Structures

Introduction. CS3026 Operating Systems Lecture 01

Today s Topics. u Thread implementation. l Non-preemptive versus preemptive threads. l Kernel vs. user threads

CSE 120 Principles of Operating Systems

Overview. EE 4504 Computer Organization. Much of the computer s architecture / organization is hidden from a HLL programmer

Computer Systems II. First Two Major Computer System Evolution Steps

18-447: Computer Architecture Lecture 16: Virtual Memory

TDDI04, K. Arvidsson, IDA, Linköpings universitet Operating System Structures. Operating System Structures Overview. Operating System Services

Programming Assignment IV Due Thursday, November 18th, 2010 at 11:59 PM

Process Description and Control

Lecture 2 Fundamental OS Concepts. Bo 2018, Spring

Introduction and Overview

Real Time and Embedded Systems. by Dr. Lesley Shannon Course Website:

To Everyone... iii To Educators... v To Students... vi Acknowledgments... vii Final Words... ix References... x. 1 ADialogueontheBook 1

references Virtualization services Topics Virtualization

The Challenges of X86 Hardware Virtualization. GCC- Virtualization: Rajeev Wankar 36

CS510 Operating System Foundations. Jonathan Walpole

Ricardo Rocha. Department of Computer Science Faculty of Sciences University of Porto

Chapter 2. Operating-System Structures

OPERATING SYSTEMS UNIT - 1

COS 318: Operating Systems. Overview. Andy Bavier Computer Science Department Princeton University

Exceptions and Processes

Physical memory vs. Logical memory Process address space Addresses assignment to processes Operating system tasks Hardware support CONCEPTS 3.

Operating Systems. Memory Management. Lecture 9 Michael O Boyle

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017

CS 471 Operating Systems. Yue Cheng. George Mason University Fall 2017

CSE 333 Lecture 1 - Systems programming

Operating Systemss and Multicore Programming (1DT089)

Spring It takes a really bad school to ruin a good student and a really fantastic school to rescue a bad student. Dennis J.

Memory Management. Kevin Webb Swarthmore College February 27, 2018

CMPSC 311- Introduction to Systems Programming Module: Systems Programming

5 Lecture: Intro. to Concurrency

CISC 360. Virtual Memory Dec. 4, 2008

CS333 Intro to Operating Systems. Jonathan Walpole

OS and Computer Architecture. Chapter 3: Operating-System Structures. Common System Components. Process Management

Transcription:

Lecture 1 1

Review Syllabus Operating Systems read the warning about the size of the project make sure you get the 6 th edition (or later) of the book Class Grades Server Grades.cs.umd.edu Program #0 Handout its due in just under one week purpose is to get familiar with the simulator Discussion Sections will focus on the project and meet only once a week (W) Reading Chapter 1 Chapter 2 (for Tuesday) 2

What is an Operating System? Resource Manager Resources include: CPU, memory, disk, network OS allocates and de-allocates these resources Virtualizer provides an abstraction of a larger (or just different machine) Examples: Multiplexor Virtual memory - looks like more memory Java - pseudo machine that looks like a stack machine VM - a complete virtual machine (can boot multiple copies of an OS on it) allows sharing of resources and protection motivation is cost: consider a $40M supercomputer 3

What is an OS (cont)? Provider of Services includes most of the things in the above definition provide common subroutines for the programmer windowing systems memory management The software that is always loaded/running generally refers to the Os kernel. small protected piece of software All of these definitions are correct but not all operating have all of these features 4

Closely Related to an Operating System Hardware OS is managing hardware resources so needs to know about the ugly details of the hardware interrupt vectors page tables I/O registers some features can be implemented either in hardware or the OS Example: page tables on MIPS Languages can you write an OS in any language? No: need to be able to explicitly layout data structures to match hardware 5

OS Related Topics (cont) Language Runtime systems memory management requirements explicit heap management garbage collection stack layout concurrency and synchronization calling convention (how are parameters passed) Data Structure and Algorithms efficient access to information in an OS for most things need linear time and space for many things want log or constant time 6

Why Study Operating Systems? They are large and complex programs good software engineering examples There is no perfect OS too many types of users real-time, desktop, server, etc... many different models and abstractions are possible OS researchers have been termed abstraction merchants Many levels of abstraction hardware details: where the bits really go and when high level concepts: deadlock, synchronization 7

Why Study Operating Systems (cont.) Necessity reliability: when the OS is down, computer is down recovery: when the OS goes down it should not take all of your files with it. It s fun the details are interesting (at least I think so :) thinking about concurrency makes you better at writing software for other areas 8

Usability Goals Robustness accept all valid input detect and gracefully handle all invalid input should not be possible to crash the OS Consistency same operation should mean the same thing read from a file or a network should look the same a - flag should be the same in different commands conventions define the convention follow the convention when adding new items 9

Usability Goals (cont) Proportionality simple, common cases are easy and fast good default values complex, rare cases are possible but more complex and slower rm * should give a warning formatting the disk should not be on the desktop next to the trash can 10

Cost Goals Good Algorithms time/space tradeoff are important use special hardware where needed smart disk controllers, memory protection Low maintenance cost should not require constant attention Maintainability most of cost in OS is in maintenance so make it easy to maintain the software base 11

Adaptability Goals Tailored to the environment server vs. workstation vs. mobile multi-media vs. data entry Changes over time added memory new devices Extensible third parties can add new features database vendors often need custom features end customers can extend the system new devices new policies 12

System Calls Provide the interface between application programs and the kernel Are like procedure calls take parameters calling routine waits for response Permit application programs to access protected resources register r0 load r0, x system call 10 Code for sys call 10 User Program Operating System (kernel) 13

System Call Mechanism Use numbers to indicate what call is made Parameters are passed in registers or on the stack Why do we use indirection of system call numbers rather than directly calling a kernel subroutine? provides protection since the only routines available are those that are export permits changing the size and location of system call implementations without having to re-link application programs 14

File Related open, create read, write close, delete get or set file attributes Information Types of System Calls get time set system data (OS parameters) get process information (id, time used) Communication establish a connection send, receive messages terminate a connection Process control create/terminate a process (including self) Get/set process meta data (i.e. Limit system call for project #0) 15