-
Notifications
You must be signed in to change notification settings - Fork 0
en: Design
Frog Chen edited this page Aug 30, 2016
·
6 revisions
- / kernel.cpp, Makefile, etc.: the essential part
- /arch/ Put all modules and drivers here
- /arch/${ARCH}/ Folder for multiarch, only i686 at present though
- /arch/${ARCH}/Boot/ Files for booting, e.g. bootstrap
- /arch/${ARCH}/Basic/ Basic module for the arch, e.g. basic I/O, memory, debugging, multi threading...
- /arch/${ARCH}/Device/ Kernel space device drivers that are necessary or can't be abstracted by IOMod, and also some abstraction layers (PCI-E, for example)
- /arch/${ARCH}/.../ Other in kernel modules served as a driver
- /arch/${ARCH}/IOMod/ The driver server which connect the kernel with userspace driver
Cryst is a hybird kernel. It has few in-kernel modules served as drivers, and it also has driver server which enables the userspace driver.
- Memory management
- Process and thread management
- Driver server
- Partial POSIX support (e.g. IPC and fork)
- Kernel idle process
- IDT & GDT Management
- Hardware abstracted drivers
- File system
- Binary Loader (e.g. ELF Loader)
- Graphical drivers
- Display servers
- Block devices support
- ...