Introduction Flashcards
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
Resource
Anything valuable
What abstraction does a modern OS provide for the resource CPU?
Process / thread
What abstraction does a modern OS provide for the resource memory?
Address space
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
The software responsible for providing secure access to the 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 an OS with a simple structure
Programs and OS have the same level of privilege
Describe an OS with a monolithic kernel
The entire OS works in kernel space
Describe an OS with a microkernel
Some services / modules are decoupled from the OS kernel and stay in the user space
Describe an OS with a hybrid kernel
Combines monolithic kernel and microkernel
What three pieces helps the OS achieve its goals?
Virtualization, concurrency, persistence
Virtualizing the CPU
Turning a single CPU into a seemingly infinite number of CPUs and thus allowing many programs to seemingly run at once
Virtualizing memory
Each process accesses its own private virtual address space, which the OS maps onto the physical memory of the machine
Concurrency
Events are occurring simultaneously and may interact with one another
Persistence
Safely storing data on different storage devices