0% found this document useful (0 votes)
151 views5 pages

Key OS Questions for CIT 333 Exam

The document outlines important questions related to operating systems, covering various modules including system structures, process management, synchronization, memory management, and file systems. It includes definitions, explanations of concepts, diagrams, and comparisons of different systems and methods. The questions are categorized into parts for each module, focusing on theoretical and practical aspects of operating systems.

Uploaded by

mohadanish.r
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
151 views5 pages

Key OS Questions for CIT 333 Exam

The document outlines important questions related to operating systems, covering various modules including system structures, process management, synchronization, memory management, and file systems. It includes definitions, explanations of concepts, diagrams, and comparisons of different systems and methods. The questions are categorized into parts for each module, focusing on theoretical and practical aspects of operating systems.

Uploaded by

mohadanish.r
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

OS Important Questions -3A(ISE)

Module 1
Introduction to operating systems, System structures: What operating systems do; Computer
System
organization; Computer System architecture; Operating System structure; Operating System
operations;
Process management; Memory management; Storage management; Protection and Security;
Distributed
system; Special-purpose systems; Computing environments.
Operating System Services: User - Operating System interface; System calls; Types of system calls;
System programs; Operating system design and implementation; Operating System structure; Virtual
machines; Operating System debugging, Operating System generation; System boot.

Part A

1. Define Operating system. Explain dual mode of operating system with a neat
diagram.
2. With diagram, explain the services provided by an Operating System that are
designed to make using a computer system more convenient for users. (Explain
OS services wrt programs and users)
3. Explain 2 views of OS (User view and system view of the Operating system).
4. Explain computer system organization with a neat diagram.
5. Explain in detail the abstract view of the components of the computer system.
6. Distinguish between the following terms:
● Batch system and time-sharing system
● Client server computing and peer to peer computing
● Multiprogramming and multitasking systems
● Multiprogramming and timesharing systems
● Symmetric and Asymmetric Multiprocessor system
● Multiprocessor and clustered system.
7. Discuss briefly about OS operations.
Part B

1. What are system calls? Explain the types of system calls. Explain system call to
handle a user application invoking the open() system call.
2. Explain the concept of a Virtual Machine. What are the advantages of using VM
architecture? Develop a neat diagram of VMware architecture.
3. Explain these operating system structures: Layered approach and Modules.
Module 2
Process Management: Process concept; Process scheduling; Operations on processes; Inter process
communication
Multi-threaded Programming: Overview; Multithreading models; Thread Libraries; Threading
issues.
Process Scheduling: Basic concepts; Scheduling Criteria; Scheduling Algorithms; Thread scheduling;
Multiple-processor scheduling,

Part A

1. Define process. Construct a process state diagram neatly and explain.


2. Explain PCB with a neat diagram. Explain queuing diagram.
3. Construct the suitable C code to fork() a process
4. Explain scheduler in a process execution.
5. Explain types of inter process communication (message passing and shared
memory).
6. Explain direct and indirect communication with respect to message passing
systems.
7. Define thread. Explain multithreading models with a neat diagram. Explain its
benefits. Distinguish between thread and process
8. Explain threading issues.
9. Explain multilevel queue scheduling.
Part B
10. Define thread. Explain multithreading models with a neat diagram. Explain its
benefits.
11. Explain threading issues.
12. Explain CPU scheduling criteria. (CPU utilization, throughput, turnaround time,
waiting time, and response time)
13. Explain FCFS, SJF, RR and Priority scheduling algorithms.

14.
Module 3
Process Synchronization: Synchronization: The critical section problem; Peterson’s solution;
Synchronization hardware; Semaphores; Classical problems of synchronization;
Deadlocks: System model; Deadlock characterization; Methods for handling deadlocks; Deadlock
prevention; Deadlock avoidance; Deadlock detection and recovery from deadlock.

Part A

1. Explain the critical-section problem along with the requirements that it must
satisfy. Explain Peterson's solution for it.
2. Solve the Reader’s-Writer’s problem using semaphores for the reader’s priority
problem.
3. What are semaphores? Identify the difference between binary semaphores and
counting semaphores.
4. Explain classical problems of synchronisation (Bounded buffer problem,
Dining philosopher problem, readers-writers problem)

Part B

1. Define deadlock. What are the necessary conditions for deadlock.


2. Explain different methods to recovery from deadlock.
3. Explain resource allocation graph. With & without deadlock.
4. Explain deadlock prevention and handling methods.
5. Consider the following snapshot of the system. Determine the need matrix and
calculate the safe sequence using banker’s algorithm. Mention whether the
system is in safe state or not.
Process Allocation Maximum Available
A B C A B C A B C
P0 0 1 0 7 5 3 3 3 2
P1 2 0 0 3 2 2
P2 3 0 2 9 0 2
P3 2 1 1 2 2 2
P4 0 0 2 4 3 3
6. What are the 2 methods to eliminate deadlock.
7. Explain banker’s algorithm along with its data structures.
Module 4
Memory Management: Memory management strategies: Background; Swapping; Contiguous
memory allocation; Paging; Structure of page table; Segmentation.
Virtual Memory Management: Background; Demand paging; Copy-on-write; Page replacement;
Allocation of frames; Thrashing.

Part A

1. Explain with examples the first fit, best fit and worst fit strategies adopted for
contiguous memory allocation by OS.
2. Explain internal and external fragmentation with neat diagrams.
3. With a neat diagram, explain paging hardware. And explain paging hardware
with TLB.
4. What is segmentation? Explain its hardware structure.
5. Explain swapping with a neat diagram.
6. Explain structure of page table. (hierarchical, hashed, inverted).

Part B

1. Explain demand paging. Steps in handling page fault with a neat digram.
2. Explain copy on write with a neat diagram.
3. Explain thrashing with a neat diagram.
4. Explain pagr replacement algorithms.
5. Consider the following page reference string.
70120304230321201701
Assuming there are 3 memory frames, how many page faults would occur in case
of i) LRU ii) Optimal algorithm. Note that initially all frames are empty.
Module 5
File System, Implementation of File System: File system: File concept; Access methods; Directory
and Disk structure; File system mounting; File sharing; Implementing File system: File system
structure; File system implementation; Directory implementation; Allocation methods; Free space
management.
Secondary Storage Structure, Protection: Mass storage structures; Disk structure; Disk attachment;
Disk scheduling; Disk management; Protection: Goals of protection, Principles of protection, Domain
of protection, Access matrix.
Part A

1. Explain various types of directory structures.


2. Discuss various file and disk allocation methods.
3. List different operations performed on a directory.
4. Explain various file access methods.
5. Explain file operations.
6. With example explain methods of implementation of free space list.
7. Explain in detail the various file types.
8. Explain virtual file system. Directory implementation

Part B

1. Explain FIFO, SSTF, LOOK, CLOOK, SCAN and C-SCAN disk scheduling with
suitable example.
2. Explain access matrix methods of system protection with domain as
objects and its implementation.
3. How the access matrix model of protection can be viewed in OS?
4. Explain access matrix.
5. Explain boot block and bad blocks.
6. Explain domain of protection.
7. Explain revocation of access rights.

Common questions

Powered by AI

Distributed systems distribute computing across multiple machines, which can offer advantages like improved resource utilization, reliability, and scalability—ensuring systems can grow as necessary. However, challenges include complexities in communication and synchronization across different systems, potential for inconsistent states due to network failures, and ensuring sufficient security and protection mechanisms across distributed environments .

The Banker's algorithm is used to allocate resources in a system to ensure that it remains in a safe state, effectively avoiding deadlocks. It does this by making an 'advance reservation' where a process can only receive resources if it can be determined that allocation will leave the system in a possible sequential state of safe executions. The algorithm works by simulating resource allocation for each request and then checking through a series of steps, whether the system will remain in a safe state, ensuring no circular wait can occur .

Virtual machines provide several benefits, such as isolation between different environments on the same hardware, which enhances security and stability. They also allow for multiple operating systems to run concurrently on a single physical machine and give developers a sandboxed environment to test applications. However, drawbacks include performance overhead due to virtualization layers and the complexity of managing virtual resources. Additionally, VMs typically require substantial resources, which can be inefficient compared to running processes natively on the hardware .

Contiguous memory allocation assigns a single contiguous block of memory to a process, simplifying address mapping but potentially leading to fragmentation and inefficient use of memory. Paging, however, divides the memory into fixed-size units (pages) that can be located anywhere in physical memory, eliminating contiguous space requirements and external fragmentation. Segmentation, unlike paging, divides memory into variable-sized segments based on logical divisions of processes, such as functions or objects, which aligns with their logical usage but can still suffer from external fragmentation due to variable segment sizes .

Deadlock prevention and avoidance strategies both aim to manage potential deadlocks but take distinctly different approaches. Prevention strategies are designed to ensure that at least one of the necessary conditions for a deadlock to occur is not satisfied, such as preemptive resource allocation or requesting all resources at once, which leads to conservative resource usage patterns. On the other hand, avoidance strategies, like the Banker's algorithm, rely on ensuring the system state remains safe before granting resources, thus allowing more flexibility and dynamic allocation but requiring careful calculation and knowledge of maximum resource needs beforehand .

Semaphores are synchronization primitives used to control access to a shared resource by multiple processes in a concurrent system and to avoid race conditions. Binary semaphores, also known as mutexes, are a type of semaphore that can only be used for locking due to their binary nature, which sets the semaphore as locked (0) or unlocked (1). Counting semaphores, on the other hand, can be used to control access to resources that have a greater count, effectively allowing more complex management of access by multiple processes, as their counters can assume values larger than 1 .

The critical-section problem is essential for process synchronization, ensuring that no two processes are in their critical sections simultaneously, which could lead to race conditions. The problem must satisfy three requirements: mutual exclusion, progress, and bounded waiting. Peterson’s solution addresses this through the use of a shared variable and a turn mechanism, allowing processes to enter their critical sections by respecting the turn variable, thereby allowing only one process inside the critical section at a time while ensuring the other two requirements are met. This solution is feasible for concurrent processes on a single processor system .

The layered approach organizes an operating system into a hierarchy of layers, where each layer is built upon the one below it. This structure helps isolate complex functionality and provide a clearer structure. Each layer can only interact with adjacent layers, promoting modularity and reducing interdependencies but potentially increasing overhead due to additional layers of abstraction. In contrast, the modular structure divides the OS into smaller, more flexible modules, each running independently. These modules can interact more flexibly than in a strict layered structure, which allows for better scalability and maintenance, but also requires more mechanisms to handle module communication and dependencies .

System calls provide a controlled entry point for user applications to request services from the operating system. They allow user-level processes to interact with the kernel to perform operations like file processing, creating processes, and network communication, abstracting the complexities of these operations through a procedural interface. This ensures that user applications can operate safely and efficiently, relying on the OS to handle resource management and security checks .

Multithreading models enhance system performance by allowing multiple threads to exist within a single process, sharing resources but executing independently, which maximizes CPU utilization and application responsiveness. Threads can efficiently perform concurrent tasks, such as handling multiple user requests simultaneously, which is particularly advantageous in server environments. However, multithreading introduces challenges such as managing shared resources, ensuring proper synchronization to avoid race conditions, and dealing with increased complexity in debugging and potential difficulties in managing context switches between threads .

You might also like