COSC1078 Introduction to Information Technology Lecture 14 Operating Systems James Harland james.harland@rmit.edu.au Lecture 14: Operating Systems Intro to IT Introduction • • • • • • James Harland Email: james.harland@rmit.edu.au URL: www.cs.rmit.edu.au/~jah Phone: 9925 2045 Office: 14.10.1 Consultation: Mon 4.30-5.30, Thu 11.30-12.30 What colour is my office door? Carpet? Chair? Lecture 14: Operating Systems Intro to IT Introduction to IT 1 Introduction 2 Images 3 Audio 4 Video WebLearnTest 1 5 Binary Representation Assignment 1 6 Data Storage 7 Machine Processing 8 Operating Systems WebLearn Test 2 9 Processes Assignment 2 10 Internet 11 Internet Security WebLearn Test 3 12 Future of IT Assignment 3, Peer and Self Assessment Lecture 14: Operating Systems Intro to IT Overview Questions? Assignments 1 & 2 Operating Systems Questions? Lecture 14: Operating Systems Intro to IT Assignments 1& 2 Assignment 1 Currently being marked Will have marks out later this week Assignment 2 Specification has been published Must be done in groups of 2 or 3 Can change groups from Assignment 1 (if you wish) Must have a blog on Blackboard Lecture 14: Operating Systems Intro to IT Questions? How did you spend 6-8 hours on this course last week? This week? Lecture 14: Operating Systems SE Fundamentals Operating Systems operating system kernel open source virtual machine Lecture 14: Operating Systems device driver real time desktop publishing Intro to IT Operating Systems Operating system Lecture 14: Operating Systems Intro to IT Operating Systems Manage hardware and software resources Memory allocation Prioritising requests and processes Controlling input and output devices Managing network access Managing file systems Dealing with multiple users … Lecture 14: Operating Systems Intro to IT Operating Systems USER HARDWARE Lecture 14: Operating Systems Intro to IT Operating Systems Lecture 14: Operating Systems Intro to IT Operating Systems Concurrent execution of processes on a single CPU Memory management Registers, caches, RAM, hard disk, plug-ins, ... Movement of data between these File systems Networking Printers, scanners, LAN, wireless, Internet, ... Lecture 143: Operating Systems Intro to IT Operating Systems Graphical User Interface (GUI) Colors, data, cursors, ... Device drivers Code specialised for particular hardware device (DVD writer, printer, monitor, ...) Controls access to these Security Passwords, file sharing, protocols, ... Lecture 14: Operating Systems Intro to IT Operating Systems Desktop (Windows, MacOS, Linux, ... ) Windows around 85% of market Server systems Google “back end”, server farms, ... Windows Server or Unix Specialist systems Supercomputers, call centres, real-time systems, PDA systems, ... Lecture 14: Operating Systems Intro to IT Operating Systems Lecture 13: Operating Systems Intro to IT Linux Open source Developed in 1991 by Linus Torvalds Written in C RedHat, Mandrake, SUSE, Ubuntu, ... RedHat 7.1 has 30 million+ lines of code Lecture 14: Operating Systems Intro to IT Windows Add-on to MS-DOS in 1985 Most popular OS Known security issues Windows XP 40 million lines of code Vista released 2007 Windows 7 (now!) Lecture 14: Operating Systems Intro to IT MacOS Only on Apples Introduced by Apple in 1984 GUI from the start Based on Unix Graphics features Mac OS X Leopard Lecture 14: Operating Systems Intro to IT Where to begin? How do you start an operating system? Boot it! (or bootstrap) Turn on power () Machine loads bootstrap program from ROM (non-volatile memory) Bootstrap program loads OS OS takes over Lecture 14: Operating Systems Intro to IT Initial State When Turned On Processor 00 Program Counter Memory 00 Bootstrap Disk ROM Program RAM Instruction Register Lecture 14: Operating Systems Intro to IT Load Bootstrap Program Processor 00 Program Counter Memory 00 Bootstrap Disk ROM Program RAM Instruction Register Lecture 14: Operating Systems Intro to IT Bootstrap program loads OS Processor 00 Program Counter Memory 00 Bootstrap Disk ROM Program RAM Instruction Register Lecture 146: Operating Systems Intro to IT Bootstrap program loads OS Processor 00 Program Counter Memory 00 Bootstrap Disk ROM Program RAM Instruction Register Lecture 14: Operating Systems Intro to IT Bootstrap program has loaded OS Processor AA Memory Disk 00 Bootstrap ROM AA RAM Program Program Counter Instruction Register Lecture 14: Operating Systems Intro to IT OS takes over execution Processor AA Memory Disk 00 Bootstrap ROM AA RAM Program Program Counter Instruction Register Lecture 14: Operating Systems Intro to IT Starting Up Operating Systems Processor AA Memory Disk 00 Bootstrap ROM AA RAM Program Program Counter Instruction Register Lecture 14: Operating Systems Intro to IT Starting Up Operating Systems Processor AA Memory Disk 00 Bootstrap ROM AA RAM Program Program Counter Instruction Register Lecture 14: Operating Systems Intro to IT Starting Up Operating Systems Processor AA Memory Disk 00 Bootstrap ROM AA RAM Program Program Counter Instruction Register Lecture 14: Operating Systems Intro to IT Multiple boot scenario … Processor 00 Program Counter Memory 00 Bootstrap Disk ROM Program RAM Instruction Register Lecture 16: Operating Systems Intro to IT Multiple boot scenario … Processor 00 Program Counter Memory 00 Bootstrap Disk ROM Program RAM Instruction Register Lecture 16: Operating Systems Intro to IT Multiple boot scenario … Processor 00 Program Counter Memory 00 Bootstrap Disk ROM Program RAM Instruction Register Lecture 16: Operating Systems Intro to IT Multiple boot scenario … Processor 00 Program Counter Memory 00 Bootstrap Disk ROM Program RAM Instruction Register Lecture 14: Operating Systems Intro to IT OS Software Classification Software Application System Utility Operating System Shell Lecture 14: Operating Systems Intro to IT Kernel Processes Lecture 16: Operating Systems Intro to IT Processes A program is a static set of instructions A processes is the execution of a program, which changes state over time. Lecture 14: Operating Systems Intro to IT Processes Executing in Context Processor CC Memory 00 Program Counter Disk ROM RAM CC Instruction Register Lecture 14: Operating Systems Intro to IT Processes Executing in Context Processor DD Memory 00 Program Counter Disk ROM RAM CC DD Instruction Register Lecture 14: Operating Systems Intro to IT Processes Switching Ready Scheduler maintains process table Ready Waiting Lecture 14: Operating Systems Intro to IT Processes Switching Lecture 14: Operating Systems Intro to IT Interrupts Signals to the CPU Often generated by timing circuits CPU reacts by jumping to appropriate memory location Dispatcher selects a ready process resets timing circuit starts process CPUs often designed to switch process states efficiently Lecture 14: Operating Systems Intro to IT Processes Executing in Context Processor BB Program Counter Memory 00 BB Disk ROM RAM Instruction Register Lecture 14: Operating Systems Intro to IT Processes Executing in Context Processor 11 Program Counter Memory 00 BB Disk ROM RAM Instruction Register Lecture 14: Operating Systems Intro to IT Processes Executing in Context Processor FF Memory 00 Program Counter Disk ROM RAM FF Instruction Register Lecture 14: Operating Systems Intro to IT Interrupts Provide mechanism to switch processes CPU doesn’t have to wait for I/O transfers Switching leads to faster throughput `Save document’ means CPU does something else while the save takes place Lecture 146: Operating Systems Intro to IT Conclusion Work on Assignment 2 Web Quizzes and Web Test 2 Finish reading book! Lecture 15: Operating Systems Intro to IT