Introduction & OS Structures Flashcards
(36 cards)
⭐️ Operating system
A program that manages a computer’s hardware. Also provides a basis for application programs and acts as an intermediary between the computer user and the computer hardware
Virtualization
The OS takes a physical resource and transforms it into a more general, powerful and easy-to-use virtual form of itself / abstracting underlying hardware
What does an OS provide?
- Standard library for resources
- Resource management
What are the advantages of the OS providing abstractions?
- Separate interface & underlying hardware implementation
- Allows applications to reuse common facilities
- Makes different devices look the same
What are the advantages of the OS providing resource management?
- Protect applications from one another
- Efficient access to resources
- Fair access to resources
Resource
Anything valuable
What abstraction does a modern OS provide for the resource CPU?
Process / thread
Virtualizing the CPU
Turning a single CPU into a seemingly infinite number of CPUs and thus allowing many programs to seemingly run at once
What abstraction does a modern OS provide for the resource memory?
Address space
Virtualizing memory
Each process accesses its own private virtual address space, which the OS maps onto the physical memory of the machine
What abstraction does a modern OS provide for the resource disk?
Files
Resource management
Sharing of resources in a good manner
What techniques are deployed to manage the increasing complexity of OS’s?
Modularity, abstraction and hierarchy
What is the core component of an OS?
Kernel
Kernel
Software providing secure access to hardware and executing programs
What four areas does the kernel handle?
Process management
Device driver
Memory management
System calls
System calls
Provide the interface between a running program and the operating system kernel
Describe the standard implementation of a system call
A run-time support system provides a system call interface where:
- A number is associated with each system call
- The system call interface maintains a table for system calls
- The intended system call is indexed according to its number
⭐️ Describe an OS with a simple structure
Programs and OS have the same level of privilege
⭐️ What are the pros of an OS with a simple structure?
Efficient - no switching between user and kernel space
⭐️ What are the cons of an OS with a simple structure?
No isolation - between applications & the OS leads to security issues
⭐️ Describe an OS with a monolithic kernel
The entire OS works in kernel space
⭐️ What are the pros of a monolithic kernel?
Good isolation & security - user space cannot directly access OS
⭐️ What are the cons of an OS with a monolithic kernel?
Inflexibility - to modify something in the OS, the entire kernel space must be reviewed
Unreliable - Device drivers can crash the entire system