OS + OS Design Flashcards
(11 cards)
what is an os(what is their role)
Os: Manages hardware and system resources,
Shares out and accounts for resources,
Offers secure environment for applications,
Provides common device or I/O system
The Operating system
- Includes kernel and system library interface
Benefit of abstraction
The OS hides the complex hardware details and gives applications a simpler, cleaner interface to work with.
Hardware abstraction allows us to hide hardware
differences from Operating System– Operating System can then run on different hardware
The OS provides abstract environments like:
Files instead of raw disk blocks
Processes/Threads instead of CPU register juggling
Memory allocations instead of managing physical RAM
System calls instead of direct hardware instructions
different OS
Embedded/ Real-Time, emphasis on – Proven long term reliability and strict timing guarantees– Small footprint, no unnecessary code– Certification process for safety critical systems
* Server, emphasis on – Fairly sharing resources– Reliability
* Desktop, emphasis on
Could be same OS running
with different parameters– Interactivity– GUI and graphics/ media
different OS
embedded/real time - can be found in cars, planes,etc.
Server - Web servers, databases
Desktop - Personal laptops , PC’s
Design (OS) - Monolithic
Monolithic has a traditional approach (Tight coupling of non application code)
- All OS code running with full privileges
- Difficult to impose security or protection
- Efficient call structure(Shared access to resources)
- Difficult to maintain
(Code boundaries frequently blurred)
Layered Approach
Realisation that we have identifiable layers in
system
- High-level components built on lower ones
- Impose tighter security as move from hardware
-Performance penalty with every layer crossed
Hard to manage if complex inter-layer call chain
Applications
* Can’t call up layers (only down) so needs thought at design
Design OS(Micro kernel)
Minimal amount of code has ‘system’ privileges
* Most code in unprivileged ‘user space’
* Far more secure than other approaches
Components communicate by message passing
* Main function of kernel in this model is
Inter-Process Communication (IPC)
* Can be inefficient
* Most real implementations break model
- Extensible and have minimal system dependencies
Modular OS
- Core kernel loads modules as needed
- Core relatively small
- More manageable, less scope for code problems
- Kernel modules run with elevated privileges
- Reliant on API and structure for kernel integrity
- Modules can still break things if they don’t follow rules
- Naturally restricted to module API
- Can access and share resources across modules