1/27
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
operating system
a program that acts as a middle ground between the user of a computer and the computer hardware
Role of OS in Memory Management
It is responsible for tracking memory usage, allocating space to active processes, and deallocating space as needed
Role of OS in Device Management
It is responsible for hiding details of hardware devices from the user
Role of OS in File Management
It is responsible for creating and deleting files and directories, having primitives to manipulate files and directories, mapping files into secondary storage, and backing up files onto stable storage media
Role of OS in Process Management
It is responsible for creating and deleting user and system processes, suspending and resuming processes, and providing mechanisms for process synchronization, process communication, and deadlock handling
Role of OS in Security and Protection
It is responsible for any mechanisms that control access of processes or users to resources defined by the OS and the defense of the system against internal and external attacks
Interrupts / Why are they Important for OS function?
An interrupt is how the device controller informs CPU that an operation is completed. It is important for function because it allows the CPU to multitask and run multiple processes without constant polling
Memory (needed by running programs)
only large storage media that CPU can directly access
CPU Time (needed by running programs)
total amount of time spent by CPU to execute a process
I/O Devices (needed by running programs)
hardware that allows a user to interact with a computer
Multitasking
It has the CPU switch through jobs frequently allowing for interactive computing
Multiprogramming
It organizes jobs via job scheduling so the CPU always has one to execute
Dual-Mode Execution
It allows the system to protect itself by splitting its operations into user mode and kernel mode. It is important for system security and stability.
User-Mode
restricted privileges for user applications.
Kernel-Mode
full privileges to hardware and system resources.
Trees in OS Systems
used for process scheduling and organizing files
Linked Lists in OS Systems
used for managing processes and tracking free memory for allocation
Bitmaps in OS Systems
using for tracking resources
Hash Tables in OS Systems
fast lookups
Examples of Services Provided to Users/Programs by the OS
user interface, program execution, I/O operations, file management, process communication, and error detection
Examples of OS User Interfaces (UI)
command line (CL), touchscreen, graphics user interface (GUI)
System Calls and Services Provided to User Programs
It provide a programming interface to the services provided by the OS. Services include: process control, file management, device management, information maintenance, communications, and protection
Tightly Coupled vs Loosely Coupled System
A tightly coupled (monolithic structure) system could have changes to one part impact other parts. A loosely coupled system (layered approach) is made up of smaller, separate components with specific and limited functionality.
Monolithic Kernel
fast but tightly coupled, difficult to implement and extend, and can cause problems with one component to affect others.
Layered Kernel
loosely coupled, more simply constructed, and easier to debug but defining the specific functionality of each layer can be difficult.
Microkernel
smaller kernel, easier to port, easier to extend, and are generally more reliable/secure but its performance can suffer from the user space to kernel space communication
Why is separating mechanism from policy important? Example
Policies determine what will be done and Mechanisms determine how to do something. The separation is important because it allows flexibility if decisions are later changed.
Ex. Policy: Interrupt every 30 seconds
Mechanism: timer
Edit: change 30 t0 60
Preferred langauges for OS implementation
C and MIPS Assembly