IntroductionCS-3013 A-term 20091 CS-3013 Operating Systems A-term 2009 (Slides include materials from Modern Operating Systems, 3 rd ed., by Andrew Tanenbaum.

Slides:



Advertisements
Similar presentations
IntroductionCS-4513, D-Term Distributed Computing Systems Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System Concepts,
Advertisements

Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
Chapter 1: Introduction
Operating Systems CS451 Brian Bershad
CS-3013 & CS-502, Summer 2006 Virtual Machine Systems1 CS-502 Operating Systems Slides excerpted from Silbershatz, Ch. 2.
IntroductionCS-4513 D-term Introduction CS-4513 Distributed Computing Systems (Slides include materials from Operating System Concepts, 7 th ed.,
IntroductionCS-3013 A-term CS-3013 Operating Systems A-term 2008 (Slides include materials from Modern Operating Systems, 3 rd ed., by Andrew Tanenbaum.
© 2004, D. J. Foreman 1 CS350 Operating Systems. © 2004, D. J. Foreman 2 Administrivia  Assignments ■ Homework on most chapters ■ Approximately 8 lab.
Course Information 1 CS502 Spring 2006 Operating Systems CS502 Spring 2006 Mondays – 6PM.
Introduction to windows operating system i
Topic 1 – What is an OS? 1 CS502 Spring 2006 What is an Operating System? Characteristics –Large, complex set of programs –Long-lived, evolutionary –Worked.
The University of Akron Summit College Business Technology Department Computer Information Systems 2440: 145 Operating Systems Introduction to UNIX/Linux.
Operating System.
Operating Systems Chapter 4.
Chapter 3  Manage the computer’s resources ◦ CPU ◦ Memory ◦ Disk drives ◦ Printers  Establish a user interface  Execute and provide services for applications.
Introduction to Operating Systems J. H. Wang Sep. 18, 2012.
Operating Systems Operating System
Lecture 14: Operating Systems Intro to IT COSC1078 Introduction to Information Technology Lecture 14 Operating Systems James Harland
Operating systems CHAPTER 7.
Operating Systems. Operating systems  Between the hardware and the application software lies the operating system. The operating system is a program.
Module 2 Part I Introduction To Windows Operating Systems Intro & History Introduction To Windows Operating Systems Intro & History.
LINUX/UNIX WORKSTATIONS Franklin Montenegro Carlos Sierra.
LINUX System : Lecture 2 OS and UNIX summary Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang University Acknowledgement.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 1 Introduction Read:
IntroductionCS-502 Fall CS-502 Operating Systems Fall 2007 Hugh C. Lauer Adjunct Professor.
WEEK 1 COURSE INTRODUCTION INTRODUCTION TO OPERATING SYSTEMS OPERATING SYSTEM STRUCTURES Operating Systems CS3013 / CS502.
ICOM Noack Operating Systems - Administrivia Prontuario - Please time-share and ask questions Info is in my homepage amadeus/~noack/ Make bookmark.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 14, 2005 Operating System.
1 Introduction to Operating Systems 9/16/2008 Lecture #1.
CS 3013 & CS 502 Summer 2006 Course Introduction1 CS3013 & CS502 – Operating Systems Hugh C. Lauer, Ph.D. Adjunct Professor.
Course Overview Ted Baker  Andy Wang COP 5641 / CIS 4930.
Introduction to Operating Systems J. H. Wang Sep. 18, 2015.
1 COMPSCI 110 Operating Systems Who - Introductions How - Policies and Administrative Details Why - Objectives and Expectations What - Our Topic: Operating.
Operating Systems Sara Mullan Johns Hopkins University Fall 2010
CS 444 Introduction to Operating Systems
CS 390 Unix Programming Summer Unix Programming - CS 3902 Course Details Online Information Please check.
MODERN OPERATING SYSTEMS Third Edition ANDREW S. TANENBAUM Chapter 1 Introduction Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc.
COP3502: Introduction to Computer Science Yashas Shankar.
CT 1503 Network Operating Systems Instructor: Dr. Najla Al-Nabhan 2014.
IntroductionCS-502 (EMC) Fall CS-502 Operating Systems CS-502, Operating Systems Fall 2009 (EMC) (Slides include materials from Modern Operating.
Course Overview Ted Baker  Andy Wang COP 5641 / CIS 4930.
1 Operating Systems: Principles and Practice Cpr E 308.
Introduction to Operating Systems J. H. Wang Sep. 15, 2010.
11/21/20151 Operating Systems Design (CS 423) Elsa L Gunter 2112 SC, UIUC Based on slides by Sam King and Andrew.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
IntroductionCS-3013 C-term CS-3013, Operating Systems C-term 2008 Hugh C. Lauer Adjunct Professor (Slides include materials from Operating System.
CS-502 Fall 2006Introduction1 CS-502 Operating Systems Hugh C. Lauer Adjunct Professor.
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Course Overview Mark Stanovich COP 5641 / CIS 4930.
Introduction to Operating Systems J. H. Wang Sep. 13, 2013.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Course Overview Ted Baker  Andy Wang COP 5641 / CIS 4930.
Operating Systems CMPSC 473 Introduction and Overview August 24, Lecture 1 Instructor: Bhuvan Urgaonkar.
Computer Operating Systems And Software applications.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Chapter 2 Operating Systems
Introduction to Operating Systems Concepts
Introduction to Operating Systems
CS 450/550 Operating Systems Loc & Time: MW 1:40pm-4:20pm, 101 ENG
Unit OS2: Operating System Principles
CS-3013 and CS-502 Operating Systems
Lecture Note 0: Course Introduction
CS-3013 Operating Systems Hugh C. Lauer
CS-2303 System Programming Concepts
CS-3013 and CS-502 Operating Systems
Linux Professor Sabol.
Lecture Note 0: Course Introduction
CS-2303 Introduction (continued)
Lecture Topics: 11/1 Hand back midterms
Presentation transcript:

IntroductionCS-3013 A-term CS-3013 Operating Systems A-term 2009 (Slides include materials from Modern Operating Systems, 3 rd ed., by Andrew Tanenbaum and from Operating System Concepts, 7 th ed., by Silbershatz, Galvin, & Gagne)

IntroductionCS-3013 A-term Why an Operating Systems course? WPI requirements Core area for Computer Science grads and undergrads Diversity requirement for ECE and other programs Understanding “systems” Inner workings of software underpinnings of everything else Diversity of operating systems OS-related assignments you may see in real life:– “Design and develop an operating system to do THIS” (not very likely) “Design and develop this application on THAT system to exploit its special features” (likely) “Select an operating system for an application that will do THAT” (possible) Especially engineering grads in other fields!

IntroductionCS-3013 A-term This Course Two 2-hour classes per week, 7 weeks 8:00 AM to 9:50 AM, Tuesdays and Fridays August 28 – October 13 (Nearly) identical to first half of CS-502 First graduate course in Operating Systems Concentrated reading and project work Project work inside Linux kernel

IntroductionCS-3013 A-term Textbook and Web Textbook: –(required) Modern Operating Systems, 3 rd edition, by Andrew S. Tanenbaum, Pearson Prentice-Hall, 2008 –No older editions! –(required) Linux Kernel Design, 2 nd edition, by Robert Love, Novell Press, 2005 Course Information: –

IntroductionCS-3013 A-term Prerequisites Prerequisites: –C/C++ programming Especially a low-level language such as C –Data structures –Computer Organization –Unix/Linux user experience and access Reading assignment –Tanenbaum Chapter 1 Quiz on Chapter 1 Friday, September 4, 8:00 AM

IntroductionCS-3013 A-term More on Prerequisites No time to try to “pick up” C programming Java-only programmers will find it challenging C++-only programmers may also find it challenging It is nearly impossible to succeed in the projects if you don’t know how to use pointers, malloc(), and free() in C Time required 17+ hours per week average, 7 weeks total Computing resources Fossil Lab Room B17, Fuller ID card operates lock; separate login account and password Web-based Turnin system for projects

IntroductionCS-3013 A-term Schedule & Logistics Schedule –Fuller Labs – Room 320 –8:00 AM to 9:50 AM –One 5 minute break –14 classes –One final exam –Several quizzes during the term, possibly unannounced. ~4 Programming Projects –1week each except last one Mobile Phones, pagers and other similar devices OFF during class Avoid food and drink in class Office Hours –by appointment or immediately after class –Fridays noon–1:00PM Contacts cs.wpi.edu –Fuller 144:– (508) Class lists –cs3013-all or same domain Teaching assistants –Thangam V. Seenivasan Jia Wang –Office hours in Fossil Lab

IntroductionCS-3013 A-term Tanenbaum Textbook This course covers in depth Chapter 2 – Processes, threads, and synchronization Chapter 3 – Virtual memory Chapter 5 – Input/Output In addition, you are responsible for Chapter 1 – Introduction Chapter 11 – Case Study: Windows Vista Both will be covered in quizzes or Final Exam

IntroductionCS-3013 A-term Tanenbaum Textbook (continued) CS-4513, Distributed Systems covers Chapter 4:– File Systems Chapter 8:– Multiple-processor Systems (part of) Chapter 9:– Security

IntroductionCS-3013 A-term Exams and Quizzes Final exam, October 13, 8:00 AM Exam rules –1–1.5 hour –May include lecture material introduced earlier that same class –Closed book, one 8½ x 11 sheet of prepared notes (2 sides) –Bring calculator Quizzes may be announced or unannounced –Closed book, no notes –Calculator may be useful

IntroductionCS-3013 A-term Grading –Exams & quizzes – 40% –Programming Projects – 40% –Class participation – 20% Optional two-person teams on some project work Late Policy – 10% per day –But contact Professor for extenuating circumstances –Rosh Hashanah occurs near a project due date! WPI Academic Honesty policy

IntroductionCS-3013 A-term More on Grading This is a hard course with a lot of project work. –For some students, this is first really hard course It is possible to get an A if you ace the projects but do only average on the quizzes and exams It is not possible to get an A if you ace the quizzes and exams but don’t do satisfactory projects It is very difficult to pass if you don’t even turn in the projects. No incomplete grades will be awarded. All grading is done on “a curve”

IntroductionCS-3013 A-term Ground Rule #1 There are no “stupid” questions. It is a waste of your time and the class’s time to proceed when you don’t understand the basic terms. If you don’t understand it, someone else probably doesn’t it, either.

IntroductionCS-3013 A-term Ground Rule #2 Help each other! Even if a project or assignment is specified as individual, ask your friends/colleagues about stuff you don’t understand. It is a waste of your time try to figure out some obscure detail on your own when there are lots of resources around. When you have the answer, write it in your own words (or own coding style)

IntroductionCS-3013 A-term Programming Projects Projects based on OpenSUSE Linux 11.1 (The latest version!) Each student will get a “virtual machine” What is a virtual machine? ( §1.7.5 and §8.3 in Tanenbaum) Build, modify, install Linux kernel on your virtual machine Debug, analyze, crash Restore, try again

IntroductionCS-3013 A-term Fossil Lab (Free Open-Source Software Laboratory) Upgraded two years ago 30 Dell 2.4 GHz Core Duo PCs, 2 gigabytes RAM One Fossil server, 900+ gigabytes of user storage Gigabit local area network; protected from campus Virtual Machines Stored on Fossil server May be run on any Fossil PC –VMware Workstation May be suspended, resumed, restored, etc. Not backed up!!!

IntroductionCS-3013 A-term What is a Virtual Machine? An application that simulates a computer system with enough performance and fidelity to mimic actual hardware Concept originated in 1960s, and has been used occasionally in large systems Established in mainstream of enterprise systems by VMware in early 2000s.

IntroductionCS-3013 A-term Virtual Machine Definitions Host system:– The hardware and operating system that supports the virtualization application E.g., a Windows PC in the Fossil Lab E.g., a departmental server E.g., your own PC or Mac Guest system:– The virtual hardware and the operating system that is being simulated E.g., OpenSUSE Linux 11.1 for this course

IntroductionCS-3013 A-term Project Textbook (Linux) Preferred –Robert Love, Linux Kernel Design, 2 nd edition, Novell Press, 2005 Alternative –Daniel Bovet & Marco Cesari, Understanding the Linux Kernel, 3 rd edition, O’Reilly Media, 2006 –This is denser and more encyclopedic; aimed at professional Linux kernel developers Two copies on reserve in Library.

IntroductionCS-3013 A-term Questions?

IntroductionCS-3013 A-term Outline for Today Logistics and Details of this Course Introductions Discussion – What is an Operating System? Project Assignment Virtual Machines Introduction to Concurrency

IntroductionCS-3013 A-term Getting to Know You

IntroductionCS-3013 A-term Instructor — Hugh C. Lauer Adjunct Professor Ph. D. Carnegie-Mellon –Dissertation “Correctness in Operating Systems” Lecturer: University of Newcastle upon Tyne, UK Approximately 30 years in industry in USA Research topics –Operating Systems –Proofs of Correctness –Computer Architecture –Networks and Distributed Computing –Real-time networking –3D Volume Rendering –Surgical Simulation and Navigation –…

IntroductionCS-3013 A-term Systems Experience IBM Corporation University of Newcastle Systems Development Corporation Xerox Corporation (Palo Alto) Software Arts, Inc. Apollo Computer Eastman Kodak Company Mitsubishi Electric Research Labs (MERL) Real-Time Visualization Founded and spun out from MERL Acquired by TeraRecon, Inc. SensAble Technologies, Inc. Dimensions Imaging, Inc. (new start-up)

IntroductionCS-3013 A-term VolumePro™ Interactive volume rendering of 3D data such as MRI scans CT scans Seismic scans Two generations of ASICs, boards, software VolumePro 500 – 1999 VolumePro 1000 – 2001 CTO, Chief Architect of VolumePro million gate, high-performance ASIC 10 9 Phong-illuminated samples per second

IntroductionCS-3013 A-term Sample images from VolumePro

IntroductionCS-3013 A-term Operating Systems I have known IBSYS (IBM 7090) OS/360 (IBM 360) TSS/360 (360 mod 67) Michigan Terminal System (MTS) CP/CMS & VM 370 MULTICS (GE 645) Alto (Xerox PARC) Pilot (Xerox STAR) CP/M MACH Apollo DOMAIN Unix (System V & BSD) Apple Mac (v.1 – v.9) MS-DOS Windows NT, 2000, XP various embedded systems Linux …

IntroductionCS-3013 A-term Other Two seminal contributions to computer science Duality hypothesis for operating system structures (with Roger Needham) First realization of opaque types in type-safe programming languages (with Ed Satterthwaite) 21 US patents issued Computer architecture Software reliability Networks Computer graphics & volume rendering

IntroductionCS-3013 A-term Outline for Today Logistics and Details of this Course Introductions Discussion – What is an Operating System? Introduction to Concurrency Project Assignment Virtual Machines Term Project Assignment

IntroductionCS-3013 A-term Class Discussion What is an Operating System? (Laptops closed, please!)

IntroductionCS-3013 A-term What is an Operating System? Characteristics –Large, complex set of programs –Long-lived, evolutionary –Worked on by many people over many years Functions –Creates abstractions –Multiplexes concurrent activities –Manages resources –Mediates access to hardware devices –Provides a variety of services to users and applications –…–…

IntroductionCS-3013 A-term Definition – Abstraction The distillation of a complex mechanism into a simple, conceptual model User of abstraction does not need to worry about details Implementer of abstraction does not need to worry about how user will use it (within limits)

IntroductionCS-3013 A-term Abstraction The most important word in this course!

IntroductionCS-3013 A-term What is an operating system? (cont’d) Abstractions:– –Processes, threads, and concurrent computation –Virtual memory. For managing memory –Files. Persistent storage of information –Sockets & connections for network communication Controls I/O & peripherals Implements security and accessibility See §1.1 of Tanenbaum Definition — Same as judicial definition of pornography “I cannot define it, but I sure can recognize one when I see it!”

IntroductionCS-3013 A-term Operating Systems – a Study of Evolution Simple managing of time of expensive computers Managing concurrency between I/O and computation … and users … and applications Managing memory Managing files, communication, GUIs Creating abstractions for all of the above … and more!

IntroductionCS-3013 A-term What is an Operating System Hardware Interfaces – Registers, etc. OS Kernel Prog. ToolsServices UI/Shell/GUI XYZ OfficeMedia PlayerBusiness Appl. Processor(s)I/O Controllers Traditional OS Practical OS

IntroductionCS-3013 A-term Computer System Organization

IntroductionCS-3013 A-term Operating System Organization Kernel System Libraries (user space) Utilities, tools, Window packages, program management, other stuff Drivers & modulesFile Systems Most of Vista’s improvements are here Most of Vista’s problems are here

IntroductionCS-3013 A-term Major Topics in OS Courses structure: how is the OS organized? sharing: how are resources shared across users? naming: how are resources named (by users or programs)? security: how is the integrity of the OS and its resources ensured? protection: how is one user/program protected from another? performance: how do we make it all go fast? reliability: what happens if something goes wrong – hardware or software extensibility: can we add new features? communication: how do programs exchange information concurrency: how are parallel activities created and controlled? scale: what happens as demands or resources increase? persistence: how do you make data last longer than program executions? distribution: how do multiple computers interact with each other? accounting: how do we keep track of resource usage, and charge for it? Is user interface package part of operating system?

IntroductionCS-3013 A-term Kinds of operating systems See §1.4 of Tanenbaum – Operating System Zoo –Mainframe Operating Systems –Server Operating Systems –Multiprocessor Operating Systems –Personal Computer Operating Systems –Handheld Computer Operating Systems –Embedded Operating Systems –Sensor Node Operating Systems –Real-time Operating Systems –Smart-card Operating Systems –…

IntroductionCS-3013 A-term Two Important Operating Systems Linux — Chapter 10 Windows — Chapter 11 Spans PCs, servers, multiprocessors, etc. (Skip ahead)

IntroductionCS-3013 A-term OS History – Unix & Linux Unix –Descendant of Multics –First “C” version in 1973 (DEC PDP-11) Timesharing for < 10 users on 32K Memory Many Unix versions at Bell Labs – different goals Source code made available to Universities – BSD –Posix (start 1981) defines standard Unix system calls –AT&T licensing!

IntroductionCS-3013 A-term OS History - Linux Open Source – Linux.org First Version 1991, Linus Torvalds, processor –v.01, limited devices, no networking, –with proper Unix process support! 1994, v1.0 –networking (Internet) –enhanced file system –many devices, dynamic kernel modules

IntroductionCS-3013 A-term OS History - Linux 1996, v2.0 –multiple architectures, multiple processors –threads, memory management …. Gnome UI – introduced in 1999 Recent –V2.6 – 3 million lines of code –7-10 million users –Growth by 25%/year through 2003 –Growing use in business server market Note: development convention –Odd numbered minor versions “development” –Even numbered minor versions “stable”

IntroductionCS-3013 A-term OS History – Windows NT/2000/XP Key designer – David Cutler also designed VAX/VMS 1988, v1 – Win32 API – “microkernel” 1990, v3.1– Server and Workstation versions 1996, v4.0 –Win95 interface –Graphics to kernel –More NT licenses sold than all Unix combined –Microkernel de-emphasized

IntroductionCS-3013 A-term OS History – Windows NT/2000/XP Windows 2000 – NT5.0 –Multi-user (with terminal services) –Professional - desktop –Server and Advanced Server - Client-server application servers –Datacenter Server - Up to 32 processors, 64 GB RAM Windows XP –Windows 2000 code base –Revised UI –EOL for DOS/Windows line

IntroductionCS-3013 A-term OS History – Windows NT/2000/XP Microsoft has 80% to 90% of OS market Wintel – Windows + X86 WinNT 4.x is 12 million lines of code Win2000 is 18 million lines of code Windows XP – approaching 10 8 lines of code Windows Vista – early 2007

IntroductionCS-3013 A-term Windows Vista See Chapter 11 of Tanenbaum!

IntroductionCS-3013 A-term OS and Hardware OS mediates programs’ access to hardware –Computation – CPU –Storage – volatile (memory) and persistent (disk) –Networks – NIC, protocols –I/O devices – sound cards, keyboards, displays

IntroductionCS-3013 A-term Abstraction The most important word in this course!

IntroductionCS-3013 A-term Four fundamental Abstractions Processes & threads This course (Tanenbaum, Chapter 2) Virtual memory This course (Tanenbaum, Chapter 3) Files & persistent storage CS-4513 Distributed Systems (Tanenbaum, Chapter 4) Sockets & connections CS-4514, Computer Networks

IntroductionCS-3013 A-term Break (a)Fill out questionnaire (b)Get Fossil password