System calls and VMs Flashcards
What are the different classes of interrupt?
Program
Timer
I/O
Hardware Failure
What is an interrupt?
An interrupt is a signal or event that prompts the CPU to stop its current execution and switch to a different set of instructions.
What is a system call?
Provides the interface between regular computer programs and the OS.
What is the kernel?
The core program that manages the talking between the hardware and software. It manages the CPU, the memory and the processes. It is the lowest layer above the CPU.
Kernels are divided into:
monolithic and microkernels
What is a monolithic kernel?
All services occur inside one program that occupies one memory space.
What is a microkernel?
When the kernel itself occupies a small space in memory while other things like device drivers and servers run as user level programs and talk to the kernel.
What is virtualization?
It is the process of simulating hardware and software in a virtual environment.
What is a hypervisor?
The software that actually runs the virtualization. It allocates and controls the sharing of the machine’s resources such as RAM, CPUs, storage space etc.
What are the two types of VMs.
Process and System
What is the difference between a type 1 and type 2 hypervisor?
A type 1 hypervisor is installed on empty bare metal hardware while a type 2 is installed on an existing OS.
What is a process vm?
Designed for isolating and running individual applications ensuring they operate in a controlled environment.
What is a system VM?
Used for virtualizing entire systems, allowing multiple OSs to exist on a single physical machine.
What is kernel mode?
the mode in which the operating system’s kernel code runs. It is designed for system-level code execution and management of system resources. It can execute any CPU instruction and reference any memory address. Crashes in this mode are catastrophic.
What is user mode?
the mode in which most user applications, such as word processors, web browsers, and games, run. It is designed for user-level code execution. Code running in user mode must delegate to system APIs to access hardware
or memory.