Introduction to OS Flashcards
What is an OS?
The OS is a layer of software which manages some or all of the computers: disk, processor, memory and I/O devices
Two main functions of an OS
To provide virtual machine abstraction of the underlying hardware.
To manage access to the CPU
A resource manager.
OS as an Extended Machine
The OS provides usable abstractions for complex or difficult to use hardware.
OS as a Resource Manager
It allows multiple programs to run at the same time, manages and protects memory, I/O devices and other resources.
It shares resources in time and in space.
The OS kernel
The kernel is the core of the OS; it controls access to hardware and system resources. Kernel mode can be used for privileged operations.
OS Structure
Many types of systems (e.g. mainframe, servers, mobiles, PCs) however one size does not necessarily fit all
OS needs to meet non functional requirements i.e. maintainable and reliable
Monolithic OS
All OS layers are in Kernel (making the OS a single binary library linked to apps).
A bug in the kernel can bring the whole system down e.g. a bug in the audio driver can crash a whole system including unrelated applications.
Monolithic 0S (Linux): 15,000,000 lines of code
Microkernel OS
For improved reliability Microkernel OS put as little as possible in the kernel (split into small, well-defined modules)
Runs only the essential modules in the kernel while drivers, filesystems etc are separate user mode processes.
MINIX3 microkernel: 15,000 lines of code