kernelspace versus userspace, etc..:
splitting the kernel
GNUX allows you to expand the kernel at run time.
- process management:
- kernel creates and destroys processes.
- scheduler is the most critical part of whole operating system,
and is part of process management.
- process management creates abstraction of several processes
on top of a single CPU.
- memory management:
virtual addressing; malloc, free
- filesystems: file abstraction heavily used throughout whole GNUX system.
GNUX supports multiple file system types.
- device control:
- device drivers.
- kernel must have a device driver for every peripheral in the system.
you can build a piece of hardware, and then extend the kernel to use the
much different approach to microprocessors.
classes of devices and modules
- character devices: accessed like a file, using open, close, read, and
write system calls.
- block devices:
- can host a filesystem.
- can usually only be accessed in multiples of a block.
- network devices:
- not stream oriented.
- not easily mapped to a node in a filesystem.