ECM 1413 Operating Systems and Structure Flashcards
Define Operating System
a program that controls the execution of application programs and acts as an interface between applications and the computer hardware.
Objectives of OS
Convenience, Efficiency, Ability to evolve
Services provided by operating systems include:
file management
input/output management
process management
memory management
multiprocessor management
(spare) MUMPS acronym:
Memory management
User Interface
Multitasking
Peripheral management
Security
What is a kernel
The most central part of an operating system
What functionality that is included in the kernal will depend on the OS design
The 2 different modes in the OS:
User mode: Certain areas of memory are protected from the user and certain instructions may not be executed.
Kernel mode: All areas of memory are available and privileged instructions may be executed.
What is Context Switching and why must it be minimised?
Context switching: transition between user mode and kernel mode
Context switches are computationally expensive
Therefore, an OS should aim to minimise the number of context switches
The 4 possible OS structures
1 Monolithic
2 Layered
3 Microkernel
4 Modular
Monolithic Structure (with pros and cons)
All services are implemented by a large kernel
Any new feature is added to the kernel
“Everything is connected to everything”
Pros:
Communication within the kernel is fast
Cons:
Difficult to understand
Difficult to modify Lack of security
Layered Structure
An operating system with a layered structure has services implemented by a large kernel, with a layered organisation.
Each layer can only communicate with adjacent layers
A given layer only needs to know the functionality of adjacent layers (not how they are implemented)
Pros: Easy to debug
Cons: Poor performance due to requiring traversal through multiple layers to obtain an operating-system service
Microkernel Structure
An operating system with a microkernel structure has services implemented by servers, and a small kernel delivering messages between them.
Pros: Secure and reliable
Cons: Poor performance due to increased system-function overhead
Modular Structure
Start with a small kernel
Additional services are loaded on demand via modules
Pros:
Fast since
we don’t need to load unnecessary services
any module can directly communicate with any other module
Cons: Similar to the monolithic structure as more modules are loaded
What is virtualization and what does it achieve
Virtualization is a technology that allows us to abstract the hardware of a single computer into several different execution environments, thereby creating the illusion that each separate environment is running on its own private computer
allows Oss to run as application within other OSs.
Two types of virtualization
Type-1 Hypervisor (bare-metal or native)
- Hypervisor runs directly from the hardware
Type-2 Hypervisor (hosted)
- The native Operating System is used to host new OSs