Operating Systems Sample Exam Questions
Part 3
68. Describe buffering in
the I/O subsystem of an operating system. Give reasons why it is
required, and give a case where it is an advantage, and a case where it
is a disadvantage.
69. Device controllers are generally becoming
more complex in the functionality they provide (e.g. think about the
difference between implementing a serial port with a flip-flop
controlled by the CPU and a multi-gigabit network adapter with the
TCP/IP stack on the card itself). What effect might this have on the
operating system and system performance?
70. Compare I/O based on polling with interrupt-driven I/O. In what situation would you favour one technique over the other?
71. Explain how the producer-consumer problem is relevant to operating system I/O.
72. What is disk interleaving? What problem is it trying to solve?
73. What is cylinder skew? What problem is it trying to solve?
74. Name four disk-arm scheduling algorithms. Outline the basic algorithm for each.
75. What are the three general goals of computer security?
76. Which of the three goals of computer security is the following an attack on:
a) Network snooping
b) A distributed denial of service attack
c) Modifiying your marks in the student records database
77.
Give an example of why it is important to consider the skill and
resources available to likely intruders when designing computer
security mechanisms and policies to defend against those intruders?
78.
You are desigining an authentication mechanism to be used by a
user with a web client to authenticate it to a web server. The
network connection is known to be easily snoopable, but confidentiality
of traffic after authentication is of no concern. What authentication
protocol covered in lectures would be most appropriate and why.
79. Describe what a buffer overrun attack is.
80. What is the principle of least privilege?
Why is the setuid root facility in UNIX generally a violation of the
principle? Give an illustrative example of that violation.
81.
Running active web content in a web browser securely is a difficult
problem. JAVA (with its controlled interpretation of the downloaded
code) is one approach to the problem, ActiveX with its digitally signed
code to guarantee authenticity is another approach. Give an advantage
and a disadvantage of each approach.
82. What is the difference between mandatory access control and discretionary access control?
83. What are access control lists and capabilties, and how do they relate to the protection matrix model of representing authority in a system.
84.
Explain how it is easier to apply the principle of least privilege in a
capability-based system compared to an access-control-list-based system.
85. What is a trusted computing base?
86.
The Bell-La Padula Multilevel security policy is a security policy
designed to keep secret information secret. Describe the model
including the properties that must be guaranteed for secrecy to be
preserved.
87. What is a covert channel?
88. Which of RAID 1 or RAID 5 would you use in the following scenarios and why:
a) A transaction database that performs many thousands of updates per second.
b) A web server that serves almost entirely static web content.
89.
Compare RAID 0, RAID 1, and RAID 5 in terms of performance improvement,
ability to withstand failure, and space overhead require to implement
the particular RAID level.
90. Why is it generally correct to favour I/O bound processes over CPU-bound processes?
91. What is the difference between preemptive scheduling and non-preemptive scheduling? What is the issue with the latter?
92. Given an initial set of batch jobs, show that shortest job first minimises average turn-around time.
93. Describe round robin scheduling. What is the parameter associated with the scheduler? What is the issue in chosing the parameter?
94.
The traditional UNIX scheduler is a priority-based round robin
scheduler (also called a multi-level round robin schduler). How does
the scheduler go about favouring I/O bound jobs over long-running
CPU-bound jobs?
95. In a lottery scheduler with 40 tickets. How
how I distribute the tickets amongst 4 processes (A, B, C, D) such that
each process gets 10%, 5%, 60%, and 25% respectively?
96. What is the problem that a fair share scheduler strives to address?
97. In a real-time system with a periodic task set,, how are priorities assigned to each of the periodic tasks?
98. What is an EDF scheduler? What is its advantage over a rate monotic scheduler?
99.
Describe why the use of spinlocks might be more appropriate
than blocking locks on a multiprocessor when compared to a
uniprocessor. Is there a trade-off between spinning and blocking on a
multiprocessor? Discuss.
100. Is a single ready queue on a multiprocessor a good idea? Why?
101. What is thread afinity. Why might it improve performance?