Top Banner
Operating System Support Including 1.Introduction 2.The OS layer 3.Protection 4.Processes & Threads 5.Operating System Architecture
21
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 2. microkernel new

Operating System Support

Including

1.Introduction

2.The OS layer

3.Protection

4.Processes & Threads

5.Operating System Architecture

Page 2: 2. microkernel new

Operating System Architecture

Page 3: 2. microkernel new

Definition of Kernel• The fundamental part of an operating system.

• Responsible for providing secure access to the machine's hardware for various programs.

• Responsible for deciding when and how long a program can use a certain hardware.

Page 4: 2. microkernel new
Page 5: 2. microkernel new
Page 6: 2. microkernel new

Hardware must provide at least two execution levels:

• Kernel mode In this mode, the software has access to all the instructions and every piece of hardware.

• User mode In this mode, the software is restricted and cannot execute some instructions, and is denied access to some hardware.

Page 7: 2. microkernel new

Types of Kernels

1. Monolithic Kernels

2. Micro kernels

3. Hybrid Kernels

4. NanoKernels

5. Exokernels

Page 8: 2. microkernel new
Page 9: 2. microkernel new

Monolithic Kernels• All OS services operate in kernel space• Good performance• Execute all of their code in the same address

space (kernel space)• Rich and powerful hardware access• Monolithic Kernel : Kernel Image = (Kernel

Core+Kernel Services). When system boots up entire services are loaded and resides in memory.

• Example: Windows and Unix.

Page 10: 2. microkernel new

1. Monolithic Kernels

Page 11: 2. microkernel new

Disadvantages

Disadvantages The dependencies between system components A bug in a driver might crash the entire system Large kernels → very difficult to maintain

• E.g. Unix, Linux

Page 12: 2. microkernel new
Page 13: 2. microkernel new

Microkernels

• Minimalist approach– IPC, virtual memory, thread scheduling

• Put the rest into user space– Device drivers, networking, file system, user interface• Run most of their services in user space

→improve maintainability and modularity• Micro kernel : Kernel Image = Kernel Core. Services are

build into special modules which can be loaded and unloaded as per need.

Page 14: 2. microkernel new

Microkernel

Page 15: 2. microkernel new

• Disadvantages– Lot of system calls and context switches

• E.g. Mach, L4, AmigaOS, K42

Page 16: 2. microkernel new
Page 17: 2. microkernel new

17

Operating System Architecture

Monolithic Kernel Microkernel

Server: Dynamically loaded server program:Kernel code and data:

.......

.......

Key:

S4

S1 .......

S1 S2 S3

S2 S3 S4

Figure 5. Monolithic kernel and microkernel

Couloris,Dollimore and Kindberg Distributed Systems: Concepts & Design Edn. 4 , Pearson Education 2005

Page 18: 2. microkernel new
Page 19: 2. microkernel new
Page 20: 2. microkernel new

Summary: Kernels• Monolithic kernels

– Advantages: performance– Disadvantages: difficult to debug and maintain

• Microkernels– Advantages: more reliable and secure– Disadvantages: more overhead

• Hybrid Kernels– Advantages: benefits of monolithic and microkernels– Disadvantages: same as monolithic kernels

• Nano kernel & Exo kernels– Advantages: minimal and simple– Disadvantages: more work for application developers

Page 21: 2. microkernel new

Thank You