Operating System’s Viva Question and Answer SE – AI&DS/ML/CS

Operating systems are a vital part of any computer system. They manage the hardware and software resources of the computer and provide a platform for applications to run. A good understanding of operating systems is essential for any computer science student.

Module 1: Operating System Overview

1.1 Introduction, Objectives, Functions and Evolution of Operating System

Q1. What is an operating system?

A1. An operating system is a software program that manages all the hardware and software resources of a computer and provides common services for computer programs.

Q2. What are the objectives of an operating system?

A2. The objectives of an operating system are to provide a convenient environment for the user to execute programs, allocate resources to various programs, and provide a means of communication between the user and the hardware.

Q3. What are the functions of an operating system?

A3. The functions of an operating system include process management, memory management, device management, file management, and security management.

Q4. What is the evolution of operating systems?

A4. The evolution of operating systems started with batch processing systems, followed by timesharing systems, then personal computer operating systems, and now cloud-based operating systems.

1.2 Operating system structures: Layered, Monolithic and Microkernel

Q1. What is a layered operating system structure?

A1. A layered operating system structure is a hierarchical structure where each layer provides services to the layer above it and receives services from the layer below it.

Q2. What is a monolithic operating system structure?

A2. A monolithic operating system structure is where the operating system kernel provides all the operating system services and functions as a single program.

Q3. What is a microkernel operating system structure?

A3. A microkernel operating system structure is where the kernel provides only the basic services such as process scheduling and interprocess communication, and other services are provided by separate user-level programs called servers.

1.3 Linux Kernel, Shell and System Calls

Q1. What is the Linux kernel?

A1. The Linux kernel is the core component of the Linux operating system that provides basic services for all other parts of the operating system.

Q2. What is the shell in Linux?

A2. The shell is a command-line interface that allows users to interact with the operating system by typing commands.

Q3. What are system calls in Linux?

A3. System calls are the interfaces between user programs and the operating system that provide services such as process management, file management, and memory management.

Module 2: Process and Process Scheduling:

2.1 Concept of a Process, Process States, Process Description, Process Control Block

Q1. What is a process?

A1. A process is a program in execution, which has its own memory space, program counter, registers, and stack.

Q2. What are the different states of a process?

A2. The different states of a process are new, ready, running, waiting, and terminated.

Q3. What is a process description?

A3. A process description is a data structure that contains information about a process, such as its name, ID, status, priority, and resource requirements.

Q4. What is a process control block?

A4. A process control block is a data structure that contains information about a process, such as its state, program counter, CPU registers, and memory management information.

2.2 Uniprocessor Scheduling-Types: Preemptive and Non-preemptive scheduling algorithms (FCFS, SJF, SRTN, Priority, RR)

Q1. What is process scheduling?

A1. Process scheduling is the mechanism of allocating CPU time to various processes in a system.

Q2. What are the different types of process scheduling algorithms?

A2. The different types of process scheduling algorithms are First-Come-First-Serve (FCFS), Shortest Job First (SJF), Shortest Remaining Time Next (SRTN), Priority scheduling, and Round Robin (RR) scheduling.

Q3. What is preemptive scheduling?

A3. Preemptive scheduling is a scheduling algorithm in which the CPU can be taken away from a process and given to another process based on a set of rules.

Q4. What is non-preemptive scheduling?

A4. Non-preemptive scheduling is a scheduling algorithm in which the CPU cannot be taken away from a process until the process voluntarily releases it or blocks.

2.3 Threads: Definition and Types, Concept of Multithreading

Q1. What is a thread?

A1. A thread is a lightweight process that can be executed independently within a process.

Q2. What are the different types of threads?

A2. The different types of threads are user-level threads and kernel-level threads.

Q3. What is multithreading?

A3. Multithreading is the ability of an operating system to support multiple threads of execution within a single process.

Module 3: Process Synchronization and Deadlocks:

3.1 Concurrency: Principles of Concurrency, Inter-Process Communication, Process Synchronization

Q1. What is concurrency?

A1. Concurrency is the ability of multiple processes or threads to execute simultaneously.

Q2. What is inter-process communication?

A2. Inter-process communication is a mechanism that enables processes or threads to communicate with each other and share data.

Q3. What is process synchronization?

A3. Process synchronization is the mechanism that enables processes or threads to coordinate their execution and access shared resources in a mutually exclusive manner.

3.2 Mutual Exclusion: Requirements, Hardware Support (TSL), Operating System Support (Semaphores), Producer and Consumer problem

Q1. What is mutual exclusion?

A1. Mutual exclusion is the property that ensures that only one process or thread can access a shared resource at a time.

Q2. What are the requirements for implementing mutual exclusion?

A2. The requirements for implementing mutual exclusion are atomicity, visibility, and ordering.

Q3. What is TSL?

A3. TSL (Test-and-Set-Lock) is a hardware instruction that enables atomic read-modify-write operations on a shared variable.

Q4. What are semaphores?

A4. Semaphores are a synchronization primitive that enables processes or threads to acquire and release locks on shared resources.

Q5. What is the producer and consumer problem?

A5. The producer and consumer problem is a classic synchronization problem where multiple producers and consumers access a shared buffer in a mutually exclusive manner.

3.3 Principles of Deadlock: Conditions and Resource Allocation Graphs, Deadlock Prevention, Deadlock Avoidance: Banker’s Algorithm, Deadlock Detection and Recovery, Dining Philosophers Problem

Q1. What is deadlock?

A1. Deadlock is a situation where two or more processes or threads are blocked and unable to proceed because they are waiting for resources held by each other.

Q2. What are the conditions for deadlock?

A2. The conditions for deadlock are mutual exclusion, hold and wait, no preemption, and circular wait.

Q3. What is a resource allocation graph?

A3. A resource allocation graph is a directed graph that represents the allocation and request of resources by processes or threads.

Q4. What is deadlock prevention?

A4. Deadlock prevention is the strategy of eliminating one or more of the conditions for deadlock.

Q5. What is the Banker’s algorithm?

A5. The Banker’s algorithm is a deadlock avoidance algorithm that prevents the occurrence of deadlock by dynamically allocating resources to processes based on their maximum resource requirements.

Q6. What is deadlock detection?

A6. Deadlock detection is the strategy of detecting the presence of deadlock in a system and resolving it by aborting one or more processes or by rolling back their operations.

Q7. What is the dining philosophers problem?

A7. The dining philosophers problem is a classic synchronization problem where multiple philosophers sit around a circular table and attempt to acquire chopsticks to eat. The problem arises when all philosophers try to acquire their left chopstick simultaneously, leading to a deadlock.

Module 4: Memory Management:

4.1 Memory Management Requirements, Memory Partitioning: Fixed Partitioning, Dynamic Partitioning, Memory Allocation Strategies: Best-Fit, First Fit, Worst Fit, Paging and Segmentation, TLB

Q1. What are the memory management requirements?

A1. The memory management requirements are protection, sharing, relocation, and allocation.

Q2. What is fixed partitioning?

A2. Fixed partitioning is a memory allocation technique where memory is divided into fixed-sized partitions, and each partition is assigned to a process.

Q3. What is dynamic partitioning?

A3. Dynamic partitioning is a memory allocation technique where memory is divided into variable-sized partitions, and each partition is assigned to a process as needed.

Q4. What are the memory allocation strategies?

A4. The memory allocation strategies are best-fit, first-fit, and worst-fit.

Q5. What is paging?

A5. Paging is a memory allocation technique where memory is divided into fixed-sized pages, and each page is assigned to a process as needed.

Q6. What is segmentation?

A6. Segmentation is a memory allocation technique where memory is divided into logical segments, such as code, data, and stack, and each segment is assigned to a process as needed.

Q7. What is TLB?

A7. TLB (Translation Lookaside Buffer) is a hardware cache that stores recently used page table entries to accelerate virtual address translation.

4.2 Virtual Memory: Demand Paging, Page Replacement Strategies: FIFO, Optimal, LRU, Thrashing

Q1. What is virtual memory?

A1. Virtual memory is a technique that enables processes to access more memory than is physically available by using a combination of main memory and secondary storage.

Q2. What is demand paging?

A2. Demand paging is a virtual memory technique where only the pages that are needed by a process are loaded into main memory.

Q3. What are the page replacement strategies?

A3. The page replacement strategies are FIFO (First-In-First-Out), Optimal, LRU (Least Recently Used), and LFU (Least Frequently Used).

Q4. What is the FIFO page replacement strategy?

A4. The FIFO page replacement strategy evicts the oldest page from memory.

Q5. What is the Optimal page replacement strategy?

A5. The Optimal page replacement strategy evicts the page that will not be needed for the longest time in the future.

Q6. What is the LRU page replacement strategy?

A6. The LRU page replacement strategy evicts the page that has not been used for the longest time.

Q7. What is thrashing?

A7. Thrashing is a phenomenon that occurs when a system spends most of its time swapping pages in and out of main memory instead of executing useful work.

Module 5: File Management:

5.1 Overview, File Organization and Access, File Directories, File Sharing

Q1. What is file management?

A1. File management is the process of organizing, storing, and accessing files on a computer system.

Q2. What are the different types of file organizations?

A2. The different types of file organizations are sequential, indexed, and direct.

Q3. What is sequential file organization?

A3. Sequential file organization is a file organization technique where records are stored one after another in a specific order.

Q4. What is indexed file organization?

A4. Indexed file organization is a file organization technique where records are stored in a random order, and an index is created to map the records to their physical location.

Q5. What is direct file organization?

A5. Direct file organization is a file organization technique where records are stored in a specific location, which is calculated based on the record’s key value.

Q6. What is a file directory?

A6. A file directory is a data structure that contains information about the files stored on a file system, such as the file name, location, and attributes.

Q7. What is file sharing?

A7. File sharing is the process of allowing multiple users to access the same file simultaneously.

Module 6: I/O Management:

6.1 I/O devices, Organization of the I/O Function, Disk Organization, I/O Management and Disk Scheduling: FCFS, SSTF, SCAN, CSCAN, LOOK, C-LOOK.

Q1. What are I/O devices?

A1. I/O devices are hardware components that allow a computer to interact with the external world. Examples of I/O devices include keyboards, mice, printers, and disk drives.

Q2. What is the organization of the I/O function?

A2. The organization of the I/O function involves the use of device drivers, I/O controllers, and interrupt handlers to manage the communication between the CPU and the I/O devices.

Q3. What is disk organization?

A3. Disk organization refers to the way data is stored on a disk drive, which is typically organized into sectors, tracks, and cylinders.

Q4. What is I/O management?

A4. I/O management is the process of managing the I/O operations between the CPU and the I/O devices, which involves buffering, caching, and scheduling.

Q5. What is disk scheduling?

A5. Disk scheduling is the process of determining the order in which disk requests are serviced by the disk drive.

Q6. What is FCFS disk scheduling algorithm?

A6. FCFS (First-Come, First-Serve) disk scheduling algorithm services the disk requests in the order they arrive.

Q7. What is SSTF disk scheduling algorithm?

A7. SSTF (Shortest Seek Time First) disk scheduling algorithm services the disk requests that are closest to the current position of the disk head.

Q8. What is SCAN disk scheduling algorithm?

A8. SCAN disk scheduling algorithm services the disk requests in a back-and-forth fashion, servicing all requests in one direction before reversing direction.

Q9. What is C-LOOK disk scheduling algorithm?

A9. C-LOOK disk scheduling algorithm services the disk requests in a circular fashion, servicing requests only in one direction and moving the disk head back to the beginning of the disk after servicing the last request.

———————————————————————————————————————————————

If you have any doubts or questions regarding the topics covered in this document, please don’t hesitate to ask us at doubtly.in/ask . It is a platform for asking and answering questions related to various fields, including computer science and technology. Our team of experts is always ready to help you with your queries and provide you with accurate and helpful answers. We hope you find this resource useful in your studies !

Team
Team

This account on Doubtly.in is managed by the core team of Doubtly.

Articles: 211