Operating Systems - Prelim Exams
STS (Short Term Scheduling)
Scheduler that is also known as the CPU Scheduler or dispatcher. It selects a process from the ready queue and allocates the CPU to one of them for processing.
LTS (Long Term Scheduling)
Scheduler that is responsible in selecting processes from the secondary memory and loads them into the main memory that triggers the creation of a new process that automatically change the state from new to ready state.
MTS (Medium Term Scheduling)
Scheduler that manages the process that are currently executing but requires some I/O completion. It is also the scheduler responsible for switching the process state from running state to the suspended waiting state.
Caching
process of copying information into faster storage system; main memory can be viewed as a cache for secondary storage.
Multi-threaded process
process that has one program counter per thread.
Single-threaded process
process that has one program counter specifying location of next instruction to execute.
Deadlock
refers to a situation where a set of processes are blocked because each process is holding a resource and waiting for another resource acquired by some other process.
Coffman's Conditions
scheduling condition in OS particularly in the context of resource allocation
• Keeping track of which parts of memory are currently being used and by whom • Deciding which processes (or parts thereof) and data to move into and out of memory • Allocating and deallocating memory space as needed
Memory Management Activities
Main Memory
Memory that plays a critical role in process management within an operating system. It serves as the primary storage area for actively running processes and the operating system itself.
• Creating and deleting files and directories • Primitives to manipulate files and directories • Mapping files onto secondary storage • Backup files onto stable (non-volatile) storage media
OS Activities on File System Management
• Mounting and unmounting • Free-space management • Storage allocation • Disk scheduling • Partitioning • Protection
OS Activities on Mass Storage Management
First Come First Serve (FCFS)
One of the simplest process scheduling algorithms used by operating systems. The CPU is allocated to processes based on the order in which they arrive in the ready queue.
HDD (Hard Disk Drive)
storage that is made up of rigid metal or glass platters covered with magnetic recording material. Disk surface is logically divided into tracks, which are subdivided into sectors.
Cloud Computing?
the delivery of computing services including servers, storage, databases, networking, software, analytics, and intelligence over the internet.
booting
the process of starting a computer as initiated via hardware such as a button or by a software command.
Rollback
when deadlock occurs, roll everything back to the last checkpoint and restart but allocate resources differently.
Kernel
A computer program always running and at the core of a computer's operating system.
Process State Diagram
A diagram that visually represents the different states a process can transition through during its lifecycle in an operating system.
Shortest Job First
A non-preemptive or preemptive scheduling algorithm used in operating systems for process scheduling. It selects the process with the shortest burst time (execution time) next for execution, either from the ready queue (non-preemptive) or from the pool of processes currently executing (preemptive).
Convoy Effect
A phenomenon observed in certain scheduling algorithms where a long process holds up the CPU, causing shorter processes to wait a long period of time.
Starvation Effect
A phenomenon that typically occurs in scheduling algorithms where certain processes or tasks may be continuously overlooked or deprioritized in favor of others, leading to prolonged waiting times or even indefinite delays
Round Robin
A preemptive scheduling algorithm used in operating systems for process scheduling. It is designed to provide fair allocation of CPU time among multiple processes by executing them in a circular order, with each process receiving a small unit of CPU time called a time quantum or time slice.
Operating System
A program that acts as an intermediary between a user of a computer and the computer hardware.
Middleware
A set of software frameworks that provide additional services to application developers such as databases, multimedia, graphics.
Ageing
A technique used to prevent or mitigate the starvation of processes in scheduling algorithms. It works by gradually increasing the priority of a process the longer it waits in the ready queue without being selected for execution.
Preemptive
A type of process scheduling method used the operating system that interrupt a currently running process and allocate the CPU to another process if a higher priority task becomes available or if the current process exceeded the time quanta.
Time Quantum
Also known as a time slice. It represents the maximum amount of CPU time that a process is allowed to execute continuously before it is preempted and moved to the back of the ready queue.
Hardware Operating System Application Programs Users
Components of a Computer System (4)
Computer Hardware??
Computer system components that provides computing resources such as CPU, memory, I/O, etc.
Application programs
Define the ways in which the system resources are used to solve the computing problems of the users. Examples are Word, Excel, Browser, etc.
User mode Kernel Mode
Dual modes of operations in Operating System
PC Gaming Consoles Mobile Devices Servers Smart Appliances
Example of devices that requires Operating System to work. (5)
• Execute user programs and make solving user problems easier. • Make the computer system convenient to use. • Use the computer hardware in an efficient manner
Goals of the Operating System (3)
Ready State
Process state that is prepared for execution and waiting to be assigned to a CPU. The process has been loaded into main memory and is awaiting allocation of CPU time.
Users
Refers to people, machines, other computer systems that operates the computer system.
Secondary Storage
Refers to the storage devices, such as hard disk drives (HDDs) or solid-state drives (SSDs), that are used to store data and program code when it is not actively being used by the CPU.
System Call
Request to the OS to allow user to wait for I/O completion.
Operating System? System progrM
Set of programs that control and manage the operations of computer hardware. It also helps application programs to execute correctly.
Scheduling Algorithms
Set of rules or procedures used by a computer system's operating system to manage and prioritize the execution of tasks or processes. It determines the order in which tasks are processed by allocating system resources such as CPU time, memory, and I/O devices to different tasks efficiently and fairly.
Suspended Wait
State of a process that is unable to proceed due to the unavailability of a required resource, such as waiting for user input or waiting for I/O operations to complete.
Terminating State
State of a process that signifies that the process has completed its execution or has been forcibly terminated. In this state, the process releases all allocated resources, and its associated memory space is deallocated.
New State
State of a process wherein the process is being created but has not yet been admitted for execution by the system.
Resource Allocator
The term used when the OS acts as manager of resources (hardware and software) and allocates them to specific programs and users as necessary for tasks.
Convenience Ease of Use Good Performance
Three (3) characteristics of Operating System that human users are focus when they view operating system.
Software Error System Call Exception
Three Types of Software Interrupts
Cost Speed Volatility
Three characteristics that storage systems are organized
Main Memory Secondary Memory (Secondary Storage)
Two major types of computer memory
• After I/O starts, control returns to user program only upon I/O completion • After I/O starts, control returns to user program without waiting for I/O completion
Two methods of handling an I/O requests.
• Traditional • Real-time Embedded • Mobile • Cloud computing • Client Server • Peer-to-Peer
Types of Computing Environments
Process
Typically includes the program code, its associated data, resources allocated to it (such as memory and CPU time). It is also known as a program in execution.
Multitasking (timesharing)
a logical extension of Batch systems- the CPU switches jobs so frequently that users can interact with each job while it is running, creating interactive computing.
Hold and Wait
a process is holding at least one resource and waiting for other resources.
Application Program
a program that does real work for the user. It is mostly created to perform a specific task for a user.
No preemption
a resource cannot be taken from a process unless the rocess releases the resource
Circular Wait
a set of processes are waiting for each other in circular path
Device Driver
a software program that manages hardware components or peripherals attached to a computer and enables them to function with the computer. smoothly.
Trap or exception
a software-generated interrupt caused either by an error or a user request
Device-status table
a table that contains entry for each I/O device indicating its type, address, and state.
Daemon
a type of computer program that runs in the background, performing various.
Virtualization
a vast and growing industry that allows operating systems to run applications within other operating systems.
Multiprogramming
ability of an operating system to execute more than one program using a single processor machine.
Protection
any mechanism for controlling access of processes or users to resources defined by the OS.
Mutual Exclusion
at least one resource are non-shareable
Distributed System
collection of separate, possibly heterogeneous, systems networked together.
Auxiliary Storage (also secondary)
computer memory that holds data and programs not currently in use and provides long-term storage.
Main memory
computer memory that holds instructions and data when a program is executing.
Security
defense of the system against internal and external attacks.
Process
defined as a program in execution. It is a unit of work within the system.
bit??
is the term used to address the smallest addressable element in a computer memory.
