Download as pdf or txt
Download as pdf or txt
You are on page 1of 54

OS DESiGN

LECTURE 8
TECHNOLOGY PLATFORM

DR ABDUL HADI

FTSM UKM 1
Outline

• Introduction
• Computer System
• OS Evolution
• OS Design Objective
• OS Structure - Kernel
• Monolithic and Microkernel
• Linux and Windows OS Design
• Virtual Machine
• Development leading to Modern OS
• OS Design Consideration

FTSM UKM 2
Is it hard to design
Operating System?
Do you know that..

1. Current versions of UNIX contain millions of


lines of code
• Linux has hit 15 million
• Windows 8 is probably in the range of 50–
100 million lines of code
• Vista was 70 million

2. UNIX was written in B language later changed


to C until now.
Introduction

• For your java class, you need to download


JDK 1.8, so you go to this web page:

http://www.oracle.com/technetwork/java/javas
e/downloads/jdk8-downloads-2133151.html

FTSM UKM 3
Introduction
• In that page, you need to select the software
based on your OS?
• Why we need a different file for different OS?
• What are differences you can find here?

FTSM UKM 4
FTSM UKM 5
Outline

• Introduction
• Computer System
• OS Evolution
• OS Design Objective
• OS Structure - Kernel
• Monolithic and Microkernel
• Linux and Windows OS Design
• Virtual Machine
• Development leading to Modern OS
• OS Design Consideration

FTSM UKM 6
Computer System

FTSM UKM 7
Outline

• Introduction
• Computer System
• OS Evolution
• OS Design Objective
• OS Structure - Kernel
• Monolithic and Microkernel
• Linux and Windows OS Design
• Virtual Machine
• Development leading to Modern OS
• OS Design Consideration

FTSM UKM 8
OS Evolution
Could you guess the name of this OS?

FTSM UKM 9
OS Evolution
Windows 10 running on portable devices?

1
FTSM UKM
0
Discussion
What are the considerations on the
OS design?

Speed? Hardware? Processing?


1
FTSM UKM
1
Outline

• Introduction
• Computer System
• OS Evolution
• OS Design Objective
• OS Structure - Kernel
• Monolithic and Microkernel
• Linux and Windows OS Design
• Virtual Machine
• Development leading to Modern OS
• OS Design Consideration

1
FTSM UKM
2
OS Design Objectives

E
Convenience
- Easy to use

Efficiency
- Resource management

Ability to solve
- Effective development

1
FTSM UKM
3
OS Functions
User Computer Interface
• Program development
– editors and debuggers
• Program execution
– instruction -> memory ->I/O -> scheduling
• Access to I/O
- read/write signals
• Control access to files
- protection mechanism
• System access
• Error detection and response
OS Functions
Resource Manager
Outline

• Introduction
• Computer System
• OS Evolution
• OS Design Objective
• OS Structure - Kernel
• Monolithic and Microkernel
• Linux and Windows OS Design
• Virtual Machine
• Development leading to Modern OS
• OS Design Consideration

1
FTSM UKM
4
OS Structure

1
FTSM UKM
5
What is KERNEL?

Computer program that is the core of a


computer's operating system, with
complete control over everything in the
system

1
FTSM UKM
6
Kernel

• The ……… level of any operating system is its


kernel.
• This is the ……. flayer of software loaded into
memory when a system boots or starts up.
• The kernel provides access to various common
core services to all other system and application
programs.
• These services include, but are not limited to:
disk access, ………… , ……… task scheduling,
and access to other hardware devices.

1
FTSM UKM
7
Kernel
The kernel might get crash!

Blue Screen of Death


1
FTSM UKM
8
Outline

• Introduction
• Computer System
• OS Evolution
• OS Design Objective
• OS Structure - Kernel
• Monolithic and Microkernel
• Linux and Windows OS Design
• Virtual Machine
• Development leading to Modern OS
• OS Design Consideration

1
FTSM UKM
9
Monolithic and Micro Kernel

It has a minimal You can put all the


kernel. The kernel needed functions in
only provide a kernel. So kernel
essentially the is like one big
minimum component module where
that the machine everything is
need to actually start running as one
running. program.

A B 2
FTSM UKM
0
Monolithic Kernel
Kernel is like one big module where everything
is running as one program.

All the parts of a kernel;


- Scheduler
- File System
- Memory management
- Networking Stacks
- Device Driver etc
Are maintained in ONE unit with the kernel

2
FTSM UKM
1
Monolithic Kernel

Advantages Disadvantages

Faster Processing Crash insecure


Porting inflexibility
Kernel Size Explosion

Example
MS-DOS
Unix
Linux

2
FTSM UKM
2
Why it is called monolithic
structure?

https://youtu.be/SBC_GSFlR34?t=49s 2
FTSM UKM
3
Monolithic and Micro Kernel

It has a minimal You can put all the


kernel. The kernel needed functions in
only provide a kernel. So kernel
essentially the is like one big
minimum component module where
that the machine everything is
need to actually running as one
start running. program.

A B 2
FTSM UKM
4
Micro kernel
Only very important parts like IPC(inter process
Communication), basic scheduler, basic memory
Handling, basic I/O etc are put into the kernel.

2
FTSM UKM
5
Microkernel

Advantages Disadvantages

Crash Resistant Slower Processing


Portable Additional Message Passing
Smaller Size

Example
MINIX
XNU
Windows NT

2
FTSM UKM
6
EXERCISE
Monolithic vs Microkernel

PERFORMANCE??
• https://en.wikipedia.org/wiki/Kernel_(operating_system)#Functions_of_t
he_kernel
Hybrid Kernel
- Combine aspects and benefits of microkernel and
monolithic kernel architectures
- Kernel structure similar to that of a microkernel, but to
implement that structure in the manner of a monolithic kernel
- Windows NT up to Windows 10

2
FTSM UKM
7
BREAK

5 MINUTES
Outline

• Introduction
• Computer System
• OS Evolution
• OS Design Objective
• OS Structure - Kernel
• Monolithic and Microkernel
• Linux, Windows OS and Virtual Machine Design
• Development leading to Modern OS
• OS Design Consideration

2
FTSM UKM
8
Linux vs Windows Architecture

2
FTSM UKM
9
Linux

Goal: Speed, efficiency, and standardization


Free operating system based on UNIX standards
UNIX is a proprietary OS developed in the 60’s, still used for
mainframes
1st version of Linux was developed in 1991 by Linus Torvalds.
Goal was to provide basic functionality of UNIX in a free system

3
FTSM UKM
0
Exercise- How Linux is built?

https://www.youtube.com/watch?v=yVpbFMhOAwE

1. Name 3 type of linux-based devices.


2. Example of giant company powered by Linux?
3. What is Unique Collaboration Development
Process?

3
FTSM UKM
1
Unix Architecture

• Kernel isolate from the


user and applications
• System call interface
- boundary between user to
3
access specific kernel functions FTSM UKM
2
Linux Kernel Components

• Several processing
• Interacting collection
of components

3
FTSM UKM
3
Modern Unix Design

• Modular architecture

• Small core of facilities

• Provide functions and


services

3
FTSM UKM
3
Windows

Goal: Extensibility, Portability, Reliability


History of windows. It is started with msdos, very basic without
any good structure?
Then go to Windows NT (new technology) .
This OS is design as microkernel, It get modularity, extensibility
but then it become slower.

3
FTSM UKM
5
Windows History

• Then, windows move away from microkernel.


• In 1988, Microsoft decided to develop a “new technology” (NT)
portable operating system that supported both the OS/2 and P
OSIX APIs. NT supported servers as well as desktop workstat
ions.
• Originally, NT was supposed to use the OS/2 API as its native
environment but during development NT was changed to use t
he Win32 API
• Windows XP was released in 2001 to replace the earlier versi
ons of Windows based on MS/DOS, such as Windows98 and
Windows ME.

3
FTSM UKM
6
Windows History
• Windows XP was updated in 2005 to provide support AMD64
compatible CPUs, bringing support for 64-bit desktop systems.
• Windows Vista was released in late 2006, but was poorly recei
ved due to initial problems with application and device compati
bility and sluggishness on the explosion of low-end “netbook”
devices.
• Windows 7 was released in late 2009, greatly improving on
Vista.
• Windows 8 was released in October 2012
• New user interface paradigm (Metro), new type of applications
and web store.

3
FTSM UKM
7
Exercise- Windows History
https://www.youtube.com/watch?v=hAJm6RYTIro

1. Which computer
brand did MS-DOS
used in 1981?
2. Internet Explorer
was introduced in
Windows ___.
3. What is the name of
the Windows version int
roduced during Y2K?
3
FTSM UKM
8
Windows Architecture
OS Organization
• Highly-modular
• Each system function manage
by one component of the OS
• Any module can be remove,
upgrade or replace without
rewrite system
• Kernel Mode components
Executive Mode
• I/O, cache, object, plug-and
play etc
• Kernel
• Hardware abstraction layer
• Device Driver
• Windowing and graphics
3
FTSM UKM
9
Windows Architecture

FOUR basic operations in


USER Mode
i) Special system
- Session manager, authenticat
ion
i) Service
- Printer spooler, device driver,
network
i) Environment
- Convert user application into
Windows call
i) User Application
- EXE and dlls.
3
FTSM UKM
9
Virtual Machine

Process VM
- Virtual platform for execution of single process
System VM
- Virtualization software to host guess OS 4
FTSM UKM
0
Outline

• Introduction
• Computer System
• OS Evolution
• OS Design Objective
• OS Structure - Kernel
• Monolithic and Microkernel
• Linux, Windows OS and Virtual Machine Design
• Development leading to Modern OS

4
FTSM UKM
1
Development leading to
Modern OS
Microkernel
Multithreading
Symmetric Multiprocessing (SMP)
Distributed OS
Object oriented design

4
FTSM UKM
2
OS Design Consideration
Symmetric Multiprocessor

Simultaneous concurrent processes or treads


– To avoid data corruption or invalid operations
Scheduling
– Multiple threads from same process simultaneuosly o
n multiple processor
Syncronization
– Share address spaces or I/O resource
– Enforce mutual exclusion and event ordering
Memory management
– Enforce consistency for page and segment sharing
Reliability and fault tolerance
– Deal with processor failure
4
FTSM UKM
3
OS Design Consideration
Multicore

Simultaneous concurrent processes or treads


– To avoid data corruption or invalid operations
Parallelism within Applications
– Multiple tasks implemented in multiple processes
Virtual Machine Approach
– Allow individual core to support multiple applications

4
FTSM UKM
4
EIGHT(8) OS Design Issues

Large Concurren Hostile Resource


Program cy user Sharing

Long Backward
Generality Portable
lifetime Compatible
4
5
Outline

• Introduction
• Computer System
• OS Evolution
• OS Design Objective
• OS Structure - Kernel
• Monolithic and Microkernel
• Linux, Windows OS and Virtual Machine Design
• Development leading to Modern OS

4
FTSM UKM
6

You might also like