Professional Documents
Culture Documents
Operating Systems
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
Operating Systems
Concurrent execution of processes on a single CPU Memory management
Registers, caches, RAM, hard disk, plug-ins, ... Movement of data between these
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, ...
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, ...
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
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!)
MacOS
Only on Apples Introduced by Apple in 1984 GUI from the start Based on Unix Graphics features Mac OS X Leopard
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
OS Software Classification
Software
Application
System
Utility
Operating System
Shell
Kernel
Processes
A program is a static set of instructions A processes is the execution of a program, which changes state over time.
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
Interrupts
Provide mechanism to switch processes CPU doesnt have to wait for I/O transfers Switching leads to faster throughput `Save document means CPU does something else while the save takes place
Operating Systems