A modern computer systems can be divided into four components. Name them
Hardware
Operating System
Application Programs
Users
System call offers the services of the operating system to the user programs via __________.
API (Application Programming Interface)
____________provides a unique value for each process in the system, and it can be used as an index to access various attributes of a process within the kernel.
process identifier (PID)
__________ is a single chain of instructions or code, that can execute
independently of, and concurrently with, other sections of code.
A thread
Name the 3 types schedulers
long-term scheduler
mid-term scheduler
short term scheduler
___________ ____________ is the task of coordinating the execution of processes in a way that no two processes can have access to the same shared data and resources.
Process Synchronization
What is the main aim of dead prevention
The main aim of the deadlock prevention method is to violate any
one condition among the four
what registers are used to separate memory spaces in main memory
base register
limit register
The partitions of the secondary memory are called ___________ while the partitions of the main memory are called ___________.
The partitions of the secondary memory are called pages while
the partitions of the main memory are called frames.
True or False
ExFAT is designed to be compatible with various operating systems, including Windows, macOS, and Linux.
True
The core software components of an operating system are collectively
known as ________.
The Kernel
A ________ ________ is a mechanism that provides the interface between a process and the operating system.
system call
Answer the following questions
a) ___________ is a special purpose register in a computer, It contains the memory address or location of the next instruction to be executed by a CPU.
b) Which register holds the machine instruction executed currently by a CPU?
program counter
instruction register
Explain the 2 types of threads
User Level Threads − User managed threads. Supported above the kernel and managed without kernel support
Kernel Level Threads − Operating System managed threads acting on kernel. Supported and managed directly by the operating system.
The time it takes for the dispatcher to stop one process and start another running is known as the ?
dispatch latency.
What is the most commonly used object to share data between two processes.
Pipe
____________ are a set of blocked processes each holding a resource and waiting to acquire a resource held by another process
Deadlocks
Memory Management Techniques are basically classified into two categories. Name them
Contiguous
Non-contiguous
This excessive use of the hard
disk as virtual memory is called?
disk thrashing.
A _____ _______ is an interface between the operating system and the physical storage media,
A file system is an interface between the operating system and the physical storage media,
What do you programs that are associated with the operating system
but are not necessarily part of the kernel.
system programs
a very basic operating system in which file management, memory management, device management, and process management are directly controlled within the kernel. What kernal is being described.
Monolithic Kernal
Explain context switching
Context Switching is performed by the CPU that is handing task (task 1) and has to stop executing this task to priority execute another task (task 2).
Mention 3 benefits of threads
Responsiveness
Resource sharing
Economy
Scalability
Fill in the blank
An _________ __________ is one that spends more of its time doing I/O than it spends doing computations.
A __________ _________, in contrast, generates I/O requests infrequently, using more of its time doing computations.
An I/O-bound process is one that spends more of its time doing I/O than it spends doing computations.
A CPU-bound process, in contrast, generates I/O requests infrequently, using more of its time doing computations.
Name 3 solutions to the producer consumer problem
Petersons solution
Mutex locks
Semaphore
explain the 3 basic approaches to recover from deadlocks
Inform the system operator, and allow him/her to take manual intervention.
Terminate one or more processes involved in the
deadlock
Preempt resources.
Explain how non-contiguous memory allocation works
a process is allowed to acquire several memory blocks at different locations in the memory according to its need.
Explain what the following statement means.
Virtual memory is volatile.
If the computer is turned off, the operating system loses track of what was kept where in virtual memory. The data is lost.
What do you call a partition that can contain an operating system and is used to boot a computer.
primary partition
Fill in the blanks:
An operating system (OS) is a set of _________ that manages a
computer’s __________.
It also provides common services for ________ ________ and
acts as an ___________ between the computer user and the
computer hardware.
An operating system (OS) is a set of programs that manages a
computer’s hardware.
It also provides common services for application programs and
acts as an intermediary between the computer user and the
computer hardware.
remove all non-essential services from the kernel, and implement them as system applications instead, thereby making the kernel as small and efficient as possible. What kernal is being described.
Micro Kernal
Name and explain the 3 types of interrupts
Hardware Interrupts are generated by hardware devices to signal that they need some attention from the OS.
Software Interrupts are generated by programs when they want to request a system call to be performed by the operating system.
Traps are generated by the CPU itself to indicate that some error or condition occurred for which assistance from the operating system is needed.
How many threads does a CPU with 6 physical cores have
12 threads (virtual cores)
Explain non-preemptive Scheduling
Non-preemptive Scheduling is a CPU scheduling technique the process takes the resource (CPU time) and holds it till the process gets terminated or is pushed to the waiting state.
Explain the difference between independent and cooperative processes
Independent Process : Execution of one process does not affects the execution of other processes.
Cooperative Process : Execution of one process affects the execution of other processes.
What are the 2 basic approaches used to terminate processes in a deadlock
Terminate processes one by one until the deadlock is broken.
Terminate all processes involved in the deadlock.
___________ ____________ allocation is achieved just by dividing the memory into ___________ partition. In this, all the available memory space remains together at one place
Contiguous memory allocation is achieved just by dividing the memory into fixed-sized partition. In this, all the available memory space remains together at one place
What is the function of the page table
A Page Table is the data structure
used by a virtual memory system in
a computer operating system to
store the mapping between the
virtual address and physical
addresses.
Explain the difference between an absolute path and relative path
An absolute path is a way that provides a complete and exact location of a file or directory using the root of the file system.
A relative path is a way of referencing the directory tree by specifying the location of a file or directory in relation to the current working directory.
A modern computer systems can be divided into four components. Provide an example of each of the the components
Hardware – One or more processors, main memory, storage disks, printers, I/O devices, network interfaces
Operating System – Windows, Mac OS, Ubuntu, Fedora, Cent OS, Chrome
OS
Application Programs – Word processors, web browsers, database systems,
games
Users – People, other computers, machines
Name the five types of System Calls in an OS
Process Control
File Management
Device Management
Information Maintenance
Communications
Name the four principal events that cause processes to be created:
1. System initialization.
2. Execution of a process-creation system call by a
running process.
3. A user request to create a new process.
4. Initiation of a batch job
Explain how a word processor like MS Word uses threads
A word processor may have a thread for displaying graphics, another thread for responding to keystrokes from the user, and a third thread for performing spelling and grammar checking in the background.
Explain the difference between Multilevel Queue(MLQ) Scheduling and Multilevel Feedback Queue Scheduling (MLFQ)
In MLQ scheduling, processes are divided into multiple queues based on their priority, with each queue having a different priority level.
In MLFQ, multiple queues with varying priorities are used to manage process execution. It dynamically adjusts priorities based on process behavior, promoting or demoting processes between queues.
1) When two or more threads try to read, write and possibly make the decisions based on the memory that they are accessing concurrently. What is this called
2) The regions of a program that try to access shared resources and may cause race conditions are called
A Race Condition
critical section
What is meant by the system is a in "safe state"
The system is said to be in a safe state if the operating system can guarantee that all current processes can complete their work within a finite time.
Explain how internal fragmentation occurs
Internal fragmentation occurs when the memory is distributed into fixed-sized blocks. If the memory allocated to the process is slightly larger than the memory demanded, then the difference between allocated and demanded memory is known as internal fragmentation.
Explain the difference between demand paging and standard paging
Demand Paging is a technique in which a page is brought into the main memory only when it is needed or demanded
by the CPU.
Standard swapping involves moving
entire processes between main memory and secondary storage.
Describe how linked list non-contiguous file allocation works
Linked list non-contiguous allocation divides each file into a series of blocks with pointers to the next block, forming a linked list.
Name 7 types of operating systems
Server Operating Systems
Mainframe Operating Systems
Handheld Computer Operating Systems
Embedded System Operating Systems
Sensor Node Operating Systems
Real Time Operating Systems
Smart Card Operating Systems
Explain what each of the 5 types of system calls do
Process Control - These system calls deal with processes such as process creation, process termination etc
File Management - These system calls are responsible for file manipulation such as creating a file, reading a file, writing into a file etc.
Device Management - These system calls are responsible for device manipulation such as reading from device buffers, writing into device buffers etc
Information Maintenance - These system calls handle information and its transfer between the operating system and the user program.
Communication - These system calls are useful for interprocess communication. They also deal with creating and deleting a communication connection.
Mention any 5 of the contents found in the process control block
Process state. The state in which the process is in at that
particular time.
Process number. The unique number or ID of a particular
process.
Program counter. The counter indicates the address of the next
instruction to be executed for this process.
CPU registers. The registers being used by a particular process
CPU-scheduling information. This information includes a
process priority, pointers to scheduling queues, and any other
scheduling parameters.
Explain the 3 multi-threading models
Many to one - Maps many user-level threads to one kernel thread. Thread management is done by the thread library in user space, its more efficient.
One to one model - One user thread is mapped to exactly one kernel thread. It provides more concurrency by allowing another thread to run when a thread makes a blocking system call. It also allows multiple threads to run in parallel on multiprocessors.
many-to-many model - multiplexes many user-level threads to a smaller or equal number of kernel threads. Developers can create as many user threads as
necessary, and the corresponding kernel threads can run in parallel on a multiprocessor.
explain the functions of the short term, mid-term and long-term scheduler
Short Term Scheduler or CPU Scheduler selects processes that are ready to execute from the ready queue and allocates the CPU to one of them.
The medium-term scheduler temporarily removes processes from main memory and places them in secondary memory (such as a hard disk drive) or vice versa, which is commonly referred to as "swapping out" or "swapping in“.
The long-term scheduler, or admission scheduler, decides which jobs or processes are to be admitted to the ready queue (in main memory);
Explain the 3 requirements for process synchronization
Mutual Exclusion: Out of a group of cooperating processes, only one process can be in its critical section at a given point of time.
Progress: If no process is in its critical section, and if one or more threads want to execute their critical section then any one of these threads must be allowed to get into its critical section.
Bounded Waiting: After a process makes a request for getting into its critical section, there is a limit for how many other processes can get into their critical section, before this
process's request is granted.
explain the 4 conditions that cause deadlocks to occur
Deadlock can arise if the following four conditions hold simultaneously
(Necessary Conditions)
Mutual Exclusion: A resource may be acquired exclusively by only one
process at a time
Hold and Wait: A process that has acquired an exclusive resource may hold
that resource while the process waits to obtain other resources.
No Preemption: Once a process has obtained a resource, the system
cannot remove it from the process's control until the process has finished
using the resource
Circular Wait: Two or more processes are locked in a "circular chain" in
which each process is waiting for one or more resources that the next
process in the chair is holding
Explain the 3 memory placement strategies
First Fit Allocation: The first hole that is big enough is allocated to
the program.
Best Fit Allocation: The smallest hole that is big enough is
allocated to the program. This strategy produces the smallest
leftover hole.
Worst Fit Allocation: The largest hole that is big enough is
allocated to the program. This strategy produces the largest
leftover hole, which may be more useful than the smaller leftover
hole from a best-fit approach.
Explain the 3 page replacement algorithms
FIFO - the OS maintains a queue that keeps track of all the pages in memory, with the oldest page at
the front and the most recent page at the back. When there is a need for page replacement, the FIFO algorithm, swaps out the page at the front of the queue, that is the page which has been in the memory for the
longest time.
Least Recently Used (LRU) - keeps track of page usage over a short period of time. whenever page replacement happens, the page which has not been used for the longest amount of time is replaced.
Optimal Page Replacement algorithm - the pages in the memory which are going to be referred farthest in the future are replaced.
Explain the difference between a hardlink and softlink
A hard link is a directory entry that specifies the location of the file (typically a block number) on the storage device.
A softlink is a file that acts as a reference or pointer to another file or directory in the file system of a computer.