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?