OS Interview Questions for Beginners
1. What is an operating system?
Answer: It is a program that provides an interface between the software and hardware of a
computer. In other words, an OS offers an environment for the user to execute software using
hardware.
2. Name some functions of the operating system.
Answer: The following are the significant functions of the operating system:
Memory management
Processor management
Device management
File management
Security
Job accounting
Control over system performance
Error detection
Establishing communication between user and software
Enabling communication between software and hardware
3. Name the different types of operating systems.
Answer: The following are the different types of operating systems :
Batched operating system
Interactive operating system
Multi-processing operating system
Multitasking operating system
Distributed operating system
Multi-programmed operating system
Real-time operating system
Timesharing operating system
4. List the basic functions of OS file management.
Answer: Some basic functions of OS file management are as follows:
Create and delete directories and files.
Use secondary storage for creating backup files.
Map file in secondary storage.
Give support to file modification.
5. What is booting?
Answer: It is a procedure of turning on the computer by loading the kernel.
6. What is the bootstrap program?
Answer: It is a program that resides in the kernel of an operating system, and when we boot the
system, it is the first program that executes and stores the read-only memory (ROM).
7. What is the use of an operating system?
Answer: An operating system acts as an interface between the system software and hardware , and
guides hardware to act according to the provided software. It also controls the flow of the program
and provides an environment so the software can communicate with system hardware.
8. Define a multi-programming system.
Answer: In the multi-programming system, the system keeps different programs in different parts of
the main memory simultaneously and executes each of those concurrently.
9. Define multitasking systems.
Answer: In a multitasking system, programs are kept in the main memory so the system can execute
them simultaneously.
10. What are time-sharing systems?
Answer: In time-sharing systems, multiple users can use a specific program from different terminals
at the same time.
11. Give the advantages of a multiprocessor system.
Answer: Multi-processor, as the name suggests, uses more than one processor. With an
increase in the processor count, the processing capability of the system increases too.
12. What is virtual memory?
Answer: Virtual memory is a memory management method that helps to execute a process
using primary and secondary memories. Though the program gets executed using the main
memory, the resources and pages load from the secondary memory.
13. What is a kernel in an operating system?
Answer: It is an essential part of the operating system, also known as the core of the OS. It is
present in the main memory of the system and loads before any other part of the operating
system. Every OS consists of a kernel. For example, the Linux kernel is one of the famous
kernels, and Android also uses this kernel.
14. What are the main functions of a kernel in an operating system?
Answer: The primary functions of a kernel in an operating system are given below:
Process management
Resource management
Disk management
Memory management
Device management
Facilitate communication between hardware and software
15. Define the 2 most popular types of kernels.
Answer: Though there are many types of kernels, only two of them are the most popular:
1. Monolithic Kernel
2. MicroKernel
Monolithic Kernel: In this type of OS kernel, all the user services and kernel services reside in
the same memory space. Old operating systems would use this type of kernel. Some examples
are Windows 95, 98, and Unix. Linux also uses it.
MicroKernel: This type of kernel is small in size, and all the user and kernel services reside in
different memory addresses. Operating systems like macOS and Windows use microkernels.
16. Give some disadvantages of Microkernel.
Answer: Some major disadvantages of Microkernel are as follows:
Complex process management.
Debugging the messaging is complex.
Loss in performance because of the requirement for more software.
17. What is SMP?
Answer: It stands for Symmetric Multiprocessing (SMP), and it is an architecture that contains
multiple processors to complete the process. All the processors share a single memory.
18. What is asymmetric clustering?
Answer: Asymmetric clustering occurs when the server running the application finds some kind
of cluster. In asymmetric clustering, one server tries to run the server application while others
remain on the standby mode.
19. Explain a thread.
Answer: It is a flow of execution through the process code. A thread deals with the instruction to
be executed.
20. What is demand paging?
Answer: Demand paging is a concept used by the virtual machine. Only a part of the process
needs to be present in the main memory to execute some process, which means that only a few
pages will only be present in the main memory at any time, and the rest will be kept in the
secondary memory.
21. What is a process?
Answer: A program in execution is known as a process.
22. Name all the states of a Process.
Answer: The following are the five states of a process:
1. New
2. Running
3. Waiting
4. Ready
5. Terminate
23. How is a thread different from a process?
Answer:
The process is independent, whereas a thread is not.
A thread can assist other threads, whereas the process can not.
If one thread stops, the next thread starts executing, but this is not the case with a
process.
24. What is a deadlock?
Answer: When two processes are trying to execute simultaneously, and they are waiting for
each other to finish the execution, as they are dependent on each other, this halt in execution is
known as a deadlock. When a deadlock occurs in the program, the system usually freezes.
25. What are the necessary conditions for a deadlock?
Answer: The necessary conditions for a deadlock are as follows:
Mutual exclusion
Hold and wait
No preemption
Circular wait
26. What is starvation?
Answer: When a program is in process, and it does not get all the resources to execute because
other processes are using the same resources, then this problem of not getting all needed
resources is known as starvation.
27. What is the difference between multitasking and multi-processing
operating systems?
Answer: The following table highlights the key differences between multi-tasking and multi-
processing:
Multi-Tasking Multi-Processing
The operating system executes
The operating system executes more than one task
more than one task using multiple
simultaneously using a single processor.
processors.
More than one processor executes
Only one processor executes the tasks.
tasks.
It generally takes very little time to
It takes a moderate amount of time to execute all the tasks.
execute all the tasks.
The processor shifts from one task to another, which makes it Here, we have more than one
look like it is executing multiple tasks simultaneously, but, processor. So multiple processes
actually, here, we only have one processor for task execution. can be executed at the same time.
28. Differentiate between paging and segmentation.
Answer: The following table describes all the differences between paging and segmentation:
Paging Segmentation
Divides the virtual memory into physical
Divides the physical memory into logical memory.
memory.
Paging divides the memory into fixed Segmentation divides the memory into arbitrary
lengths. memory lengths.
Only loads information about the process. Loads the full logical portion of the page.
Pages are smaller than segments. Segments are generally larger.
It’s the hardware that divides the paging
The software divides the segmentation memory.
memory.
29. What is a command interpreter?
Answer: It is a text field I/O interface between the user and the operating system. In the
command interpreter, the user gives input through the keyboard using CLI commands.
Command Prompt in Windows and Terminal in Linux and macOS are examples of the command
interpreter.
30. What is a daemon?
Answer: It stands for D isk a nd E xecution mon itor, and it is a long-running background
process that acts on the request. The life cycle of the daemon commences with the system
booting and continues until the system shuts down.
OS Interview Questions for Intermediate-level Candidates
31. From where does the daemon originates, and how do we classify it?
Answer: The term daemon originated with UNIX. In UNIX, the daemon conventionally ends with
'd', for example 'inetd', 'nfsd', httpd', and 'lpd'.
32. What is the race condition?
Answer: It is a situation that occurs when different operations are performed on the same data
simultaneously, and the outcome of the execution depends on the order of the operations
performed on the data. Evidently, the race condition can provide an undesirable outcome.
33. What is process synchronization?
Answer: When the race condition occurs, it can lead to an undesirable outcome. So to prevent
the race condition, we follow a process known as synchronization. Here, we ensure that only one
process executes at a time.
34. Explain PCB?
Answer: PCB stands for Process Control Block, and it is an operating system data structure that
can collect and store information about the processes. We refer to PCB as the process
descriptor. As soon as a process gets created, the OS creates a corresponding PCB to store the
process status and information. With each transition, the operating system updates the PCB data
structure.
35. What is Semaphore?
Answer: It is a variable that is used to create a synchronized process. There are two types of
semaphores:
1. Counting semaphore.
2. Binary semaphore.
A Counting semaphore can have positive integer values, and a Binary semaphore can only have
1 and 0 as variables.
36. Explain FCFS and the main problem it causes.
Answer: It stands for First Come First Serve (FCFS), and it is a scheduling algorithm. According
to this algorithm, the CPU serves that process first, which approaches it first. FCFS can cause
the starvation problem in which the process does not get the proper resources.
37. Name the different RAID levels.
Answer: The following list enumerates the different RAID levels:
0 – Non-redundant striping
1 – Mirrored Disks
2 – Memory-style error-correcting codes
3 – Bit-interleaved Parity
4 – Block-interleaved Parity
5 – Block-interleaved distributed Parity
6 – P+Q Redundancy
38. What is cache memory?
Answer: It is a volatile computer memory directly attached to the register, which provides high-
speed data access to the processor.
39. What is IPC?
Answer: IPC stands for Inter-Process Communication, and it is a mechanism in which various
processes can communicate with each other with the approval of the OS.
40. Name the various IPC mechanisms.
Answer: Various ICP mechanisms are as follows:
Sockets
Pipe
Shared Memory
Signals
Message Queues
41. What is a context switch?
Answer: Context can be referred to as the data in the register. A context switch is a procedure in
which the CPU changes from one task to another task.
42. Give the difference between a compiler and an interpreter.
Answer: A compiler first reads all the code at once and then tries to execute it, whereas an
interpreter reads the code line by line and simultaneously executes it.
43. What are sockets?
Answer: Sockets are the Inter-process Communication mechanisms that are used to provide
point-to-point communication between 2 processes. Sockets are often utilized in client-server
applications because many protocols, such as FTP, SMTP, and POP3, use sockets to implement
the connection between server and client.
44. What do you understand by the main memory and secondary memory?
Answer: Main memory is directly connected to the computer processor, and it acts as a bridge
between computer processors and secondary memory. The main objective of the main memory
is to get the data from the secondary memory and feed it to the processor so that the appropriate
actions can be performed.
RAM and ROM are the two main memories used by the system, whereas hard disk and other
large-sized memories from the secondary memory. As compared to the secondary memory, the
main memory is straightforward, and it is fast to access data from the main memory. That's why
processors directly communicate with the main memory.
Generally, the main memory does not store data permanently. Instead, it only holds data for a
specific time and tries to give it to the processor for further execution.
45. Can there be a deadlock situation with a single process?
Answer: No, for a deadlock situation to occur, we need at least two dependent processes. A
deadlock situation can only arise when these four conditions coincide:
Hold and Wait
No Preemption
Mutual Exclusion
Circular wait
46. What are interrupts?
Answer: These are the signals generated by the external input devices to stop the ongoing
active process of the CPU. Interrupts use context switching so the CPU can switch between the
current process and the new signal generated by the external device. Interrupts help in
prioritizing the process execution of the CPU.
47. What are zombie processes?
Answer: Formally, these processes are known as defunct processes. If a child's process is still
in the process table even after the parent process has been executed, this scenario could cause
a zombie process. Even the kill commands do not have any effect on these processes. If
the Wait System Call reads the exit status of the process, then the zombie process would be
removed from the process table.
48. Explain pipe in OS?
Answer: A pipe is a method for exchanging information between processes. Generally, a pipe
forms a one-way communication, which means by using a pipe, a process can only send
information, such as output or other parameters of the process, to another process. For setting a
two-way communication between 2 processes, we require two pipes for both directions.
49. What is the limitation of pipes for two-way communication between 2
processes?
Answer: If both the processes are the child processes of the same parent, then only two-way
pipe communication could be set between the processes.
50. What do you know about the named pipe?
Answer: Generally, we use the un-named pipe to set communication between the related
process, but if we want to communicate between unrelated processes, then we need to use
named pipes. Like a traditional unnamed pipe, named pipe is also a part of IPC (Interprocess
Communication), and its life remains until the system is on.
OS Interview Questions for Advanced Programmers
51. Name the operations which are possible on a semaphore.
Answer: We can only perform two operations on a semaphore:
1. Wait, and
2. Signal.
52. What do you know about mutex?
Answer: It is an abbreviation for Mut ual Ex clusion. It is a userspace program object that helps
multiple threads to access the same resource, but not simultaneously. The sole purpose of a
mutex is to lock a thread with a resource so the other threads can not use the same resource
until the first thread finish executing.
53. What is a critical section?
Answer: The program will behave oddly if program parts perform concurrent access to the
shared resources. So to protect the shared resources of a program, we create a protected
section, which is known as the critical section or critical region. A critical section can only execute
one process at a time, and this eliminates the problems that can be caused by concurrent
accessing resources.
54. What is process scheduling?
Answer: It is a routine followed by the process manager of the system. In this, the process
manager can use different methods and strategies to remove a particular running process or
select another process for the CPU.
55. What is the difference between preemptive and non-preemptive
scheduling?
Answer: Scheduling is divided into two categories, namely preemptive scheduling and non-
preemptive scheduling. The following table highlights the major differences between preemptive
scheduling and non-preemptive scheduling:
Preemptive Scheduling Non-Preemptive Scheduling
Processes are allocated to the CPU for a A process remains in the CPU till it gets entirely
limited period. executed.
If there is a new process that comes with high Here the priority of the process does not matter. The
priority, then the ongoing CPU process has to new process has to wait until the first process finishes
stop. execution.
There is a continuous switching between the
This is not the case in non-preemptive scheduling.
running and ready states of the processes.
Preemptive schedules the process on the
Non-preemptive uses the process burst time.
basis of their priority.
There is a high probability that the process
Here process with less burst time will starve.
with less priority will starve.
56. Name the various scheduling algorithms.
Answer: There are four major scheduling algorithms as listed below:
1. First Come First Serve: It follows the non-preemptive scheduling, and here the process
requesting first gets the CPU.
2. Shortest Job First: It could be preemptive or non-preemptive. In this algorithm, that
process gets the CPU that is closest to its execution. Here, the CPU gives priority to
those jobs which have a low execution time.
3. Priority Based Scheduling: It is also a preemptive algorithm, and here CPU is allocated
to those processes first that have a high priority.
4. Round Robin Scheduling: It is a preemptive scheduling algorithm, and here each
process gets equal time for execution.
57. What are condition variables?
Answer: These are the synchronization objects, which can set some conditions for threads, and
if the condition occurs, then only the appropriate operations can be performed by the threads. If
the situation does not arise, then the threads have to wait for further execution. A condition
variable is often used with critical sections and slim readers, where they help in binding and
holding the threads.
58. What is the reader-writer lock?
Answer: Reader-writer lock ensures data integrity. This lock allows concurrent access to read
operation, which means multiple threads can read data simultaneously. But it does not allow
concurrent write, and if one thread wants to modify data via writing, then all the other threads will
be blocked from reading or writing data.
59. What are the different types of memory used by the system?
Answer: The system uses the following types of memory:
Main memory, such as RAM and ROM.
Secondary memory, such as hard disk and e-drives.
Cache.
Internal process memory, such as registers.
60. What is compaction?
Answer: The free memory of the system gets split into smaller pieces when a process loads or is
removed from the memory. Compaction helps in accumulating these small loose pieces of
memory into one substantial chunk so that more memory can be allocated to other processes.
61. What is a page in OS?
Answer: A page can be defined as the smallest unit of data, and it is a fixed-length contiguous
block of virtual memory.
62. Explain page frames.
Answer: When a page is transferred from the secondary memory to the main memory, then it
requires a fixed length of a continuous physical memory block, known as a page frame. It is the
job of the operating system to map the pages in the page frames.
63. What is the difference between logical and physical addresses?
Answer: Here are some significant differences between logical and physical addresses:
Logical Address Physical Address
The CPU generates it. It is the real address of the program in the memory.
A user can access the logical address
The physical address can be accessed directly.
of the program.
CPU generates a logical address at the It is generated by the Memory Management Unit
execution time. (MMU) at the creation time.
64. What is the page fault?
Answer: It is an error that occurs when the CPU tries to access a specific block of memory
address that is not present in the physical memory (RAM).
65. What is thrashing?
Answer: It is a scenario when continuous page fault and paging activities occur. Thrashing could
lead to a program collapse and degraded CPU performance.
66. What do you know about the library?
Answer: A library is a collection of files that contains subroutines, data, and other objects that
can be used by other programs.
67. What is the difference between a program and a process?
Answer: The following table explains how a program and a process differ from each other:
Program Process
It is a set of instructions written in a specific It is an instance of a program that is about to
programming language. be executed by one or many threads.
A program is static in nature that is present in Processes are dynamic and generated during
the file. execution time.
Programs are generally stored in secondary Processes are not portable, and they reside in
memory, which makes them portable. the main memory.
The program can live in the main memory for A process time period is limited, and it either
eternity. executes or fails.
Programs are passive entities. Processes are active entities.
68. What are APIs?
Answer: API stands for Application Program Interface, and it is a collection of libraries and
subprograms. The primary purpose of APIs is to set communication between two programs, i.e.,
an API provides a general way of sending and receiving data between applications.
69. What is Belady's anomaly?
Answer: It is a situation that occurs in the OS when there is an increase in page faults by the
CPU because additional memory has been introduced to the system, which results in increasing
page frames.
70. What do you know about cascading termination?
Answer: When a process finishes execution, then the operating system terminates the process
via the exit system call. Only the parent process can cause the termination of its child processes,
so when the parent process completes execution and is terminated, then its child process also
gets terminated automatically. This phenomenon of a process triggering the termination of
another process is known as cascading termination.