Functionality Flashcards
(17 cards)
Emulation
a computer or program that emulates or imitates another computer or program.
Cross-platform application
may run on many platforms, or as few as two.
○ may run on Linux, macOS and Microsoft Windows
○ Some frameworks for cross-platform development are Codename One, ArkUI-X,
Kivy, Qt, Flutter, Native Script, Xamarin, PhoneGap, Ionic, and React Native.
Multiprogramming
multiple programs execute at a time on a single device.
Multitasking
allow multiple programs and processes to run on a computer system
simultaneously. Multitasking operating systems help manage allocating system resources
such as CPU time, input/output devices, and computer memory among programs that are
running.
Multitasking - Preemptive
Pre-emptive multitasking lets the OS yank the CPU away to keep things
fair.
Multitasking - Cooperative
Legacy type of multitasking where each running process voluntarily gives up control of the CPU so other processes can run.
It’s called non-preemptive because the Operating System (OS) does not forcefully take back control from a process.
A process runs as long as it wants (or needs), and only when it explicitly “yields”, does the CPU switch to another process.
Multitasking - Hybrid
Hybrid Multitasking combines features of both:
Preemptive multitasking: The OS can forcibly interrupt a process after a set time (time slice) and switch to another process.
Cooperative multitasking: A process can also voluntarily yield control back to the OS when it’s ready.
So, in a hybrid system:
The OS ensures fairness and responsiveness (like preemptive multitasking)
Well-behaved applications can optimize performance by yielding early (like cooperative multitasking)
Multithreading
Multithreading is a technique where a single process is divided into multiple threads — smaller units of execution that run concurrently (or in true parallelism on multi-core CPUs).
Each thread Shares the same memory and resources (since they belong to the same process)
Can run independently and simultaneously, especially on modern CPUs with multiple cores or simultaneous multithreading (like Intel Hyper-Threading)
💡 Think of threads as workers inside one program, each handling a different task at the same time.
Concurrency
ability of multiple threads to access shared resources simultaneously.
Batch processing
The method computers use to periodically complete high-volume,
repetitive data jobs
HCL
Hardware compatibility list. list of computer hardware (typically including many
types of peripheral devices) that is compatible with a particular operating system or device
management software.
System calls groups
A system call is a way for a user-level program to request services from the operating system.
Since programs don’t have direct access to hardware or critical OS functions (for security and stability), they must go through system calls to do things like read a file, create a process, or access memory.
Think of system calls as the bridge between applications and the OS kernel.
System Call Groups Table
Process Control | Start, stop, manage processes | fork(), exec(), exit()
File Management | Access and manipulate files | open(), read(), write()
Device Management | Interact with hardware devices | ioctl(), read(), close()
Info Maintenance | Manage process, file or device metadata | getpid(), time(), sleep()
Communication | Communication connections. Messages. Transfer status information | pipe(), send(), recv()
Protection| Manage file permissions.
Operating system life cycle
Refers to the time when the OS is introduced to the time in
which the OS is no longer supported.
End-of-life (EOL)
OS will no longer receive updates.
Life cycle terms
Alpha Early development version, internal testing
Beta Public or private test version, user feedback
Release Candidate (RC) Final testing before release, might become final unless bugs found
Current (GA) Official release; ready for general use
Service Pack (SP) Bundle of updates, fixes, and patches
Mainstream Support Full support — updates, fixes, help desk
Extended Support Only critical security updates, no hotfixes or new features
Process control block
a data structure used by the operating system to store information about a process.
Every time a process is created, the OS builds a PCB for it.
Think of it as the “file folder” that stores everything the OS needs to track and manage a process during its life cycle.
Tracks all processes: Without PCBs, the OS wouldn’t know which processes exist or how to manage them