* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Operating Systems - University of Connecticut
Plan 9 from Bell Labs wikipedia , lookup
Berkeley Software Distribution wikipedia , lookup
Mobile operating system wikipedia , lookup
Distributed operating system wikipedia , lookup
Spring (operating system) wikipedia , lookup
Security-focused operating system wikipedia , lookup
Copland (operating system) wikipedia , lookup
Operating Systems CSE 4300 Lecture 1 Wei Wei University of Connecticut Information Course web page: Use HuskyCT Link will be on my web page http://www.engr.uconn.edu/~weiwei/ Instructor: Wei Wei [email protected] 2 Today’s Class Course organization & outline Prerequisites & course sign-up Introduction & History of Operating Systems 3 Course Organization Class: junior or senior-level Not for freshman or sophomores Enrollment policy If space becomes an issue, graduating seniors get preference 4 Prerequisites Data Structures & Algorithms Computer Architecture Programming skills: Dynamic memory management Lists, Trees Algorithm Analysis C/C++ Textbook Operating system concepts: Silberschatz, Galvin and Gagne, 7th Edition 5 Course Grading In-class quizzes: +5% Homework: 20% Programming projects: 30% Exams: exam I 15%, exam II 15%, final 20% Strict late policy – not accepted No incomplete Cheaters will be found and punished Will use sophisticated software to detect plagiarized programs 6 Course Organization Accounts in C27 My office hours and location: Office hours: Tu, Th 3:30pm – 4:30pm Wednesday 1:30pm – 4:30pm Office ITE 331 7 What is a class like? Brief announcements on homework, project, exam Review of previous class lecturing (questions & answers please!) mostly ppt slides (handwriting occasionally) quiz (occasionally) return homework, projects, exam; go over them briefly 8 Introduction to Operating Systems What’s an operating system (OS)? Why learn OS? Historical perspective on operating systems 9 OS: More Traditional View Interface between user and architecture Implements virtual machine: Hides architectural details Easier to program than raw hardware (hopefully) Provides services and coordinates machine activities User-level Applications virtual machine interface Operating System physical machine interface Hardware 10 Operating Systems: Key Features Provides standard services (interface) that hardware implements Coordinates multiple applications and users to achieve safety, fairness and efficiency (high throughput) File system, virtual memory, networking, scheduling, time-sharing… Concurrency, memory protection, networking, security OS design challenges: convenient and efficient Software engineering & systems engineering problems 11 Introduction to Operating Systems What’s an operating system? (OS) Why learn OS? Historical perspective on operating systems 12 Importance of Operating Systems Key component of computer systems Meeting point of software & hardware Understanding how computers work = understanding operating systems OS provides key services required by all application programs Rich topic: OS = most complex software on your PC Windows XP kernel: 40 million lines of code 13 New Developments in OS Design Operating systems: very active field of research Demands on OS’s growing New application spaces (Web, Grid) Rapidly evolving hardware Advent of open-source operating systems – Linux You can contribute to and develop OS’s! Excellent research platform 14 Introduction to Operating Systems What’s an operating system? (OS) Why learn OS? Historical perspective on operating systems 15 Generation I (1945-1955) Hardware technology Mechanical relays, then vacuum tubes The Experience No O.S., no library calls Programming in machine language (NOT assembly) Basic I/O E.g. punch cards 16 ENIAC 17 Generation II (1955-1965) Hardware Technology Transistors (smaller, more reliable, affordable) Desktop (really) The Experience Compilers, linkers, loaders are available! Programming done in assembly and FORTRAN I/O: magnetic tape Batch processing 18 Batch Processing Execute multiple “jobs” in batch: Load program Run Print results, dump machine state Repeat Users submit jobs (on cards or tape) Human schedules jobs Operating system loads & runs jobs 19 Examples (Generation II ) IBM 701 First machine with an OS IBM 7094: Core memory, disk, subroutine call instruction 20 Generation III (1965-1980) Hardware technology The Experience Integrated Circuits Multiprogramming Unix is born Examples: IBM 360,370,... DEC PDP-1 to PDP-11, VAX 21 Multiprogramming Allow several programs to run at same time Run one job until I/O Run another job, etc. OS manages interaction between programs: Which jobs to start Protects program’s memory from others Decides which to resume when CPU available 22 The UNIX Era Multics Army of programmers, six years Unix Three (four?) guys, two years Integration of simple tools “Shell”: composable commands Written in C: easily portable 23 Examples (Generation III) IBM 360/30 First general purpose computer PDP-11 24 Generation IV (1979-1995) MAC (1980’s) Microsoft catches up (1985-1995) Steve Jobs discovers the Graphical User Interface Pioneered at Xerox-PARC GUI on top of MS-DOS. win1.0[85],win2.0[87], win3.x[90], win95, win98 Meanwhile.... MINIX is born (1987) followed by Linux (1992) 25 Examples (Generation IV) The Mac (1984) X-windows Windows 3.0 (1990) 26 Generation V (1990’s-now) Different modalities: Parallel: Multiple processors, one machine Distributed: Multiple networked processors Real-time: Strict or loose deadlines Sensor networks: Many small computers 27 Moral of the Story The only constant: Change In 50 years, almost every computer component now 9 orders of magnitude faster, larger, cheaper Example: 1983 1999 0.5 500 cost/MIP $100,000 $500 memory 1 MB 1 GB network 10 Mbit/s 1 GB/s 1 GB 1 Tbyte MIPS disk 28 Moral of the Story, II No counterpart in any other sphere of human existence! Transportation: Communication is closest: 200 years to go from horseback (10 mph) to Concorde (1000 mph) = 2 orders of magnitude 100 years to go from Pony Express (10 mph) to nearly speed of light (600 million mph) = 7 orders of magnitude And operating systems must adapt… 29 Course outline Introduction Process management Memory management Multiprogramming, process/thread, CPU scheduling, synchronization, deadlock segmentation, paging, swapping File system I/O system Advanced topics Protection, Security, etc. 30