[Semester 2] Operating System Flashcards
What is the operating system’s purpose?
Handling lower level languages
Basic Input/Output System (BIOS)
Loads the OS into main memory and stores configuration info for peripherals (e.g. keyboards)
Processes
Programs being executed
True or false: Processes are run in secondary storage
False! Processes are allocated locations (usually address spaces) in main memory.
Multi-programming
The OS quickly switches from process to process. This usually happens when the OS boots.
Scheduling
Allocates time and space to processes
How can a process start?
System initialisation
Process-creation system call by a running process
User request to create a new process
Batch job
How can a process be terminated?
Normal exit
Error exit (e.g. invalid input)
Fatal error (e.g. bug)
Killed by another process
Running
The process is currently being used by the CPU
Ready
The process has been temporarily stopped to let another process run
Blocked
The process can’t run until something happens
Threads
Performing different activities related to a process rather than running the process itself
True or false: Threads take up less space than processes
True! Threads aren’t bound to the CPU like processes, meaning they can make more use of the system.
True or false: Threads can only be used once
False! Threads can be used multiple times.
Inter-process Communication (IPC)
Allows processes to share information
Kernel
Controls the OS and can access all instructions and I/O devices
True or false: The kernel can be accessed by the user
False!
System call
Requesting services from the kernel
Process management (forking)
Duplicates a process by creating a child. The child has the same properties as the parent, but any further changes aren’t linked.
File management
Creating/moving/deleting/etc. files and directories
True or false: UNIX files have a table of nodes
True! This table describes every aspect of the file.
True or false: The kernel decides which files can be accessed by the user
True! This is to prevent them from accessing sensitive files.
Kernel panic
Rebooting the system and sending debugging processes
True or false: The kernel always reboots the system during kernel panic
False! Sometimes the kernel waits for the system to reboot itself.
Virtual machine
Emulates software such as operating systems
Dual booting
Switching between operating systems while using a virtual machine
Container
Packages code and dependencies, which can then be deployed to other users
Bootloader
Manages the machine’s boot process
Daemons
Background processes that start once the system is booted
True or false: The graphical server deals with displaying the GUI
False! The graphical server loads pixels on the monitor.
Master Boot Record (MBR)
Holds information on file systems
Grand Unified Bootloader (GRUB)
Loads and transfers control to the kernel
Client server model
The client requests information from the server until it gets what it wants
Processes are given ___ per element
1 byte
True or false: A process’ stack and heap can’t change
False! They can grow and shrink during execution.
True or false: The maximum number of addresses the heap can store depends on the size of the disk
True! The heap is usually located in virtual memory, meaning it can use disk space.
Stack
Current procedure calls, parameters and local variables
Heap
Dynamically allocates memory during runtime
User mode
Prohibits user from accessing sensitive files and instructions