0% found this document useful (0 votes)
48 views3 pages

Operating Systems Exam Questions 2020

The document is an examination paper for the BITH201: Operating Systems course, dated June 2020, consisting of five questions, each worth 20 marks. It covers various topics including the differentiation of 32-bit and 64-bit operating systems, semaphore operations, mutual exclusion, deadlock conditions, CPU scheduling algorithms, and disk space allocation methods. Students are instructed to answer all questions in the provided answer books within a time limit of three hours.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views3 pages

Operating Systems Exam Questions 2020

The document is an examination paper for the BITH201: Operating Systems course, dated June 2020, consisting of five questions, each worth 20 marks. It covers various topics including the differentiation of 32-bit and 64-bit operating systems, semaphore operations, mutual exclusion, deadlock conditions, CPU scheduling algorithms, and disk space allocation methods. Students are instructed to answer all questions in the provided answer books within a time limit of three hours.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

FACULTY OF TECHNOLOGY

DEPARTMENT OF INFORMATION
TECHNOLOGY/SOFTWARE ENGINEERING

BITH201: OPERATING SYSTEMS

JUNE 2020

Time: 3 Hours

INSTRUCTIONS

Answer all five questions.

Each question carries 20 marks.

Answer all questions in Answer Books provided.

Question 1
BITH201: OPERATING SYSTEMS
PAGE 1 OF 3
a) Differentiate a 64-bit operating systems and a 32-bit operating system.
[4]
b) Explain how Up and Down operations on the semaphore ensure mutual
exclusion. [6]
c) Paul was investigating the challenges that his company might be experiencing as
a result of using monolithic operating system. Explain two challenges he could
have identified. [4]
d) A semaphore is a blocking synchronisation primitive. Describe how they work
with the aid of pseudo-code. You can assume the existence of a thread_block()
and a thread_wakeup() function [6]

Question 2
(a) Several proposed software and hardware solutions to the mutual exclusion
problem involve busy waiting. Explain busy waiting in this context. With the aid
of pseudocode, fully explain how the use of a semaphore avoids the ‘busywaiting’
problem. [5]
(b) Briefly define the notion of deadlock using an everyday example. List and explain
the four necessary and sufficient conditions for deadlock. [4]
(c) Assess and verify if the following system is in a safe state. Show all your
workings. [11]

Question 3
(a) List and briefly discuss the three goals of an operating system. [3]
(b) Given the following set of process information, for ONE of the following
scheduling algorithms briefly characterize the algorithm and copy and complete
the table below:

(i) Round Robin (time slice = 2); [4]

BITH201: OPERATING SYSTEMS


PAGE 2 OF 3
(ii) First come – First served; [4]

(c) Briefly explain what is meant by processing burst time of a process. [2]
(d) Explain the terms pre-emptive and non-pre-emptive in the context of CPU
scheduling algorithms. [4]
(e) Indicate broadly the importance of both of these notions in part d) for CPU
scheduling. [3]

Question 4
(a) Fully describe the producer/consumer problem. In the context of your description
clearly explain the mutual exclusion and synchronization problems. [7]
(b) Briefly describe the term thrashing as used in virtual memory. [3]
(c) With the aid of a well labelled diagram, fully explain the page fault frequency
method of preventing thrashing. [4]
(d) Fully describe the three methods of disk space allocation: contiguous, linked (or
chained), and indexed. [6]

Question 5
(a) Why is the performance of disk access seen as highly important? [2]
(b) The buddy system is a memory management scheme that uses variable sized
partitions. Explain the basic principle behind the buddy systems. [5]
(c) Consider a physical memory with three page frame .Using the string
2 0 3 2 4 3 5 1 0 1 2 3 illustrate the FIFO replacement algorithm. [5]
(d) What is a RAID structure? Give details of different RAID levels. [8]

****THE END****

BITH201: OPERATING SYSTEMS


PAGE 3 OF 3

Common questions

Powered by AI

The UP and DOWN operations on semaphores manage access to a shared resource by allowing only one process at a time to decrement the semaphore value. The DOWN operation, also known as P operation, attempts to decrement the semaphore if it is positive, otherwise, the process is blocked. The UP operation, or V operation, increments the semaphore, possibly unblocking a waiting process. This mechanism thereby ensures that no two processes enter the critical section at the same time, maintaining mutual exclusion .

Understanding pre-emptive and non-preemptive scheduling algorithms is crucial for optimizing CPU utilization and ensuring system responsiveness. Pre-emptive scheduling allows the operating system to interrupt a running process to start another, ensuring that high-priority tasks can be executed timely. Non-preemptive scheduling, however, runs a process to completion once it starts, which can reduce context switching but may delay critical tasks. Balancing these approaches can enhance system performance and align task scheduling with specific application needs .

The page fault frequency method prevents thrashing by controlling the rate of page faults within an acceptable range. When page faults increase beyond a threshold, the system increases the working set size or swaps out less-used pages to manage load and maintain performance. A diagram illustrating this method would include components such as the page fault rate monitor, working set manager, and thresholds for upscaling or downscaling resources .

RAID (Redundant Array of Independent Disks) is a storage technology that combines multiple disk drives into a single logical unit for data redundancy and improved performance. Different RAID levels include RAID 0 (striping), RAID 1 (mirroring), RAID 5 (striping with parity), and RAID 6 (striping with double parity), each optimizing for various balances of fault tolerance, storage efficiency, and read/write performance .

Thrashing occurs when a computer's virtual memory subsystem is overloaded with processes that continuously swap data in and out of memory, leading to high paging activity and reduced performance. This situation arises when there are insufficient resources to maintain the working set of active processes in memory, causing excessive page faults that degrade system throughput and increase latency .

Using a monolithic operating system may lead to challenges such as rigidity in updating or upgrading due to tightly coupled system components. Another challenge is the potential for increased complexity in debugging because of the large, interconnected codebase that characterizes monolithic designs. These issues can complicate system maintenance and reduce adaptability, which may slow down the implementation of new features or improvements .

Deadlock is a situation where a set of processes are unable to proceed because each is waiting for the other to release resources. The four necessary and sufficient conditions for deadlock are mutual exclusion, hold and wait, no preemption, and circular wait. An everyday example is a traffic gridlock where multiple cars are waiting for each other to move, but none can move because each path is obstructed by another car, satisfying all the deadlock conditions .

The buddy system is a memory management scheme that allocates memory in power-of-two block sizes, splitting memory chunks into buddy pairs. Each block can further be split into smaller blocks or merged with its buddy to form larger ones. This system helps to minimize fragmentation and improve allocation efficiency by simplifying the tracking of free memory blocks, although it may still lead to some internal fragmentation due to its sizing constraints .

The producer-consumer problem involves two types of processes: producers, which generate data, and consumers, which use this data. The challenge is to ensure that producers do not overflow a shared buffer while consumers do not underflow it. Synchronization ensures that producers and consumers work in harmony without data corruption, while mutual exclusion prohibits multiple processes from accessing the buffer simultaneously, preventing inconsistent states in the data structure .

A 64-bit operating system can handle larger amounts of RAM more efficiently than a 32-bit operating system, which is typically limited to 4 GB of RAM. This increased capacity allows for better performance and the ability to run more memory-intensive applications simultaneously. 64-bit systems also provide more robust security features and can support 64-bit applications, which can process more data per operation than their 32-bit counterparts .

You might also like