CS8493 OPERATING SYSTEMS QBank
CS8493 OPERATING SYSTEMS QBank
PART-A
UNIT-I
1. What are the objectives of operating systems? (MJ- 2017)
The requirements can be divided into two basic groups: User goals and System goals. Users desire that the
system should be convenient and easy to use, easy to learn, reliable, safe and fast. The Operating system should be
easy to design, implement, and maintain. Also it should be flexible, reliable, error free and efficient. These are some
of the requirements, which are vague and have no general solution.
2. What are the advantages of peer to peer systems over client-server systems?( MJ-2016)
Easy and simple to set up only requiring a hub or a switch to connect all computers together. You can access
any file on the computer as-long as it is set to a shared folder. If one computer fails to work all the other computers
connected to it still continue to work.
3. What is the purpose of system programs? ( MJ-2016)
System programs can be thought of as bundles of useful system calls. They provide basic functionality to
users so that users do not need to write their own programs to solve common problems.
4. Compare and contrast DMA and Cache memory. (N/D 2015)
DMA is a hardware device that can move to/from memory without using CPU instructions. Cache stores
memory to somewhere closer to where you can access so you don't have to spend as much time for the I/O.
DMA provides this capability to carry out memory specific operations with minimal processor intervention. When
any I/O device needs a memory access. It sends a DMA request (in form of interrupt) to the processor. The
processor initiates the transfer by providing appropriate grant signals to the data bus. And passes the control to the
DMA controller which controls the rest of the data transfer and transfers the data directly to I/O device.
5. Write the difference between Batch Systems and Time Sharing systems. (N/D 2015)
Batch systems are quite appropriate for executing large jobs that need little interaction. The user can submit
jobs and return later for the results. It is not necessary to wait while the job is processed. Operators batched together
jobs with similar needs and ran them through the computer as a group. Time-sharing or multitasking is a logical
extension of multiprogramming. It allows many users to share the computer simultaneously.
6. Do timesharing differ from Multiprogramming? If so, How? (MJ- 2015)
Time-sharing or multitasking is a logical extension of multiprogramming. It allows many users to share the
computer simultaneously. The CPU executes multiple jobs by switching among them, but the switches occur so
frequently that the users can interact with each program while it is running.
7. Why API’s need to be used rather than system calls? (MJ- 2015)
An API is a generic term for a way to interface with an existing library / service etc... Whereas a system
call is about an application calling down the stack to the underlying resources and such, usually via a standard API in
its own right. System calls provide the interface between a process and the Operating system.
8. Can multiple user level threads achieve better performance on a multiprocessor system than a single
processor system? Justify your answer.(MJ-2014)
We assume that user-level threads are not known to the kernel. In that case, the answer is because the
scheduling is done at the process level. On the other hand, some OS allows user-level threads to be assigned to
different kernel level processes for the purposes of scheduling. In this case the multithreaded solution could be faster.
9. Mention the circumferences that would a user be better off using time-sharing system rather than a PC or
a single user work station? (MJ-2014)
A user is better off under three situations: when it is cheaper, faster, or easier. For example:
When the user is paying for management costs and the costs are cheaper for a time-sharing system than for a
single-user computer.
When running a simulation or calculating that takes too long to run on a single PC or workstation.
When a user is travelling and doesn't have laptop to carry around, they can connect remotely to a time-shared
system and do their work.
10. What is meant by Mainframe Systems? [MJ-15]
Mainframe systems are the first computers developed to tackle many commercial and scientific applications.
These systems are developed from the batch systems and then multiprogramming system and finally time sharing
systems
UNIT-II
1. “Priority inversion is a condition that occurs in real time systems where a low priority process is starved
because higher priority processes have gained hold of the CPU”- Comment on this statement. (MJ- 2017)
Priority inversion is a problem that occurs in concurrent processes when low-priority threads hold shared
resources required by some high-priority threads, causing the high priority-threads to block indefinitely. This
problem is enlarged when the concurrent processes are in a real time system where high- priority threads must be
served on time.
2. Differentiate single threaded and multi threaded processes. (MJ- 2017)
A thread is a simple flow of instruction. An application can be single threaded (so imagine it as a single line
going from the entry point of the application to its end) or multi-threaded (imagine a tree: the whole app starts from
1 point, than it branches out more and more).
UNIT-III
1. What is the difference between a user-level instruction and a privileged instruction? Which of the following
instructions should be privileged and only allowed to execute in kernel mode? (MJ- 2017)
a) Load a value from a memory address to a general-purpose register.
b) Set a new value in the program counter (PC) register.
c) Turn off interrupts.
Machines have two kinds of instructions
o “Normal” instructions, e.g., add, sub, etc.
o “privileged” instructions, e.g., initiate I/O switch state vectors or contexts load/save from protected
memory
o Load a value from a memory address to a general-purpose register- privileged and only
allowed to execute in kernel mode
UNIT-IV
1. Differentiate file and directory. (MJ- 2017)
All the data on your hard drive consists of files and folders. The basic difference between the two is that files
store data, while folders store files and other folders. The folders, often referred to as directories, are used to organize
files on your computer. The folders themselves take up virtually no space on the hard drive. Files, on the other hand,
can range from a few bytes to several gigabytes. They can be documents, programs, libraries, and other compilations
of data.
2. Why rotational latency is usually not considered in disk scheduling? ( MJ-2016)
Most disks do not export their rotational position information to the host. Even if they did, the time for this
information to reach the scheduler would be subject to imprecision and the time consumed by the scheduler is
variable, so the rotational position information would become incorrect. Further, the disk requests are usually given
in terms Mass-Storage Structure of logical block numbers, and the mapping between logical blocks and physical
locations is very complex.
3. How does DMA increase system concurrency? ( MJ-2016)
DMA increases system concurrency by allowing the CPU to perform tasks while the DMA
system transfers data via the system and memory buses. Hardware design is complicated because
the DMA controller must be integrated into the system and the system must allow the DMA controller to be a bus
master.
6. What file access pattern is -particularly suited to chained file allocation on disk? (N/D 2014)
Linked List of Free Blocks
A naive implementation would simply link the free blocks together and just keep a pointer to the head of the
list. This simple scheme has poor performance since it requires an extra I/O for every acquisition or return of a free
block.
7. What file allocation strategy is most appropriate for random access files? (N/D 2014)
Contiguous allocation as you do not have to follow a linked list to data, it can be randomly accessed.
8. Compare bitmap-based allocation of blocks on disk with a free block list. (N/D 2014)
A free block-list after a period of time during which numerous allocations and deal locations take place will
result in a random list of free space. This does not support contiguous allocation as the free list will force the FS to
place data randomly. Bit-map-based allocation maintains the order of the free blocks, easily supporting contiguous
block allocation, but sacrifices time required to find free space and to release space, they are no longer order 1 as the
bit-map must be traversed. The benefits far out way those small overheads when accessing files stored.
9. What is an I/O buffer? (N/D 2014)
The process of storing data in memory area called buffers while data is being transferred between two
devices or between a device and an application.
10. What are the operations performed in a Directory? [ND-12]
1) Create
2) Delete
3) Opendir
4) Closedir
5) Readdir
6) Rename
7) Link
8) Unlink
11. What is meant by Boot Control block? [MJ-11]
The Block which contains information needed by the system to boot an operating systemfrom that partition
is called as Boot Control Block.
12. What is meant by Partition Control Block?[MJ-11]
The Block which contains partition details such as the number of blocks in that partition, size of the blocks,
free -block count and free - block pointers is called as partition control Block.
13. What is meant by Free Space List? [ND-12]
The list which maintains/records all free disk block which means blocks that are not allocated to some file or
Directory.
14. What is meant by Free Space List? [ND-12]
The list which maintains/records all free disk block which means blocks that are not allocated to some file or
Directory.
15. What is Double Buffering? [ND-13]
It is a process in which the first buffer receives and holds the records generated by the running process until
it becomes full. Thus the process continues to deposit the generated records in first buffer.
16. Mention few Page Replacement Strategies. [ND-14]
Optimal Page Replacement FIFO Page Replacement LRU Page replacement MFU Page Replacement LFU
Page Replacement Random Page Replacement
UNIT-V
1. Mention any two features of Linux file systems. (MJ- 2017)
Portable
Open Source
Multi-User
Multiprogramming
Hierarchical File System
Shell
Security
2. Enlist the advantages of using kernel modules in Linux. (MJ- 2017)
Loading and unloading a module is much more flexible and faster than recompiling a kernel and
rebooting.
You can try different options each time you load a module. Most drivers that handle hardware will
take options for I/O addresses, IRQ or DMA numbers, plus more esoteric options like full or half
duplex. When you have problems getting a card to run correctly, the ability to try different options
can save hours.
Makes it easier to maintain multiple machines on a single kernel base.