



Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
An examination paper for the operating systems module (soft 7006) of the bachelor of science in software development & computer networking and bachelor of science (honours) in software development degree programs at cork institute of technology. Instructions for candidates, four questions with sub-questions, and marks for each question. Topics covered include virtual memory management, memory management (segmentation vs paging), page faults, translation lookaside buffer (tlb), deadlock, resource allocation, raid, disk scheduling, preemptive vs non-preemptive scheduling, mutual exclusion, password security, file integrity, public key encryption, and file permissions.
Typology: Exams
1 / 6
This page cannot be seen from the preview
Don't miss anything!




Autumn Examinations 2008/
Module Code: SOFT 7006
School: Computing and Mathematics
Programme Title: Bachelor of Science in Software Development & Computer Networking – Stage 2 Bachelor of Science (Honours) in Software Development – Stage 3
Programme Code: KDNET_8_Y KSDEV_8_Y
External Examiner(s): Mr Ken Carroll Internal Examiner(s): Mr. Gerard McSweeney
Instructions: Answer FOUR questions. All questions carry equal marks.
Duration: 2 Hours
Sitting: Autumn 2009
Requirements for this examination:
Note to Candidates: Please check the Programme Title and the Module Title to ensure that you have received the correct examination paper. If in doubt please contact an Invigilator.
Q1. (a) What is the purpose of the virtual memory manager? (4 Marks)
(b) What are the main differences between segmentation and paging in memory management? (6 Marks)
(c) What is a Page Fault? (2 Marks)
(d) Describe with the aid of a diagram, how the TLB (Translation Lookaside Buffer) works. (9 Marks)
(e) If a logical address is 0010010110011011 and the page table is as follows:
0 0110 1 1001 2 0101 3 1011 4 0010 5 1110 6 1001
Calculate the absolute address. (4 Marks)
Q3. (a) What is meant by the term RAID? (2 Marks)
(b) In the context of data stripping, what is meant by Redundancy? (2 Marks)
(c) With the aid of a diagram, describe RAID Level 1. (4 Marks)
(d) Why is RAID Level 0 regarded as being non-redundant? (2 Marks)
(e) What is a data strip? (2 Marks)
(f) In disk scheduling, what is meant by the seek time, latency time and transfer time? (3 Marks)
(g) For the following track request queue, describe the sequence of tracks visited for each of the following disk scheduling algorithms. Assume that the head starts at track 173 and is moving toward track 199. Also assume that the drive has 200 tracks numbered 0-199.
Request queue: 83, 149, 49, 169, 93, 99, 32 175, 133 (i) FCFS ; (ii) C-Scan. (6 Marks)
(h) Name two other disk scheduling algorithms. (2 Marks)
Q4. (a) What is the difference between a preemptive and a non-preemptive scheduling algorithm? Give an example of each. (4 Marks)
(b) What is meant by starvation? (2 Marks)
(c) Give an example of starvation. (2 Marks)
(d) Describe, with the aid of an example, why mutual exclusion is sometimes necessary for concurrency. (5 Marks)
(e) What is a critical section? (2 Marks)
(f) What are the requirements for Mutual Exclusion? (5 Marks)
(g) The following code represents Dekker’s second attempt to a solution to the mutual exclusion problem.
/ Process0 / flag[0] = true; while (flag[1]) do {/ nothing /} / critical section / flag[0] = false;
/ Process1 / flag[1] = true; while (flag[0]) do {/ nothing /} / critical section / flag[1] = false;
Explain why this attempt fails. (5 Marks)