1/80
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
Operating System
is a system software that manages computer hardware and software resources and acts as an intermediary between users and hardware which provides services to applications
Operating System
Its purpose is to execute user programs and make solving user problems easier, while ensuring efficient use of hardware resources
Kernel
The one program running at all times
System Programs
Utilities that provide a convenient environment (compilers, shells, file, tools).
Application Programs
User defined tasks such as browsers, word processor, games.
User View and System View
What are the two views of the operating system?
Hardware
Provides basic computing resources
Operating System
Controls and coordinates use of hardware among users and applications
Application Programs
Define how system resources solve user tasks.
Users
People or other systems interacting with the computer
Interrupt
Is a signal that alerts the CPU to an event requiring attention
Maskable interrupts
can be delayed by disabling them; non - maskable cannot
Hardware interrupts and Software interrupts
Types of interrupts
Bootstrap Program
When the computer powers on, the CPU executes this program which is stored in ROM/firmware.
ROM/Firmware
Where is the bootstrap program located?
BIOS/UEFI
are responsible for hardware initialization and firmware-to-OS hand-off.
Registers
Fastest storage type?
Cache
Very fast but not the fastest storage type
Main memory
Fast storage type, not very fast and not the fastest
Secondary storage (SDD, HDD)
This type of storage has moderate speed.
Von Neumann Architecture
is the fundamental design model for most modern computers. Its defining characteristic is stored-program concept, which means programs (instructions) and data share the same main memory space. This simple structure allows for flexibility but creates a '“bottleneck” where the CPU is often waiting on data transfer to/from memory.
The Instruction Cycle
is the continous, repetitive three-step process that the CPU performs to execute all the instructions that make up a program. It is the engine of the computer’s operation
Fetch
The CPU retrieves (fetches) the next instruction from memory, based on the address in the Program Counter (PC)
Decode
The CPU determines what operations the instruction specifies (e.g., add, jump) and identifies the data (operands) needed.
Execute
The CPU performs the required operation, such as calculating a value or moving data
DMA
Because I/O devices are slow compared to the CPU, the system uses ___ to transfer blocks of data without constant CPU intervention
DMA Controller
Transfers data directly between I/O device and memory
Computer - System Architecture
Defines how CPU, memory, and I/O devices interconnect and share resources.
Sing-Processor System
One CPU executes instructions sequentially. Simple to manage but lacks parallelism
Multiprocessor Systems
Two or more processors share a common memory and communication bus
Asymmetric Multiprocessing (AMP)
Master-slave arrangement; one CPU controls others
Symmetric Multiprocessing (SMP)
All processors are peers and execute the same OS.
NUMA
This system divides memory into local and remote regions
local memory
Each processors acesses its _____ ______ faster than remote memory on another prcoessor
NUMA-aware
OS and applications must be __________ to place data near executing CPU
blade server
is a modular computing system where multiple thin server boards share a single chassis for power, cooling, and network connections.
Clustered System
consists of multiple independent computers (nodes) working together and connected by a high - speed network.
Asymmetric Clustering
One node standby, others active
Symmetric Clustering
All nodes active and share load
Fault tolerance
service continues even if one node fails
Load balancing
Distributes requests dynamically
Scalability
Add or remove nodes without down time
Improved performance
parallel executing can ______ ______
Operating System
acts as both resource allocator and control program managing hardware operations
Multiprogramming
Keeps the CPU busy by organizing jobs so that CPU always has one to execute
Multitasking (Time-sharing)
CPU Switches rapidly among users for interactive operation
Figure
Memory layout for a multiprogramming system
User Mode
Executes application programs with limited privileges
Kernel Mode
Executes OS code with full hardware access
TImer
Prevents a program from monopolizing the CPU
Timer
Used by scheduler to regain control after time slice expires.
Process Management
Handles creation, scheduling, and termination of proceses
File - System Management
Provides logical organization and access to data
Memory Management
Allocates sand tracks main memory usage
File-System Managemet
Provides logical organization and access to data
Mass-Storage Management
Manages secondary storage and disk scheduling
Cache Management
Improves performance by using fast temporary storage
I/O System management
Coordinates communication between devices and the CPU
Protection
Provides controlled access to system resources such as files, memory, and devices.
Security
Defends the system against internal and external threats
Authentication
Verifies user identity
Authorization
Determines user privileges
Encryption
Protects data confidentiality
Auditing
Tracks and logs user actions
Virtualization
Allows multiple logical instances of hardware or operating systems to share a single physical machine
Virtual Machine Monitor
Manages an allocates resources among virtual machines
Hardware Virtualization
Runs several OS instances (e.g., VMware, Hyper-V)
OS-Level Virtualization
Multiple isolated containers (e.g., Docker)
Distributed System
A collection of physically separate computers that cooperate to provide unified services
Traditional Computing
Standalone desktop or mainframe systems with direct user interaction
Mobile Computing
Portable devices using touch input and wireless conectivity
Client- Server Computing
Client request resources or services from centralized servers
Peer-to-Peer Computing
Each node acts as both client and server
Cloud Computing
On-Demand network access to shared computing resources
Real-Time and Embedded Systems
Special-purpose systems with strict timing constraints
Free and Open-Source Operating Systems
Originated from the early UNIX systems developed at AT&T Bell Labs in the 1970s
Free Operating Systems
Free and Open-source operating systems (FOSS) allow users to access, modify, and distribute the source code
GNU/Linux
Initiated b Linus Torvalds (1991) to create a free UNIX-like kernel. Used extensively in servers, desktops, and embedded systems
BSD Linux
Developed at the University of California, Berkeley. Known for stability, performance, and strong networking stack
Solaris
Originated from Sun Microsystems; now open-sourced as OpenSolaris. Designed for scalability and large systems with the ZFS file system and Dtrace monitoring
Operating System
is the core software that manages hardware and provides services to applications