paper review mach : a new kernel foundation for unix development chan seok kang 2013/02/26

40
Paper Review Mach : A New Kernel Foundation For UNIX Development Chan Seok Kang 2013/02/26

Upload: amos-patterson

Post on 27-Dec-2015

219 views

Category:

Documents


3 download

TRANSCRIPT

Paper ReviewMach : A New Kernel Foundation

For UNIX Development

Chan Seok Kang2013/02/26

2Computer Systems and Platforms Lab

Content

Abstraction

Base Information

Mach Architecture

My Opinion

Reference

3Computer Systems and Platforms Lab

Abstraction

4Computer Systems and Platforms Lab

Abstraction

Mach?

Simply known as abbreviation of “Machine”

Or Unit of Speed.

5Computer Systems and Platforms Lab

Abstraction

Mach!

Multi-UserCommunication

Kernel

6Computer Systems and Platforms Lab

Abstraction

Mach!

CommunicationKernel

MultiProcessor Universal

7Computer Systems and Platforms Lab

Abstraction

Mach!

M.U.C.K

Mach!

Just Mispronounced for Developer

8Computer Systems and Platforms Lab

Abstraction

Mach

Developed at Carnegie Mellon University in 1985

Replacement for the traditional UNIX Kernel

MicroKernel

Support for MultiProcessor

Capability-based IPC

Mach 3.0 was developed officially until 1994

But still develop in nowadays

– Mac OS X, GNU Hurd….

9Computer Systems and Platforms Lab

Base Information

10Computer Systems and Platforms Lab

Base Information

Kernel

Kernel Mode(Privilege Mode)

User Mode(Non-Privilege Mode)

11Computer Systems and Platforms Lab

Base Knowledge

Traditional UNIX System Monolithic Kernel – The Big Kernel

12Computer Systems and Platforms Lab

Base Knowledge

Traditional UNIX System Monolithic Kernel – The Big Kernel

Problem The Role of Kernel is very important If there are problems in Kernel, What happen?

13Computer Systems and Platforms Lab

Base Knowledge

MicroKernel - The Small Kernel Only Leave necessary feature for System Operation

Basic IPC, Thread Management etc..

14Computer Systems and Platforms Lab

Base Knowledge

Comparision Monolithic Kernel & MicroKernel

15Computer Systems and Platforms Lab

16Computer Systems and Platforms Lab

17Computer Systems and Platforms Lab

Base Knowledge

Tanenbaum / Torvalds Debates

- Monolithic Kernel ( L.Torvalds ) - Micro Kernel ( A.Tanenbaum )

18Computer Systems and Platforms Lab

Mach Architecture

19Computer Systems and Platforms Lab

Base Knowledge

Mach Computing Environment

20Computer Systems and Platforms Lab

Base Knowledge

Mach Architecture

Process Management

InterProcess Communication

Memory Management

21Computer Systems and Platforms Lab

Base Knowledge

Task & Thread

Task : A Collection of System Resource Thread : A Basic Unit Of Computation

22Computer Systems and Platforms Lab

Base Knowledge

Multi-Tasking & Multi-Threading

23Computer Systems and Platforms Lab

Base Knowledge

Process Management On Mach Two Kinds of Thread State

Running Suspended

24Computer Systems and Platforms Lab

Base Knowledge

Process Management On Mach Two Kinds of Thread State

Priority Number : For Scheduling Suspend Count : For Synchronization

Thread ThreadCount Count

Num Num

25Computer Systems and Platforms Lab

Base Knowledge

Process Management On Mach Difficulty

Finding the Available Processor is Difficult Context Switching in Multiprocessor system is Wasteful

Solution Varies the size of the time quantum inversely

– Hold the Thread`s state!

26Computer Systems and Platforms Lab

Base Knowledge

Interprocess Communication Port

Protected, Bounded queue Message pass through this.

27Computer Systems and Platforms Lab

Base Knowledge

Interprocess Communication in Mach All Object in Mach is Transparent for users

Location Independent.

NetMsgServer– Located in user mode– Capability-based Deamon– Enable Transparancy of IPC

28Computer Systems and Platforms Lab

Base Knowledge

Interprocess Communication Message Interchange

29Computer Systems and Platforms Lab

Base Knowledge

Memory Management Virtual Memory

Combine the address For Storage Limitation of

Physical Memory

30Computer Systems and Platforms Lab

Base Knowledge

Memory Management On Mach Allocate / Deallocate Regions of Virtual Memory

With Copy On Write

Set the Protection on Regions of Virtual Memory

Specify the inheritance of regions of Virtual Memory

31Computer Systems and Platforms Lab

Base Knowledge

Memory Management On Mach Copy On Write (COW)

Back up the data & modify the temp data

32Computer Systems and Platforms Lab

Base Knowledge

Memory Management On Mach Pager

The Ability to handle the page faults & page-related Data

Combined with File system, when implement a file in Memory

33Computer Systems and Platforms Lab

Base Knowledge

Virtual Memory Implementation in Mach

Page Size can be defined for each Section

34Computer Systems and Platforms Lab

My Opinion

35Computer Systems and Platforms Lab

Conclusion

Mach : The 1st genaration MicroKernel-based OS Multiprocessor operation Transparent extension through Network Server User-level Server Flexible Virtual Memory Management Portability

But highly conflict with IPC Performance Problem 50% slower than Monolithic Kernel-based OS

36Computer Systems and Platforms Lab

Opinion

Despite of Failure, the idea of paper is good enough to : Design Low Power Super Computer Design Cloud Computing

Researching about MicroKernel 2nd Gen MicroKernel ( L4 Kernel ) Various OS based on MicroKernel

GNU Hurd, OSF/1, Darwin etc..

37Computer Systems and Platforms Lab

Opinion

Super Computer with Raspberry PI? Research on University of Southampton

Maybe Karl`s Work with SRP?

38Computer Systems and Platforms Lab

Achievement of This Period

Understanding Basic Structure of Operating System Finished the Book volume 1 : Mint64OS

Boot Loader Kernel Management Device Recognition Etc…

Of Course, Reminding is more important!

Read the Paper of Microkernel

39Computer Systems and Platforms Lab

Future work of This semester

Understanding about Distributed OS If Possible, Learn About L4 MicroKernel

Finish to make Mint64OS

This Semester`s Class Compiler (Undergraduate) Real Time System (Graduate)

40Computer Systems and Platforms Lab

Reference

Wikipedia : Mach (Kernel) , MicroKernel Operating System Concepts by Silberschartz

Appendix B : The Mach System

Computer Organization & Design by Patterson Chapter 7.4. Virtual Memory

Understanding the linux Kernel by Bovet

Distributed System Concepts and Design Chapter 18. Mach Case Study