Title: Computer Systems Architecture CMT603 Operating Systems
1Computer Systems ArchitectureCMT603Operating
Systems
- Ian Cooper
- i.m.cooper_at_cs.cf.ac.uk
2Plan for This session
- Introduce myself
- Talk about the style of the lectures
- Brief introduction to Operating Systems
- Cover a few basic concepts.
3Ian Cooper
- Nortel
- Holliday group / iTouch
- Allied Telesyn Research
- MSc Computing
- Writing up PhD
4The Course Info
- INTERACTIVE!!!!!
- 11 hours 1 revision lecture
- Example Exercises
- Reading
- Modern Operating Systems (second edition). Andrew
S. Tanenbaum. Prentice Hall, 2001. - Operating System Concepts. Seventh edition.
Silberschatz Galvin, Addison-Wesley, 2005. - INTERACTIVE!!!!!
5Examples of Operating Systems.
What is an operating system?
OSX
Windows Mobile
Linux
Mac OS
Android (open handset alliance)
Unix
Windows 95
Windows XP
MS-DOS
Windows Vista
Acorn MOS
Symbian
6What is an operating system?
- What does it do?
- Process Management
- Memory management
- I/O management
- Support functions
- Networking
- User interface
- Security
7Where does it fit in?
Application
Program
Instruction Level
Operating System
Implementation
Instruction Set Architecture
Micro architecture
8Operating System Goals
- Efficiency
- Throughput
- Functionality
- Robustness
- Extensibility
- Portability
- Security
- Interactivity
9Course Contents.
- Introduction
- Processes and Threads
- Scheduling
- Critical Section Algorithms
- Semaphores
- Memory
- Contiguous memory.. Fixed/Variable partition
- Non Contiguous memory.. Paging/Segmentation
- Virtual memory
- File Systems
10Concepts
- Architectures of Operating Systems
- Monolithic
- Layered
- Kernel
- Microkernel
- Virtual Machines
- Increasing Efficiency
- Multi program
- Multi User
11Monolithic Architecture
- Monolithic Architecturethe early operating
systems - Every component is contained in the kernel, can
directly communicate with other components
12Monolithic Architecture
User Space
Applications
OS Layer
System Calls
Computer Hardware
13Monolithic Architecture
- Pros
- Highly efficient by direct intercommunication
between components - Cons
- difficult to develop
- difficult to isolate the source of bugs and other
errors - particularly susceptible to damage from malicious
code
14Layered Architecture
- Layered OS structure
- Group components that perform similar functions
into layers. Each layer communicates only with
neighbour layer
User Space
Kernel Space
Layer 3 Layer 2 Layer 1 Layer 0
Computer Hardware
15Layered Architecture
- Pros
- It provides good modularity helps simplify the
development of an OS - Cons
- Less efficient
- Complex design each functionality has to be
divided into parts to fit into different layers.
16Kernel Based Architecture
- It separates the machine-independent parts from
the machine-dependent parts - Kernel is machine-dependent. It contains the
basic component of OS.
User Space
Operating System
OS Kernel
Computer Hardware
17Kernel Based Architecture
- Pros
- Better portabilityKernel encloses all the
machine-dependent code - Cons
- Suffers similar problem as in layered OSs
18Microkernel Based Architecture
- As OS expanded, the kernel became large and
difficult to manage - Microkernel approach removes all nonessential
components from the kernel and implementing them
as system and user-level programs. - Result A smaller kernel
19Microkernel Based Architecture
User Space
Operating System
Microkernel
Computer Hardware
20Microkernel Based Architecture
- Pros
- Enhance portability, extensibility, reliability
and security - Cons
- Less efficientincreased system function overhead
21Virtual Machines
- Can create the illusion that there are more than
one separate machines.
User Space
User Space
User Space
Kernel
Kernel
VM1
VM1
Virtual machine implementation
Host Operating System
Computer Hardware
22Increasing Efficiency
- Multiprogramming
- Try to Keep the CPU busy
- CPU operations take less time than I/O
- When a process waits for I/O operation, OS swaps
to another process.
Operating System
Job 1
Job 2
Job 3
23Multi User
- Logical extension of Multiprogramming
24Summary
- What an Operating System does
- Where an Operating System fits in
- How an Operating System works
- Architectures of Operating Systems
- Multi user, program
25Question(to think about, you dont have to go
and research this. (yet))
- If the OS is a multiprogramming OS, and the OS
chooses a job for execution, this job will be
active in the CPU. This means that (in a single
processor computer) the OS is not running. - How does the OS retain control over the computer
resources in order to swap the jobs???