Operating Systems

wheatprisonMobile - Wireless

Dec 10, 2013 (3 years and 6 months ago)

71 views

Computer Systems Architecture

CMT603


Operating Systems

Ian Cooper

i.m.cooper@cs.cf.ac.uk

Plan for This session


Introduce myself


Talk about the style of the lectures


Brief introduction to Operating Systems


Cover a few basic concepts.


Ian Cooper


MSc Computing


Writing up PhD


Nortel


Holliday group / iTouch


Allied Telesyn Research


BEng


Electronics

The 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!!!!!

Examples of Operating Systems.

What is an operating system?

Windows 95

Windows XP

Windows Vista

Unix

MS
-
DOS

Acorn MOS

Mac OS

OSX

Linux

Android (open handset alliance)

Symbian

Windows Mobile

What is an operating system?


What does it do?


Process Management


Memory management


I/O management


Support functions


Networking


User interface


Security








Implementation

Where does it fit in?

Application

Instruction Level

Program

Operating System

Micro architecture

Instruction Set
Architecture

Operating System Goals


Efficiency


Throughput


Functionality


Robustness


Extensibility


Portability


Security


Interactivity

Course 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

Concepts


Architectures of Operating Systems


Monolithic


Layered


Kernel


Microkernel


Virtual Machines


Increasing Efficiency


Multi program


Multi User

Monolithic Architecture


Monolithic Architecture

the early
operating systems



Every component is contained in the kernel,
can directly communicate with other
components

Monolithic Architecture

Computer Hardware


OS Layer






User Space

Applications

System Calls

Monolithic 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

Layered Architecture


Layered OS structure:


Group components that perform similar
functions into layers. Each layer
communicates only with neighbour layer

Computer Hardware


Kernel Space


User Space

Layer 3

Layer 2

Layer 1

Layer 0

Layered 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.

Kernel Based Architecture


It separates the machine
-
independent
parts from the machine
-
dependent parts


Kernel is machine
-
dependent. It contains the
basic component of OS.

Computer Hardware

Operating System




User Space

OS Kernel

Kernel Based Architecture


Pros


Better portability

Kernel encloses all the
machine
-
dependent code


Cons


Suffers similar problem as in layered OSs


Microkernel 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

Microkernel Based Architecture

Computer Hardware

Operating System




User Space

Microkernel

Microkernel Based Architecture


Pros


Enhance portability, extensibility, reliability
and security


Cons


Less efficient

increased system function
overhead


Virtual Machines


Can create the
illusion that there
are more than one
separate
machines.

Computer

Hardware

Virtual machine

implementation

Kernel

User Space

VM1

Kernel

User Space

VM1

User Space

Host Operating System

Increasing 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

Multi User


Logical extension of Multiprogramming


Summary


What an Operating System does


Where an Operating System fits in


How an Operating System works


Architectures of Operating Systems


Multi [user, program]

Question


(to think about, you don’t 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???