DOC PREVIEW
UMD CMSC 412 - Operating Systems

This preview shows page 1-2-3-4 out of 11 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 11 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 11 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 11 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 11 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 11 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

1CMSC 412 – S03 (lect 1)Operating Systemsz Review Syllabus– read the warning about the size of the project– make sure you get the 6thedition (or later) of the bookz Program #0 Handout– its due in just under one week– purpose is to get familiar with the simulatorz Discussion Sections– will focus on the project and meet only once a week (W)z Reading– Chapter 1 – Chapter 2 (for Thursday)2CMSC 412 – S03 (lect 1)What is an Operating System?z Resource Manager– Resources include: CPU, memory, disk, network– OS allocates and de-allocates these resourcesz Virtual Machine– provides an abstraction of a larger (or just different machine)– Examples:• Virtual memory - looks like more memory• Java - pseudo machine that looks like a stack machine• IBM VM - a complete virtual machine (can boot multiple copies of an OS on it)z Multiplexor– allows sharing of resources and protection– motivation is cost: consider a $40M supercomputer3CMSC 412 – S03 (lect 1)What is an OS (cont)?z Provider of Services– includes most of the things in the above definition– provide “common” subroutines for the programmer• windowing systems• memory managementz The software that is always loaded/running– generally refers to the Os kernel.• small protected piece of softwarez All of these definitions are correct– but not all operating have all of these features4CMSC 412 – S03 (lect 1)Closely Related to an Operating Systemz 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 MIPSz Languages– can you write an OS in any language?• No: need to be able to explicitly layout data structures to match hardware5CMSC 412 – S03 (lect 1)OS Related Topics (cont)z Language Runtime systems– memory management requirements• explicit heap management• garbage collection• stack layout– concurrency and synchronization– calling convention (how are parameters passed)z 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 time6CMSC 412 – S03 (lect 1)Usability Goalsz Robustness– accept all valid input– detect and gracefully handle all invalid input– should not be possible to crash the OSz 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 items7CMSC 412 – S03 (lect 1)Usability Goals (cont)z 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 can8CMSC 412 – S03 (lect 1)Cost Goalsz Good Algorithms– time/space tradeoff are important– use special hardware where needed• smart disk controllers, memory protectionz Low maintenance cost– should not require constant attention z Maintainability– most of cost in OS is in maintenance so make it easy to maintain the software base9CMSC 412 – S03 (lect 1)Adaptability Goalsz Tailored to the environment– server vs. workstation– multi-media vs. data entryz Changes over time– added memory– new devicesz Extensible– third parties can add new features• database vendors often need custom features– end customers can extend the system• new devices• new policies10CMSC 412 – S03 (lect 1)Why Study Operating Systems?z They are large and complex programs– good software engineering examplesz 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 merchantsz Many levels of abstraction– hardware details: where the bits really go and when– high level concepts: deadlock, synchronization11CMSC 412 – S03 (lect 1)Why Study Operating Systems (cont.)z 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.z It’s fun– the details are interesting (at least I think so :)– thinking about concurrency makes you better at writing software for other


View Full Document

UMD CMSC 412 - Operating Systems

Documents in this Course
Security

Security

65 pages

Deadlocks

Deadlocks

22 pages

Set 2

Set 2

70 pages

Project 2

Project 2

21 pages

Load more
Download Operating Systems
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Operating Systems and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Operating Systems 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?