Boot, Kernel and Interrupt Controller Flashcards
What is the booting process of a computer?
The booting process of a computer involves the processes between a reset or power-up and normal operation. It includes initializing and starting the operating system as part of the boot process.
What is the first stage in a typical boot sequence?
The first stage of a boot sequence starts from a preset address in a small, non-volatile ROM. It assumes very little, with undefined RAM and limited knowledge about files. It may perform system tests, check available RAM, and have basic abilities to read/execute code from a backing store.
What is the purpose of the Master Boot Record (MBR) in an x86 PC?
The Master Boot Record (MBR) is located in the first sector of a disk in an x86 PC. It is read and executed during the boot process if it appears valid. The MBR is a short record (512 bytes) and is responsible for loading and executing more sophisticated boot loaders or operating systems.
What is the role of the second stage boot loader in the booting process?
The second stage boot loader performs more extensive system checks and is capable of loading an operating system. It may give users a choice of what to do next before proceeding.
What happens in the final stage of the booting process?
In the final stage, the boot process loads and starts the operating system(s). It may conduct additional system tests, such as checking hardware configurations, loading device drivers, and initializing hardware. Finally, it may run an application like a shell or window system.
What is the kernel in an operating system?
The kernel is the core of an operating system, residing in protected space. It includes components such as the process manager, scheduler, interprocess communication, exception handlers, and resource managers. It is isolated from the user space and connected through system calls.
Is the “kernel” the same as the “operating system”?
It depends on the design philosophy. The kernel is responsible for implementing mechanisms, while the operating system may encompass both mechanisms and policies. For example, a scheduling mechanism (mechanism) and a scheduling policy (policy) can be distinguished within the kernel.
What is a monolithic kernel?
A monolithic kernel includes everything in the kernel itself, running in privileged mode with direct access to the operating system’s memory. It contains all routines and functionalities of the operating system.
What are the disadvantages of a monolithic kernel?
The disadvantages of a monolithic kernel include code size “bloating,” making management difficult, decreased reliability as a bug in one area can crash the whole system, and limited portability when adapting code to new systems or architectures.
What is a microkernel?
A microkernel separates the kernel into privileged handlers and user-mode processes for functionalities such as the filing system, graphical user interface (GUI), and device drivers. It keeps the sensitive code smaller, improving reliability and allowing easier modification and maintenance.
What are the disadvantages of a microkernel?
The disadvantages of a microkernel include slower performance due to increased overhead from communications and extra system calls, as well as increased complexity that can lead to potential problems.
What is a hybrid kernel?
A hybrid kernel is a compromise between a microkernel and a monolithic kernel. It is primarily a microkernel with some functions placed inside the privileged boundary for efficiency purposes.
What is an interrupt controller?
An interrupt controller is a hardware device that manages interrupts in a computer system. It receives input signals from various I/O devices and determines which interrupt request to prioritize and pass on to the processor.
Why is interrupt prioritization important?
Interrupts may be requesting services simultaneously, and the processor can only handle one interrupt routine at a time. Prioritization ensures that more urgent interrupts are serviced first, taking into account the interrupt latency and the needs of real-time environments.
How does an interrupt controller handle multiple input signals?
An interrupt controller has programmable enable bits for each input signal, allowing the operating system to selectively enable or disable specific interrupts. Inputs are then assigned priorities, typically through programmable priority fields associated with each signal.