Advantages of Round Robin Scheduling algorithm(Answered)
What is an EDF scheduler? What is its advantage over a rate monotic scheduler?(Answered)
In a real-time system with a periodic task set,, how are priorities assigned to each of the
periodic tasks?(Answered)
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?(Answered)
Describe round robin scheduling. What is the parameter associated with the scheduler?
What is the issue in chosing the parameter(Answered)
What is the difference between preemptive scheduling and non-preemptive scheduling?
What is the issue with the latter?(Answered)
Why is it generally correct to favour I/O bound processes over CPU-bound processes?(Answered)
Name four disk-arm scheduling algorithms. Outline the basic algorithm for each.(Answered)
What is disk interleaving? What problem is it trying to solve?(Answered)
Explain how the producer-consumer problem is relevant to operating system I/O.(Answered)
Compare I/O based on polling with interrupt-driven I/O. In what situation would you
favour one technique over the other?(Answered)
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?(Answered)
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(Answered)
Name and describe four page replacement algorithms. Critically compare them with each
other.(Answered)
Describe two virtual memory page fetch policies. Which is less common in practice?
Why?(Answered)
Enumerate some pros and cons for increasing the page size.(Answered)
What is thrashing? How might it be detected? How might one recover from it once
detected?(Answered)
How does page size of a particular achitecture affect working set size?(Answered)
What is the working set of a process?(Answered)
What are temporal locality and spatial locality?(Answered)
What is an inverted page table? How does it compare to a two-level page table?(Answered)
Describe a two-level page table? How does it compare to a simple page table array?(Answered)
Some TLBs support address space identifiers (ASIDS), why?(Answered)
What is a translation look-aside buffer? What is contained in each entry it contains?(Answered)
Describe segmentation-based virtual memory. You should consider the components of a
memory address, the segment table and its contents, and how the final physical address is
formed in your answer(Answered)
Give some advantages of a system with page-based virtual memory compared to a simply
system with base-limit registers that implements swapping.(Answered)
Describe page-based virtual memory. You should consider pages, frames, page
tables, and Memory Management Units in your answer.(Answered)
Base-limit MMUs can support swapping. What is swapping? Can swapping permit an
application requiring 16M memory to run on a machine with 8M of RAM?(Answered)
List and describe the four memory allocation algorithms covered in lectures. Which two
of the four are more commonly used in practice?(Answered)
Describe the difference between external and internal fragmentation. Indicate which of
the two are most likely to be an issues on a) a simple memory memory mangement machine
using base limit registers and static partitioning, and b) a similar machine using dynamic
partitioning(Answered)
Why might filesystems managing external storage devices do write-through caching
(avoid buffering writes) even though there is a detrimental affect on performance(Answered)
What does flushd do on a UNIX system?(Answered)
The filesystem buffer cache does both buffering and caching. Describe why buffering is
needed. Describe how buffering can improve performance (potentially to the detriment of file
system robustness). Describe how the caching component of the buffer cache improves
performance(Answered)
What is the reference count field in the inode? You should consider its relationship to
directory entries in your answer.(Answered)
The Berkeley Fast Filesystem (and Linux Ext2fs) use the idea of block groups. Describe
what this idea is and what improvements block groups have over the simple filesystem layout
of the System V file system (s5fs).(Answered)
What is the maximum file size supported by a file system with 16 direct blocks, single,
double, and triple indirection? The block size is 512 bytes. Disk block numbers can be stored
in 4 bytes.(Answered)
Given that the maximum file size of combination of direct, single indirection, double
indirection, and triple indirection in an inode-based filesystem is approximately the same as a filesystem solely using triple indirection, why not simply use only triple indirection to locate all file blocks?(Answered)
Why might the direct blocks be stored in the inode itself?(Answered)
How can the block count in an inode differ from the (file size / block size) rounded up to
the nearest integer. Can the block count be greater, smaller, or both(Answered)
Compare bitmap-based allocation of blocks on disk with a free block list(Answered)
What file allocation strategy is most appropriate for random access files?(Answered)
What file access pattern is particularly suited to chained file allocation on disk?(Answered)
Give an example where contiguous allocation of file blocks on disks can be used in
practice.(Answered)
Give a scenario where choosing a large filesystem block size might be a benefit; give an
example where it might be a hinderance(Answered)
Give an example of a scenario that might benefit from a file system supporting an
append-only access write(Answered)
Filesystems can support sparse files, what does this mean? Give an example of an
application's file organisation that might benefit from a file system's sparse file support(Answered)
Describe the general strategy behind deadlock prevention, and give an example of a
practical deadlock prevention method(Answered)
What must the banker's algorithm know a priori in order to prevent deadlock?(Answered)
Assuming the operating system detects the system is deadlocked, what can the operating
system do to recover from deadlock?(Answered)
For single unit resources, we can model resource allocation and requests as a directed
graph connecting processes and resources. Given such a graph, what is involved in deadlock
detection(Answered)
Describe four general strategies for dealing with deadlocks(Answered)
What are the four conditions required for the deadlock to occur?(Answered)
What is deadlock? What is startvation? How do they differ from each other?(Answered)
What are monitors and condition variables?(Answered)
Describe how to implement a lock using semaphores.(Answered)
A semaphore is a blocking synchronisation primitive. Describe how they work with the
aid of pseudo-code. You can assume the existance of a thread_block() and a thread_wakeup()
function(Answered)
What is the producer consumer problem? Give an example of its occurence in operating
systems.(Answered)
What is a test-and-set instruction? How can it be used to implement mutual exclusion?
Consider using a fragment of psuedo-assembly language aid you explanation.(Answered)
Interrupt disabling and enabling is a common approach to implementing mutual exclusion,
what are its advantages and disadvantages?(Answered)
Why is turn passing a poor solution to the critical sections problem?(Answered)
What are three requirements of any solution to the critical sections problem? Why are the
requirements needed?(Answered)
What is a critical region? How do they relate to controlling access to shared resources?(Answered)
What is a race condition? Give an example(Answered)
Context switching between two threads of execution within the operating system is
usually performed by a small assembly language function. In general terms, what does this
small function do internally?(Answered)
Describe a sequence the sequence of step that occur when a timer interrupt occurs that
eventually results in a context switch to another application(Answered)
Enumerate the advantages and disadvantages of supporting multi-threaded applications
with kernel-level threads(Answered)
Why are user-level threads packages generally cooperatively scheduled?(Answered)
Name some advantages and disadvantages of user-level threads(Answered)
Describe how a multi-threaded application can be supported by a user-level threads
package. It may be helpful to consider (and draw) the components of such a package, and the
function they perform(Answered)
What is the relationship between threads and processes?(Answered)
What is the function of the ready queue?(Answered)
What is a process? What are attributes of a process?(Answered)
Multi-programming (or multi-tasking) enables more than a single process to apparently
execute simultaneously. How is this achieved on a uniprocoessor?(Answered)
Describe the three state process model, describe what transitions are valid between the
three states, and describe an event that might cause such a transition(Answered)
Is putting security checks in the C library a good or a bad idea? Why?(Answered)
Why must the operating system be more careful when accessing input to a system call (or
producing the result) when the data is in memory instead of registers?(Answered)
Using a simple system call as an example (e.g. getpid, or uptime), describe what is
generally involved in providing the result, from the point of calling the function in the C
library to the point where that function returns(Answered)
Describe the two general roles of an operating system, and elaborate why these roles are
important.(Answered)
How does NTFS handle data structures? How does NTFS recover from a system crash? What is guaranteed after a recovery takes place?(Answered)
What are the responsibilities of the I/O manager?(Answered)
List the design goals of Windows XP. Describe two in detail.(Answered)
What type of operating system is Windows XP? Describe two of its major features(Answered)
Capability lists are usually kept within the address space of the user. How does the system ensure that the user cannot modify the contents of the list?(Answered)
What protection problems may arise if a shared stack is used for parameter passing?(Answered)
What are the main differences between capability lists and access lists?(Answered)
What is the main advantage of the layered approach to system design? What are the disadvantages of using the layered approach?(Answered)
What is the purpose of system programs?(Answered)
What are the three major activities of an operating system in regard to secondary-storage management?(Answered)
What are the three major activities of an operating system in regard to memory management?(Answered)
What are the five major activities of an operating system in regard to process management?(Answered)
What is the purpose of system calls?(Answered)
Is the Internet a LAN or a WAN?(Answered)
How does the distinction between kernel mode and user mode function as a rudimentary form of protection (security) system?(Answered)
What is the main difficulty that a programmer must overcome in writing an operating system for a real-time environment?(Answered)
List the four steps that are necessary to run a program on a completely dedicated machine(Answered)
What are the main differences between operating systems for mainframe computers and personal
computers?(Answered)
What are the three main purposes of an operating system?(Answered)
Describe the following path: C:\Windows\System\Kenya.doc.(Answered)
List four programs that always runs in the background when the computer is started.(Answered)
Define the term installation.(Answered)