DA3 Assignment – Submission Date: 18/04/25
Must be handwritten – submit it as a scanned PDF document in teams. Do not copy directly
from ChatGPT or any other AI tool.
1. A startup company is planning to launch an online multiplayer gaming platform that requires
multiple backend services—such as matchmaking, authentication, chat, and game logic
servers—to run in isolated environments. The developers want to test these services on
different operating systems and software stacks without purchasing separate physical
machines. To simulate real-world traffic, they need to deploy multiple instances of these
services in parallel and occasionally introduce faults to assess system resilience. As a systems
engineer, you are tasked with designing a solution using virtualization techniques. Based on
this scenario, explain whether system-level or application-level virtualization is most suitable
and why. Evaluate whether a traditional hypervisor-based approach or a container-based
approach better fits the team's requirements, considering the need for OS diversity and high
scalability. Further, analyze which type of virtualization—full virtualization, para-
virtualization, or hardware-assisted virtualization—would be most effective in this setup,
and justify your choice. Also, describe how virtualization aids in resource management,
service isolation, and fault tolerance. Finally, explain how the operating system supports
virtualization using core OS concepts like process scheduling, memory management, and
device emulation.
2. A file system uses a disk composed of 20 blocks, numbered from 0 to 19. Each block is 1 KB
in size. The system maintains a free space table to keep track of available blocks, and
currently, the free blocks are: [1, 2, 4, 6, 10, 11, 12, 15, 17]. A file named report.txt of
size 3 KB needs to be stored on the disk. The file system supports three types of allocation
methods: Contiguous, Linked, and Indexed. Each pointer in a block (for linked or indexed
allocation) occupies 1 byte of space. An index block can store up to 5 pointers. In all three
methods, the file's metadata stores only the starting block number (for contiguous and
linked) or the index block number (for indexed). Based on this information, determine
whether the file can be stored using contiguous allocation and justify your answer with block
numbers. For linked allocation, identify any 3 blocks from the free list that can be used and
show the chain of block references. For indexed allocation, choose one block to act as the
index block and select 3 data blocks from the free list, then indicate how the index block will
point to them.
3. A file system uses a disk with 20 blocks numbered from 0 to 19, each block being 1 KB in
size. The disk maintains a free block list, which currently includes the blocks [0, 1, 3, 5, 6, 8,
9, 13, 14, 16, 18, 19]. Two files, data.csv (2 KB) and log.txt (4 KB), need to be stored
using the available blocks. The file system supports three types of allocation methods:
Contiguous, Linked, and Indexed. Each pointer used in linked and indexed allocation
occupies 1 byte, and an index block can hold a maximum of 5 pointers. The file metadata
stores only the starting block number for contiguous and linked allocation or the index block
number in the case of indexed allocation. Based on this information, determine whether
each file can be stored using contiguous allocation by checking for the availability of
required consecutive blocks and specifying the starting and ending block numbers if
possible. Then, attempt linked allocation by selecting appropriate blocks from the free list
for both files and drawing the block reference chains. Finally, apply indexed allocation by
choosing one index block and the required number of data blocks for each file, and show
how the index blocks would point to the data blocks.
4. A building elevator stops at floors based on requests from different floors. Assume the
elevator operates in a building with floors numbered from 0 to 100. Suppose the elevator
starts at floor 50 and has pending requests at floors 30, 70, 10, 90, 60, and 20. Treat the
elevator like a disk head and the floors like disk cylinders.
If the elevator follows the SCAN (elevator) algorithm, in which order will it serve the
requests? How many floors will it travel in total?
5. In a hospital system, patient reports are stored on a disk with tracks numbered 0 to 199. The
disk head is currently at track 85. Incoming read requests arrive for tracks: 40, 10, 90, 150,
and 30.If the system uses FCFS and SSTF scheduling respectively, determine the order in
which requests are served and calculate the total head movement in each case. Which is
more efficient in this context?
6. A cloud storage disk has cylinders numbered from 0 to 199. Incoming file access requests
are at cylinders: 16, 34, 87, 5, 65, 12, 99. The disk head is currently at cylinder 50. Using the
LOOK and C-LOOK algorithms, determine the order in which the requests will be processed.
Which algorithm performs fewer head movements, and which might be preferred in a real-
time cloud system?
7. A data center has a disk with 200 cylinders (0 to 199). During a nightly backup operation, the
disk receives access requests at cylinders: 10, 20, 70, 30, 40. A high-priority system log at
cylinder 25 needs to be accessed immediately. If the disk uses SSTF scheduling, will the high-
priority log be served quickly? Suggest a better algorithm or modification to handle real-
time high-priority requests more effectively.
8. A tech company uses a cloud-based file storage system integrated with their in-house
operating environment. Employees access shared documents through a custom desktop
client running on a Linux-based OS. Each department has a shared drive with specific access
rules: 1) Engineering can read/write design files but not HR data. 2) HR can access employee
records but not source code files. 3) Interns can only view public templates, not sensitive
data 4) All users must authenticate via a central login system (LDAP-based), which includes
password and token verification. To manage protection: a) The system uses access rights
tables stored in a central access matrix b) Some teams are exploring capability lists for faster
access checks c) IT is also concerned about insider threats and malicious apps installed by
user and d) The OS team is planning performance optimizations for file access and future
support for mobile extensions of the same platform.
a. In this scenario, who defines the security policy, and what mechanisms enforce
them in the OS?
b. Explain how an access matrix works here. Would a capability-based system offer any
performance or security advantages?
c. Distinguish between access control and authentication in this system. Can a user be
authenticated but still denied access? Why?
d. Identify possible system-level threats and suggest OS-level protection techniques to
mitigate them.
e. What performance or scaling issues might arise if this system is extended to mobile
clients? How can future mobile OS features help?