A network encryption protocol
A program that appears harmless but contains malicious code
A method to speed up I/O operations
A security patch
Running
Ready
Terminated
Blocked
The hardware interface layer
The user interface
The core part that manages system resources
A type of application software
Programmed I/O
Interrupt-driven I/O
DMA (Direct Memory Access)
Synchronous I/O
Sequential access
Direct access
Random access
Rotational access
All services inside the kernel
Minimal services in the kernel and most in user space
Only hardware communication
Extensive service drivers
RAM
ROM
Hard Disk
Cache
Speed up network traffic
Provide file management
Protect against unauthorized network access
Fragment large files
Backups
Firewalls
Hashing algorithms
Virtual memory
The page is found in memory
The page is not found in memory
There is an I/O operation
The process terminates
Phishing
Man-in-the-middle
DDoS (Distributed Denial of Service)
Ransomware
Prevention of unauthorized access
Controlled sharing of resources
Efficient CPU usage
Isolation between processes
Mutual exclusion
Circular wait
Hold and wait
All of the above
Best fit
Worst fit
First fit
Keyboard
Mouse
CPU
Printer
P1, P2, P3, P1, P1, P1, P1, P1
P1, P2, P3, P1, P1, P1, P1
P1, P2, P3, P1, P1, P1
P2, P3, P1, P1, P1
Encryption
Defragmentation
Multi-threading
Paging
High CPU utilization
Low context switching
High context switching overhead
Starvation
An illusion of more memory than physically exists
The portion of physical memory that is virtualized
An extension of secondary storage
Used only in distributed systems
Contiguous allocation
Linked allocation
Indexed allocation
Shortest Job First
Round Robin
First-Come, First-Served
Priority Scheduling
Deadlock prevention
Deadlock detection
Deadlock avoidance
Deadlock resolution
Memory management
Process management
Application software development
File management
Deadlock
Buffer overflow
Disk fragmentation
Context switching
Device Manager
File Manager
Memory Manager
Scheduler
LRU
Round-Robin
FIFO
SSTF
Kernel
Shell
exit()
fork()
kill()
wait()
Low CPU utilization
Long turnaround time
Priority inversion
Role-based access control
Public key encryption
Digital signatures
Process isolation
Monolithic
Microkernel
Hybrid kernel
Network kernel
Segmentation
Virtual Memory
None of the above
Preloaded into memory
Loaded only when needed
Always available in the cache
Not used
Seek time
Rotational latency
Transfer time
Disk access time
Efficient CPU scheduling
Overlapping of input/output and CPU processing
Time-sharing in a multiprogramming system
Users are given minimal resources
Programs should have minimal access necessary for functioning
Access rights should be least restrictive
No user is privileged in the system
Windows
Linux
RTOS
Android
FCFS
SCAN
C-SCAN
Fragmentation
Swapping
Allow circular wait
Allow hold and wait
Request all resources at once
Enable mutual exclusion
Arrange the following scheduling algorithms from lowest to highest priority in terms of process execution speed:
1️⃣ First-Come, First-Served (FCFS)
2️⃣ Round Robin
3️⃣ Shortest Job First (SJF)
4️⃣ Priority Scheduling
1 → 2 → 3 → 4
2 → 1 → 4 → 3
4 → 3 → 1 → 2
3 → 2 → 1 → 4
CPU scheduling
Resource allocation
Protection policies