CS 3013 & CS 502 Summer 2006 Course Introduction1 CS3013 & CS502 – Operating Systems Hugh C. Lauer, Ph.D. Adjunct Professor.

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 CSCI 444/544 Operating Systems Fall 2008.
Prof. B. I. Khodanpur HOD – Dept. of CSE R. V. College of Engineering
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
CMSC 421: Principles of Operating Systems Section 0202 Instructor: Dipanjan Chakraborty Office: ITE 374
CMPT 300: Operating Systems I Dr. Mohamed Hefeeda
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.,
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
IntroductionCS-3013 A-term CS-3013 Operating Systems A-term 2008 (Slides include materials from Modern Operating Systems, 3 rd ed., by Andrew Tanenbaum.
Understanding Operating Systems 1 Overview Introduction Operating System Components Machine Hardware Types of Operating Systems Brief History of Operating.
Operating Systems - Introduction S H Srinivasan
Course Information 1 CS502 Spring 2006 Operating Systems CS502 Spring 2006 Mondays – 6PM.
IntroductionCS-3013 A-term CS-3013 Operating Systems A-term 2009 (Slides include materials from Modern Operating Systems, 3 rd ed., by Andrew Tanenbaum.
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.
Operating System Introduction. Topics What is an OS? OS History OS Concepts OS Structures.
1/16/2008CSCI 315 Operating Systems Design1 Introduction Notice: The slides for this lecture have been largely based on those accompanying the textbook.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction What is an Operating System? Mainframe Systems Desktop Systems.
Operating System.
Types of Operating System
Lecture 14: Operating Systems Intro to IT COSC1078 Introduction to Information Technology Lecture 14 Operating Systems James Harland
CIS-410: Operating Systems Spring Organizational Details Class Meeting: 7:00-9:45pm, Monday, Room 252N Instructor: Dr. Igor Aizenberg Office: Aikin.
Operating systems CHAPTER 7.
Module 2 Part I Introduction To Windows Operating Systems Intro & History Introduction To Windows Operating Systems Intro & History.
1 Lecture 2 Introduction, OS History n objective of an operating system n OS history u no OS u batch system u multiprogramming u multitasking.
1 5/25/2016 操作系统课件 教材: 《操作系统概念(第六版 影印版)》 【原书名】 Operating System Concepts(Sixth Edition) [ 原书信息 ] Operating System Concepts(Sixth Edition) [ 原书信息 ] 【原出版社】
Thanks to Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 1: Introduction n What is an Operating System? n Mainframe Systems.
Operating Systems CS3502 Fall 2014 Dr. Jose M. Garrido
 What is OS? What is OS?  What OS does? What OS does?  Structure of Operating System: Structure of Operating System:  Evolution of OS Evolution of.
Operating Systems.
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.
1 Introduction to Operating Systems 9/16/2008 Lecture #1.
Chapter 1 CS 3204: Introduction. CS 3204: Operating Systems2 What is an Operating System (OS) ? Definition 1: An OS is the interface between the hardware.
Fall 2000M.B. Ibáñez Lecture 01 Introduction What is an Operating System? The Evolution of Operating Systems Course Outline.
Introduction to Operating Systems J. H. Wang Sep. 18, 2015.
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.
CS 390 Unix Programming Environment Summer Suchindra Rengan - CS3902 Course Details Instructors Suchindra Rengan – ‘sachin’ ( Section 001)
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.
Operating System 2 Overview. OPERATING SYSTEM OBJECTIVES AND FUNCTIONS.
Silberschatz and Galvin  Operating System Concepts Module 1: Introduction What is an operating system? Simple Batch Systems Multiprogramming.
1 Operating Systems: Principles and Practice Cpr E 308.
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.
Lecture 1: Network Operating Systems (NOS) An Introduction.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Operating Systems.
Introduction to Operating Systems
CS 450/550 Operating Systems Loc & Time: MW 1:40pm-4:20pm, 101 ENG
2. OPERATING SYSTEM 2.1 Operating System Function
Introduction to Operating System (OS)
CS-3013 and CS-502 Operating Systems
Chapter 2: System Structures
Operating Systems CSE451 Winter 2000
CS-2303 System Programming Concepts
CSE 451: Operating Systems Winter 2003 Lecture 1 Course Introduction
CS-3013 and CS-502 Operating Systems
Operating Systems CSE451 Spring 2000
Operating Systems CS451 Fall 1998
CS-2303 Introduction (continued)
Prof. B. I. Khodanpur HOD – Dept. of CSE R. V. College of Engineering
CSE 451: Operating Systems Autumn 2003 Lecture 1 Course Introduction
Lecture Topics: 11/1 Hand back midterms
Presentation transcript:

CS 3013 & CS 502 Summer 2006 Course Introduction1 CS3013 & CS502 – Operating Systems Hugh C. Lauer, Ph.D. Adjunct Professor

CS 3013 & CS 502 Summer 2006 Course Introduction2 Why an Operating Systems course? WPI CS requirements – “core area” for undergrads and grads Understanding of inner workings of “systems” Exposure to diversity of operating systems

CS 3013 & CS 502 Summer 2006 Course Introduction3 Combined Course CS-3013 Seven weeks, four 1-hour classes per week CS-502 Fourteen weeks, one 3-hour class per week Organized for students with full-time jobs Overlapping material Traditionally, most CS-3013 content is covered during first 2/3 of CS-502

CS 3013 & CS 502 Summer 2006 Course Introduction4 This course One 4-hour class per week –CS-3013 students: seven weeks (28 hours) Similar level of intensity to traditional course –CS-502 students: ten weeks (40 hours) More concentrated than fall or spring term course

CS 3013 & CS 502 Summer 2006 Course Introduction5 Prerequisites Prerequisites: –C/C++ programming –Data structures –Unix/Linux user experience and access –Computer Organization Reading assignment –Tanenbaum §§1.0 – 1.4 –Especially §1.4: “Computer Hardware Review”

CS 3013 & CS 502 Summer 2006 Course Introduction6 Schedule & Logistics Schedule –Fuller Labs – Room 311 –6:00 PM to 9:50 PM –Approx two 5 minute breaks around 7:20 PM, 8:40 PM –“Final exam” – Thursday, June 29, 2006 –Final three weeks of CS-502 to be determined Mobile Phones, pagers and other similar devices OFF during class If you need to eat during class –Please be QUIET –Avoid spicy or savory aromas (pot stickers, curries, etc.) Office Hours –by appointment –will try to be in Adjunct Office, Fuller 239, on Thursday late afternoons Contact –Adjunct office phone: (508) (shared)

CS 3013 & CS 502 Summer 2006 Course Introduction7 Textbook and Web Text Book: –Modern Operating Systems. 2nd edition, by Andrew S. Tanenbaum. Prentice Hall, 2001 –(supplementary) Operating Systems Concepts. Seventh Edition, by Silberschatz, Galvin, and Gagne. John Wiley & Sons, 2005 Course Information: – –

CS 3013 & CS 502 Summer 2006 Course Introduction8 Exams and Quizzes One “final” exam on June 29 (7 th week) –1.5–2.0 hours –May include lecture material introduced earlier that same evening –Closed book, one 8½ x 11 sheet of prepared notes (2 sides) –Bring calculator One or more unannounced quizzes –Closed book, no notes –Calculator may be useful

CS 3013 & CS 502 Summer 2006 Course Introduction9 Programming Projects All students –Three programming projects, 2 weeks each –Submit via turnin prior to beginning of class CS-502 students –Additional project during final three weeks –Term project to study some operating system

CS 3013 & CS 502 Summer 2006 Course Introduction10 Grading Grading (all students) –Exams & Quizzes – 30 points –Programming Projects (3) – 50 points –Class participation – 20 points Additional grading (CS-502 students only) –Term Project and final three weeks – 30 points Assignments are to be completed individually, not groups –Unless otherwise specified Late Policy – 10%/day WPI Academic Honesty policy

CS 3013 & CS 502 Summer 2006 Course Introduction11 Ground Rule 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.

CS 3013 & CS 502 Summer 2006 Course Introduction12 Introductions Who are you? –Name, year, course or major –Full-time job this summer or not? –Employer, work experience in computing, etc. C & C++ experience –Other programming experience Previous degree and where Why an Operating Systems course Anything else relevant?

CS 3013 & CS 502 Summer 2006 Course Introduction13 Instructor — Hugh C. Lauer, Adjunct Professor Ph. D. Carnegie-Mellon 1973 –Dissertation “Correctness in Operating Systems” Lecturer: University of Newcastle upon Tyne, UK Approximately 30 years in industry in USA Research topics and technology specialties –Operating Systems –Proofs of Correctness –Computer Architecture –Networks and Distributed Computing –Real-time networking –3D Volume Rendering –Surgical Simulation –…

CS 3013 & CS 502 Summer 2006 Course Introduction14 Systems Experience 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.

CS 3013 & CS 502 Summer 2006 Course Introduction15 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

CS 3013 & CS 502 Summer 2006 Course Introduction16 Sample images from VolumePro

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

CS 3013 & CS 502 Summer 2006 Course Introduction18 Discussion:– What is an Operating System?

CS 3013 & CS 502 Summer 2006 Course Introduction19 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

CS 3013 & CS 502 Summer 2006 Course Introduction20 Three important terms Abstraction A useful, practical idealization of a very complex process or system, details of which can be ignored Concurrency Computational activities occurring at the same time and potentially in conflict with each other Resource Device, object, system, information, etc., needed by a computation for its successful outcome

CS 3013 & CS 502 Summer 2006 Course Introduction21 What is an operating system? (cont’d) Abstractions:– –Implements processes & threads –Implements virtual memory & manages memory –Provides interprocess communication (IPC) –Implements file system. Manages persistent storage of information Controls I/O Implements networking & communications Definition — Same as judicial definition of pornography “I cannot define it, but I sure can recognize one when I see it!”

CS 3013 & CS 502 Summer 2006 Course Introduction22 What is an Operating System Hardware Interfaces – Registers, etc. OS Kernel Prog. ToolsServicesUI/Shell XYZ OfficeMedia PlayerBusiness Appl. CPUI/O Controllers Traditional OS Practical OS

CS 3013 & CS 502 Summer 2006 Course Introduction23 Major OS Issues 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?

CS 3013 & CS 502 Summer 2006 Course Introduction24 Operating System Large, complex program –In most cases, a set of programs Typically –Long-lived –Frequently extended and updated –Worked on by a number of developers –Used and (perhaps) abused by a variety of users with varying expertise and expectations Creates acceptable computing environment to develop and execute other programs that achieve business or personal goals

CS 3013 & CS 502 Summer 2006 Course Introduction25 Kinds of operating systems Stand-alone machines – no OS Simple batch monitors Concurrent I/O and programs Time-sharing, multiple users, interactive Servers, non-stop systems, transaction processing PC’s, workstations Multiple processor systems Real-time systems Embedded systems

CS 3013 & CS 502 Summer 2006 Course Introduction26 Kinds of operating systems (1) Stand-alone machines – no OS per se Manually scheduled “jobs,” reset between jobs Early business computers –E.g., IBM 1401/1460 Early mini-computers –E.g., PDP1, PDP5, PDP8, etc. –But defines important abstractions Simple batch monitors Simple “monitor routine” switches between jobs Input loaded onto tape off-line Output to tape is punched and/or printed off-line Typical university computing centers –IBM 7090, Univac, etc.

CS 3013 & CS 502 Summer 2006 Course Introduction27 Kinds of operating systems (2) Concurrent I/O and programs SPOOL-ing (Simultaneous Peripheral Operation On Line) –Allows direct input & output Multiple programs resident in memory at once –Keeps processor busy On-line file storage Some support for terminals, telecommunications Early business computers –E.g., IBM 7070, IBM 360 & 370 Scientific computing –E.g., Control Data 6600, IBM 360/91

CS 3013 & CS 502 Summer 2006 Course Introduction28 Kinds of operating systems (3) Time-sharing, multiple users, interactive Many concurrent users “logged on” Interactive editing and computing Self submission of batch jobs Protection among users, protection among jobs Fair allocation of resources All university computing centers since mid 1970s –E.g., MULTICS, IBM 360/67, DEC PDP-10, PDP-20 Advanced minicomputers –DEC, Data General, Prime, etc. –Unix

CS 3013 & CS 502 Summer 2006 Course Introduction29 Kinds of operating systems (4) Servers, non-stop systems, transaction processing Banking, airline reservation Online databases Many very short “transactions” Tandem, Stratus, Sequoia Unix, Linux, Solaris, HP-UX Windows Server 2000, 2003 Oracle, SAP (?)

CS 3013 & CS 502 Summer 2006 Course Introduction30 Kinds of operating systems (5) PC’s, workstations CP/M, DOS, MS-DOS Apollo Domain Unix, Solaris, HP-UX Mac OS Windows 95, 98, Me Windows 2000, XP Linux Multiple processor systems Beowulf clusters Unix, Solaris, HP-UX, Linux

CS 3013 & CS 502 Summer 2006 Course Introduction31 Kinds of operating systems (6) Real-time systems SAGE (North American air defense) Process control (steel mills, refineries, etc.) Large and small Computers you never heard of Systems you never heard of –VxWorks, etc. Embedded systems Auto ignition Cell phone, PDA Appliances …

CS 3013 & CS 502 Summer 2006 Course Introduction32 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 BTL – different goals Source code made available to Universities – BSD –POSIX (started 1981) defines standard Unix system calls –AT&T licensing!

CS 3013 & CS 502 Summer 2006 Course Introduction33 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

CS 3013 & CS 502 Summer 2006 Course Introduction34 OS History - Linux 1996, v2.0 –multiple architectures, multiple processors –threads, memory management …. Gnome UI – introduced in 1999 Recent –V2.4 – 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”

CS 3013 & CS 502 Summer 2006 Course Introduction35 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 –Win95 interface –Graphics to kernel –More NT licenses sold than all Unix combined –Microkernel de-emphasized

CS 3013 & CS 502 Summer 2006 Course Introduction36 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

CS 3013 & CS 502 Summer 2006 Course Introduction37 OS History – Windows NT/2000/XP Microsoft has 80% to 90% of OS market Wintel – Windows + Intel X86 WinNT 4.x is 12 million lines of code Win2000 is 18 million lines of code Windows XP Much bigger than Windows 2000 Impossible to tell where boundary of OS is Comprehensive case study in Silbershatz, ch. 22

CS 3013 & CS 502 Summer 2006 Course Introduction38 Break (next topic)