L4/Darwin: Evolving UNIX
Charles Gray Research Engineer, National ICT Australia charles.gray@nicta.com.au
L4/Darwin: Evolving UNIX Charles Gray Research Engineer, National - - PowerPoint PPT Presentation
L4/Darwin: Evolving UNIX Charles Gray Research Engineer, National ICT Australia charles.gray@nicta.com.au Outline 1. Project Overview 2. BSD on the Mach microkernel 3. Porting Darwin to the L4 microkernel 4. Project Status 2 Darbat
Charles Gray Research Engineer, National ICT Australia charles.gray@nicta.com.au
2
3
4
5
1,000,000 2,000,000 3,000,000 4,000,000 5,000,000 6,000,000 7,000,000 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006
6
Hardware Mach
Kernel User
Process Mgr Network Application Application File System Disk
7
8
Hardware
Kernel User
launchd Aqua GUI xnu UNIX App OS X App
Darwin
9
Hardware Mach
Kernel User
UNIX App OS X App I/O Kit BSD
10
Kernel User
Mach I/O Kit BSD
VM UBC
fork() mmap() listen()
UFS HFS+ TCP
interrupt
Scheduler PCI Bus Disk Network
11
Kernel User
Mach I/O Kit BSD
mach_msg() interrupt
PCI Bus ATA NIC
paging
Disk0 Disk1 Partition0 Partition1 UHCI Keyboard User Client HFS+
12
Kernel User
I/O Kit BSD
ioctl()
ATA Disk0 Disk1 Partition0 Partition1 HFS+
bdevsw
SCSI
read()
13
14
Hardware L4
Kernel User
OS Kernel Application Application Application
★not to scale
interrupt page-fault / exception
15
Mach
BSD xnuglue I/O Kit BSD stub
16
UNIX App OS X App Hardware L4
Kernel User
Mach
BSD xnuglue I/O Kit BSD stub
timer interrupt
17
Mach
timer exception
page faults syscalls
18
Hardware L4
Kernel User
I/O Kit xnu xnu
19
Hardware L4
Kernel User
Disk Stack Network Stack xnu
20
Hardware L4
Kernel User
xnu xnu xnu Application Application Application Application Application
priority
21
Hardware L4
Kernel User
I/O Kit xnu Watchdog Key Mgr.
22
Hardware L4
Kernel User
I/O Kit xnu Wombat Linux
23
Hardware L4
Kernel User
xnu UNIX App
Hardware
Kernel User
xnu UNIX App
24
Hardware L4
Kernel User
Hardware
Kernel User
xnu UNIX App
UNIX App
25
Hardware L4
Kernel User
xnu OS X App OS X App
26
Hardware L4
Kernel User
I/O Kit xnu Python
27
28
29