NATIONAL OPEN UNIVERSITY OF NIGERIA
PLOT 91, CADASTRAL ZONE, NNAMDI AZIKIWE EXPRESSWAY, JABI-ABUJA
FACULTY OF SCIENCES
DEPARTMENT OF COMPUTER SCIENCE
B. SC. COMPUTER SCIENCE PROGRAMME
2023_2 EXAMINATIONS 2023SEM2
COURSE CODE: CIT 315 COURSE TITLE: OPERATING SYSTEMS
COURSE UNIT: 3 TIME: 2 HOURS 45 MINUTES
INSTRUCTION(S): ANSWER QUESTION ONE (1) AND ANY OTHER THREE (3) QUESTIONS
Question One
(a) Consider the following segment table: what are the physical address for the following logical
addresses? (i) 0430, (ii) 110, (iii) 2500, (iv) 3400 (v) 4112. [10 Marks]
Segment Base Length
0 219 600
1 2300 14
2 90 100
3 1327 580
4 1952 96
(b) Define race condition in the context of concurrent programming and explain how it can
occur. [4 Marks]
(c) Threads are divided into four categories. Discuss them. [6 Marks]
(d) Compare and contrast the operation of cache for read and write operations. [5 Marks]
Question Two
(a) i. Explain the steps involved in context switching. [4 Marks]
ii. What factors affect the speed of context switching? [3 Marks]
(b) How does a thread perform a system call? [3 Marks]
(c) Explain the concept of memory swapping and its purpose in memory management.
[5 Marks]
Question Three
(a) Explain the concept of contiguous memory allocation and non-contiguous memory allocation
in operating systems. [4 Marks]
(b) Describe fixed partitioning in memory allocation and discuss its disadvantages. [4 Marks]
(c) i. Explain the concept of a cache and its importance in computer systems design. [4 Marks]
ii. What are the two essential properties for a memory cache to be useful? [3 Marks]
Question Four
(a) i. Define the concept of interrupt in the context of computing. [3 Marks]
ii. Explain the difference between hardware interrupts and software interrupts. [3 Marks]
(b) Describe the implementation of user-level threads. [4 Marks]
(c) Describe the life cycle of a thread, including its states and transitions. [5 Marks]
Question Five
(a) i. What is a hybrid thread model? [2 Marks]
ii. Describe the three methods of associating user and kernel-level threads. [6 Marks]
(b) Provide advantages and disadvantages of user-level threads. [4 Marks]
(c) How does interrupt handling differ for I/O interrupts, timer interrupts, and interprocessor
interrupts? [3 Marks]
Question Six
(a) Discuss how the operating system allocates resources to a process. [4 Marks]
(b) i. What is the role of the scheduler or dispatcher in process execution? [3 Marks]
ii. What is the purpose of the stack in a process? [2 Marks]
(c) i. What is dynamic partitioning in memory allocation? [3 Marks]
ii. How does it address the limitations of fixed partitioning? [3 Marks]