* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Slides - Dr. Choong
Survey
Document related concepts
Library (computing) wikipedia , lookup
Burroughs MCP wikipedia , lookup
Berkeley Software Distribution wikipedia , lookup
Windows NT startup process wikipedia , lookup
Plan 9 from Bell Labs wikipedia , lookup
Mobile operating system wikipedia , lookup
Copland (operating system) wikipedia , lookup
Distributed operating system wikipedia , lookup
Spring (operating system) wikipedia , lookup
Process management (computing) wikipedia , lookup
Transcript
Operating Systems CS3013 / CS502 WEEK 1 COURSE INTRODUCTION INTRODUCTION TO OPERATING SYSTEMS OPERATING SYSTEM STRUCTURES Agenda 2 Course Introduction Introduction to Operating System Operating System Concepts Operating System Structures Course Information 3 Website http://nile.wpi.edu/~clee01/teaching/cs3013/ 6:00-9:50pm class on Mondays 7 weeks for CS3013, 10 weeks for CS502 Office Hours TBD Textbook Silberschatz, Galvin, and Gagne, Operating Systems Concepts, Seventh Edition, John Wiley and Sons, 2005. Why an Operating Systems Course? 4 WPI CS requirement “Core area” for both undergrads and grads Understanding of inner workings of “systems” Combines CS concepts Algorithms, languages, data structures, hardware System design with tradeoffs Better use of the computer Prerequisites 5 C/C++ Programming Data Structures Computer Organization Unix/Linux user experience and access Homework, Projects and Exams 6 Homework Designed to get you ready for exam Review ideas taught in class Projects 2 for CS3013 and 3 for CS502 Implementation in Unix environment Exams 2 for CS3013 and 3 for CS502 Closed book, Closed notes Grading 7 Grading Homework – 10% Projects – 30% Exams – 60% WPI Academic Honesty Policy http://www.wpi.edu/Pubs/Policies/Honesty/policy.html Late Policy – 25% per day Contact Professor for extenuating circumstances 8 Questions? Professor Background 9 Choong-Soo Lee PhD Candidate in Computer Science Department Interest in Systems Area Operating Systems Network Performance Multimedia Performance Student Background 10 Basic Information Name Class (freshman, sophomore, …) Major (CS, EE, …) C Experience CS Courses Taken Linux Experience Operating System(s) Agenda 11 Course Introduction Introduction to Operating System Operating System Concepts Operating System Structures Objectives 12 Identify operating systems Explain the major OS issues Describe the history of OS Explain OS concepts Identify services provided by OS Describe different types of OS structures Class Discussion 13 What operating systems do you know? What is an operating system? What do you like/dislike about OS(es) you know? Components of a Computer System 14 Humans Program Interface User Programs OS Interface Operating System Hardware Interface/ Privileged Instructions CPU/Memory/Disk/etc Functions of Operating System 15 Beautification Principle Hide the details of the physical machine and provide a more pleasant virtual machine Resource Principle Allocate resources to processes Major OS Issues 16 Structure Extensibility Sharing Concurrency Naming Scale Security Persistence Protection Communication Performance Distribution Reliability Accounting OS History 17 Single program execution No OS Assembly or lower level language Batch (Spooling) Introduced notion of interrupts Multiprogramming Illusion of executing several programs simultaneously Introduced notion of process Distributed and Network Operating Systems Specialized Operating Systems OS History - Unix and Linux 18 Unix Descendant of MULTICS First “C” version in 1973 Posix (1981) defines standard Unix system calls Linux Open Source 1991, v.01 by Linus Torvalds for 80386 processor Proper Unix process support OS History – Linux 19 1994, v1.0 Enhanced file system More devices, dynamic kernel modules 1995, v1.2 More hardware support 1996, v2.0 Multiple architectures, multiple processors Threads, memory management Today, v2.6 0.64% by Net Applications 5.2 million source lines of code (according to wikipedia) OS History - Windows 20 1988, v1 Win32 API 1990, v3.1 Server and Workstation versions 1996, v4 (Windows 95) Win95 Interface Graphics to Kernel OS History - Windows 21 2000, v5 (Windows 2000) Micro-kernel Multi-user (with terminal services) 4 versions 2005, Windows XP 4 versions: Home, Professional, Media Center, Tablet 2007, Windows Vista 5 versions: Ultimate, Home Premium, Home Basic, Business, Enterprise 2009?, Windows 7 OS History - Windows 22 Today 91.65% by Net Applications Aiming at robust, server market Intel x86 only Lines of code (according to wikipedia) Windows NT 4.0 : 11-12 million Windows 2000 : more than 29 million Windows XP : 40 million Windows Vista Beta 2 : 50 million Objectives 23 Identify operating systems Explain the major OS issues Describe the history of OS Explain OS concepts Identify services provided by OS Describe different types of OS structures Agenda 24 Course Introduction Introduction to Operating System Operating System Concepts Operating System Structures Operating System Concepts 25 Processes Memory Management Input/Output Files System Calls Process 26 Program vs. Process Program : a set of data and code that manipulate it Process : a program in execution States of a Process Running, Waiting, Ready, etc. Process “Tree” Memory Management 27 One chunk of physical memory Process 1 Shared by all processes Process 2 32 bit architecture 232 bytes 4GB ??? Process 4 Process 3 Input/Output 28 OS manages resources including other devices Significant fraction of code Want to be simple to use CPU Memory Disk Controller System Bus Printer Controller Files 29 Store data on disk Directory “Tree” Working Directory root Protection bits Abstraction of I/O device Pipe classes jobs cs1101 cs1101 microsoft cisco System Calls 30 Way processes communicate with OS OS specific POSIX (1980s) Portable Operating System Interface Shells 31 User’s interface to OS Simple commands “cd”, “cat”, “top” Modifiers ‘&’, ‘|’, ‘>’ Agenda 32 Course Introduction Introduction to Operating System Operating System Concepts Operating System Structures Services Provided by OS 33 User Interface Program Execution I/O Operations File-system Manipulation Communications Error Detection Resource Allocation Accounting Protection and Security User Interface 34 Command Interpreter Included in the kernel, or External Program Shells bash, csh, tcsh, etc. Provides some basic functionality User Interface 35 Graphical User Interface 1970s, Xerox PARC Research Facility 1980s, Popular by Apple Macintosh Windows 1.0 Unix Desktop Environments User Interface 36 Graphical User Interface Simple Systems 37 Started small and grew, no hardware support Example MS-DOS, Embedded Systems Application Programming Resident System Programming MS-DOS Drivers ROM - BIOS Device Drivers Simple Systems 38 Example Linux Applications, User Space System Libraries Kernel Terminal With Modules ppp Device Memory cdrom Layered Systems 39 Abstract layers Can only talk to lower layers Layer N User interface . . . Layer 1 Layer 0 Hardware Microkernel 40 Minimal Functions in Microkernel Provide communication facility between applications and services Example Mach Tru64 Unix, QNX User Process File Server Memory Server Kernel Virtual Machine 41 Abstract the hardware of a single computer into several different execution environments Example: IBM VM/370 VMWare Process Process Process Operating System Operating System Operating System Virtual Machine Hardware Virtual Machine 42 Example Java Virtual Machine Java Program Java OS Java VM Process Operating System Hardware Process Objectives 43 Identify operating systems Explain the major OS issues Describe the history of OS Explain OS concepts Identify services provided by OS Describe different types of OS structures