Memoire virtuelle
UNIX ARCHITECTURE
* Monolithic * how it handles tasks (process management) * how it handles memory * how it handles the filesystem * how it handles general I/O * security issues
Intro
Typical computer system consists of:
* Hardware * Operating system * Applications and utilities
Typical OS includes a user interface or command interpreter.
Unix is somewhat unique in that the command interpreter is not integrated with the OS but is a separate program
De nos jours Unix utilise microkernel :
In a monolithic kernel, all OS services run along with the main kernel thread, thus also residing in the same memory area. This approach provides rich and powerful hardware access. Some developers, such as UNIX developer Ken Thompson, maintain that it is "easier to implement a monolithic kernel"[42] than microkernels. The main disadvantages of monolithic kernels are the dependencies between system components — a bug in a device driver might crash the entire system — and the fact that large kernels can become very difficult to maintain.
Unix uses a layer approach of defining software.
Layered approach is basis for Unix security. At the lowest level, the level closest to the hardware, are the basic hardware interface :
* modules * Process scheduling * Memory management * Interrupt handling * Low level device control * Disk system management and data buffering * Process synchronization and inter-process * communication (IPC)
The next level provides all the kernel services * Mapping between user requests and device driver actions
* The user system call is converted to a kernel service call that actually performs the requested service * Process creation and termination * I/O services * File/disk access services * Terminal handling services
The system call interface layer converts a process running in user mode to a protected kernel mode process