CSC330
REVIEW for FINAL EXAM
Fall 2004
NOTE: The final examination is cumulative. Therefore, the midterm review should be studied
also, including concepts such as mutual exclusion, critical region, synchronization and
semaphores. Studying homework from chapters 3 & 4 will be helpful as well.
1. Which of the following is true concerning deadlocks?
a.
b.
c.
d.
A set of processes is deadlocked if each process in the set is waiting for an event that only
another process in the set can cause, usually the release of a currently held resource.
Processes in deadlock can still run.
While in deadlock, a process is in the blocked, or sleeping state, but can be awakened.
Deadlock occurs when a process uses a resource without requesting that resource.
2. Which of the following is not one of the conditions needed for deadlock to exist?
a.
Mutual exclusion condition - each resource assigned to 1 process or is
available
b. Hold and wait condition - process holding resources can not request additional.
c. No preemption condition-previously granted resources cannot forcibly taken away.
d. Circular wait condition -must be a circular chain of 2 or more processes each waiting for
resource held by next member of the chain.
3. True or False? The deadlock avoidance strategy called “dynamic avoidance” works by negating one of
the four necessary conditions for a deadlock to exist. If false, explain how it does work.
4. True or False? Some widely used operating systems just ignore the problem of deadlocks altogether. If
false, explain why.
5.
Which of the following is false? Refer to the above diagram where R, U and V are resources of which only
one of each type exists in the system, and D, E and G are processes.
a. There is a cycle in this graph.
b. Process G ‘owns’ resource V.
c. Process D has requested resource R.
d. There is no deadlock in this graph.
6. True or False? The “let it happen and recover” strategy for handling deadlock called “rollback” chooses
a victim process and kills it. If false, explain why.
7. Recovery from deadlock through rollback includes each of the following except
a. Checkpoint a process periodically.
b. Use this saved state.
c. Kill the process at the checkpoint.
d. Restart the process if it is found deadlocked.
8.Using the information in the above matrices and vector, E, complete the P vector showing the total
resources of each type assigned, and the A vector, showing the resources still available. The E vector
shows the total number of each type resource in the system. Then, use the Banker’s Algorithm for multiple
resources, to determine whether the system is safe or not. Show your work and explain your answer.
9. True or False: It is better to prevent deadlocks than to try to avoid them. If false, explain why.
10. Which of the following is false, or impossible, when an operating system uses the strategy of
“prevention” to deal with deadlocks?
a. Require all processes to request resources before starting, in a system where all
processes know all resources that will be needed.
b. Impose a numbering sequence on all resources in the system, and require processes
to request resources in that order.
c. Require processes to give up all resources held, before requesting additional
resources and then request all immediately needed.
d. It is impossible to prevent deadlocks.
11. True or False: A "file system" is part of an operating system. If false, explain why.
12. Each of the following is a reason for files except:
a. to allow multiple processes access to data at the same time.
b. to provide disk space for processes too large for main memory.
c. to store large amounts of information.
d. to provide persistent data.
13. In Unix and Linux all files are arranged in _________________________________.
14. Which of the following serves to attach a file system on a device to a specific directory?
a. mnt /dev/fd0 /floppy
b. umnt /dev/fd0 /floppy
c. mount /dev/fd0 /mnt/floppy
d. umount /dev/fd0 /mnt/floppy
15. Explain the use of the command: mount dev dir
16. When a file is opened, the directory entry provides information needed to find the file. This may be
any one of the following, depending on the method used, except:
a. The disk address of the entire file.
b. The number of the first block of the file.
c. The number of the i-node.
d. The address of the FAT.
17. True or False: The main function of the directory system is to map the ASCII name of a file onto the
information needed to locate the data. If false, explain why.
18. True or False: While the virtual address space of a process may be paged, file storage is always in
contiguous blocks of disk space. If false, explain why.
19. Contiguous allocation of disk space for files is efficient for devices such as CD-ROMS because
a. They are cheap, and can be replaced easily when severe fragmentation occurs.
b. The file size and number of blocks needed are known in advance.
c. A seek operation will be done for each block of a file stored on such a device.
d. Keeping track of a file stored on such a device, does not require knowing the
disk address of the first block of the file or the number of blocks in the file.
20. True or False: One advantage of storing files in a linked list of disk blocks is that no
disk space is lost to external fragmentation. If false, explain why.
21. Linked list allocation of files is efficient for
a. Random access of data in a file.
b. Storing an amount of data that is a power of two in a block.
c. Sequential access of data in a file.
d. Internal fragmentation but not for external fragmentation.
22. True or False: Files may be stored in blocks on a disk without a pointer in each block that holds the
address of the next block of the file. If false, explain why.
23. Which of the following is false for a File Allocation Table?
a. A FAT eliminates the need for part of a block of a file to be a pointer to the next
block of the file.
b. As disks grow larger, a FAT grows linearly with them.
c. The entire FAT does not need to be in memory all of the time and therefore,
does not need to be paged.
d. If the first block of a file is stored in physical block number 5 of the disk, the
value stored in cell 5 of the FAT is the physical block number of the second
block of the file.
24. True or False: The value stored in cell 'x' of a File Allocation Table is the physical
location of the next logical block of the file.
25. Suppose a disk holds 20-GB of data in 1-KB size blocks. If each entry in a FAT for this disk takes 4
bytes, how much main memory does the FAT need?
26. True or False: Random access of data in a file stored in non-contiguous blocks on a
device is NOT improved when a FAT is used. If false, explain why.
27. True or False: An i-node, or index node, is a data structure which stores the attributes of a file and the
disk addresses of all the blocks of the file. If false, explain why.
28. An array of i-nodes
a. is stored in main memory.
b. is usually bigger than a FAT.
c. is proportional to the size of the disk.
d. has room for a variable number of disk addresses in each node.
29. A problem with using an array of i-nodes to hold file information is
a. the size of the array is proportional to the maximum number of files that
the system permits to be open at one time.
b. an i-node need be in memory only when the file whose information the i-node
holds, is open.
c. the array is usually far smaller than the space needed by a FAT.
d. a file may grow larger than the number of disk block addresses each i-node
holds.
30. Which of the following is true?
A directory entry may contain:
a. a file name, attributes of the file and disk addresses.
b. only a reference to an i-node.
c. a file name and the attributes and disk addresses as well as
a reference to an i-node.
d. a file name alone.
31. True or False: A directory requirement is that all file names are the same length. If false, explain
why.
32. Which of the following is false:
a. A directory is held in main memory.
b. When a file is opened, the operating system finds the file's directory
entry by a user-supplied path name.
c. A directory entry contains the information needed to find the blocks on
a disk in which a file is stored.
d. A directory entry does not contain such information as the file's owner
or time of creation.
33. True or False: It is possible for a file to appear in multiple directories at the same time. If false,
explain why.
34. CPU scheduling decisions may take place when a process does each of the following except:
a. Switches from running to waiting state.
b. Switches from running to ready state.
c. Switches from ready to waiting.
d. Terminates.
35. The dispatcher module does each of the following except:
a. Switching context.
b. Switching to user mode.
c. Jumping to the proper location in the user program to restart that program.
d. Selecting another process to use the CPU.
36. In batch systems each of the following are important considerations except:
a. Throughput - maximize jobs per hour.
b. Response time - respond to requests quickly.
c. Turnaround time - minimize time between submission and termination.
d. CPU utilization - keep the CPU busy all the time.
37. True or False: In some operating systems a process retains control of the CPU until the process blocks
for I/O, or other reason, or terminates. If false, explain why.
38.
Suppose a system uses the Shortest Job First scheduling algorithm (non-preemptive version). Given
the following circumstances, complete the Gantt Chart.
Process Arrival Time
Burst Time
P1
0.0
7
P2
2.0
5
P3
4.0
1
P4
5.0
3
Process Arrival Time
P1
0.0
P2
2.0
P3
4.0
P4
5.0
Burst Time
7
4
1
4
39. Complete the following Gantt Chart for the above circumstances when the preemptive version of the
SJF scheduling algorithm is used.
40. True or False: In priority scheduling the priority number assigned to each process by the user or
administrator must be static and cannot change during execution. If false, explain why.
41. True or False: An advantage of priority scheduling is that starvation never occurs. If false, explain
why.
42. The following is true for which scheduling algorithm?
"Each process gets a small unit of CPU time (time quantum), usually 10-100 milliseconds. After this
time has elapsed, the interval timer generates an interrupt and the process is preempted and added to the
end of a queue."
a. First Come First Served
b. Round Robin
c. Priority
d. Banker's Algorithm
43. Which of the following is false with respect to the use of Multi-Level Feedback Queues for scheduling
processes?
a. This algorithm basically treats all jobs the same.
b. This algorithm customizes the scheduling of processes based on the process’
performance characteristics.
c. Each queue gets a certain amount of CPU time, which it can schedule amongst
its processes.
d. A process can move between the various queues and aging, implemented this
way, avoids starvation.
44. True or False: A process may be swapped in and out of main memory in its entirety, or a process may
be broken up into pieces that do not need to be located contiguously in main memory nor do all pieces of
the process need to be loaded into main memory during execution. If false, explain why.
45. True or False: When an operating system brings into main memory only a few pieces of a program at a
time, an interrupt is generated when an address is needed that is not in main memory. If false, explain
why.
46. When an address that is needed is not in main memory, what is the order in which the following
actions occur?
a. The operating system issues a disk I/O Read request.
b. Another process is dispatched to run while the disk I/O takes place.
c. An interrupt is issued when disk I/O complete which causes the operating
system to place the affected process in the Ready state.
d. The operating system places the process in a blocked state.
47. When a processor spends most of its time swapping pieces rather than executing user instructions, it is
said that the processor is __________________.
a. paging.
b. thrashing.
c. under-utilized.
d. using the principle of Locality.
48. True or False: When each process has its own page table, it is not necessary to have a bit to indicate
whether a page is in main memory or not. If false, explain why.
49. Which of the following is true?
a. A modify bit is used to indicate if a page has been altered since it was last
loaded into main memory.
b. If no change has been made to a page, that page must be written to the disk
when the page is to be swapped out.
c. When a process is running, its entire page table must be in main memory.
d. A page table is usually stored in the memory cache.
50. True or False: When an instruction requires a specific virtual address, the processor examines the
TLB, and if the page table entry is present (a hit), the frame number is retrieved and the real address is
formed. If false, explain why.
51. A high-speed cache that contains page table entries that have been most recently used
is called a(n) _____________________________.
a. Working Set.
b. Inverted Page Table.
c. Page Fault Handler.
d. Translation Lookaside Buffer.
52. Which of the following is false?
a. The smaller page size, the less the amount of internal fragmentation.
b. With small page size, there are more pages required per process and page
tables are small.
c. Larger page tables means a large portion of the table will be in virtual memory.
d. Secondary memory is designed to efficiently transfer large blocks of data, so a
large page size is usually better.
53. True or False: Multiprogramming is possible with management that divides main memory into
fixed sized partitions. If false, explain why.
54. Binding of instructions and data to memory may be done at __________________time, if the
process can be moved during its execution from one memory segment to another and hardware
(e.g., base and limit registers) support for address maps is available.
55. In compile-time and load-time address binding schemes _________________ are the same but
not in execution-time address binding.
a. virtual and logical addresses
b. logical and physical addresses
c. page numbers and frame numbers
d. page numbers and segment numbers
56. Addresses that are calculated at load time are called ________________________.
57. Multiprogramming introduced 2 problems into memory management:
a. base and limit registers.
b. wait time and turnaround time.
c. overloading and overriding.
d. relocation and protection.
58. True or False: The compiler and linker must know where in physical memory a program will be
stored. If false, explain why.
59. The goal of multiprogramming is
a. better turnaround time.
b. no page faults.
c. continuous CPU utilization.
d. small page tables.
60. True or False: In both interactive systems and batch systems, processes often spend 80% of their
execution time waiting for I/O, and it is possible for all processes to block at the same time. If false,
explain why.
61. How many processes, whose fraction of time spent waiting for I/O is p=4/5, should be kept in memory
at a time to achieve 99% CPU utilization? SHOW WORK.
62. True or False: timesharing systems and graphically oriented pc’s often have more concurrent
processes than main memory can hold, at which time the system will freeze. If false, explain why.
63. ___________________ refers to bringing a process in its entirely into memory, running it for a while,
the returning it to a disk.
a. paging
b. segmentation
c. swapping
d. relocation
64. True or False: When a process is brought into memory again, all addresses may be relocated. If false,
explain why.
65. When processes are moved out of memory, holes of various sizes are left. When there is enough
memory available to satisfy a process' space requirement, but that memory is not contiguous (so the process
cannot be brought into memory), the condition called _______________________________ has
developed.
a. dynamic memory allocation
b. random access
c. external fragmentation
d. memory mapping
66. True or False: Multiprogramming requires keeping track of free memory space. If false, explain why.
67. Which of the following is true about bitmaps?
a. A '1' means a bit of memory is allocated and a '0' means that bit is free.
b. A bitmap does not need to be in memory and does not take up memory space.
c. All sequential '0' bits are in the same memory allocation unit.
d. The size of a bitmap depends on the size of the memory allocation unit.
68. True or False: Free memory space may be kept track of by a linked list nodes. If false, explain why.
69. Each node in a linked list being used to keep track of memory usage contains all of the following data
except:
a. The starting address of the allocation unit.
b. A 'dirty' bit that indicates whether that data has been modified.
c. The number of allocation units in the process or hole.
d. A field indicating whether that segment of memory contains a process or not.
70. The __________________algorithm for allocating memory when linked list management is used,
chooses the largest available hole, breaking off a hole that is large enough to be useful( i.e. hold another
process).
a. Worst Fit
b. Best Fit
c. Next Fit
d. First Fit
71. True or False: 'Paging' and 'swapping' are synonyms. If false, explain why.
72. True or False: Paging is a memory management scheme that permits a physical address space to be
noncontiguous. If false, explain why.
73. Program, or compiler, generated addresses begin with 0 and are called:
a. physical addresses
b. page numbers
c. virtual addresses
d. frame numbers
74. A virtual address space is divided into _________________ and the physical address space is divided
into corresponding ________________.
a. frames, pages
b. pages, blocks
c. frames, offsets
d. pages, frames
75. The hardware that supports paging includes a(n) ______________________ to keep track of whether
a page is in physical memory or not.
a. reference bit
b. present/absent bit
c. base register
d. limit register
76. An address of size 'm', coming into the MMU (where page size is given by 2n ) is split into 2 parts,
where the high order m - n bits is for the page number and the n low order bits for the ___________, which
tells where the address lies on the page.
a. modification bit
b. page fault
c. offset
d. frame number
77. Suppose a page size of 212 = 4,096 addressable bytes is being used by a memory management system.
Also, 16 bit addresses are used for the virtual address space. How many bits in each address are needed for
the offset?
78. Suppose a page size of 212 = 4,096 addressable bytes is being used by a memory management system.
Also, 16 bit addresses are used for the virtual address space. Given virtual address: 20500, determine
the page on which this address is found and its offset.
79. Suppose a page size of 212 = 4,096 addressable bytes is being used by a memory management system.
Also, 16 bit addresses are used for the virtual address space. Given virtual address: 20500, if this page is
in memory, how far from the beginning of its frame is it found?
80. True or False: Each process needs its own page table. If false, explain why.
81. 32 bit addresses give a virtual address space of more than ____ gigabytes.
82. In a traditional page table with 16 bit addressing and 4KB pages, the index corresponds to the page
number and the table entry contains
a. the offset of the physical address.
b. the frame number, if the page is in physical memory.
c. the virtual address of the page.
d. the physical address of the frame.
83. To avoid keeping huge page tables in memory all at once, two-level tables work well with 32 bit
addressing for a virtual address space. Which of the following is false?
a. The page table is paged.
b. The first 10 bits of an address gives the index into the top level page table.
c. There are 1024 possible entries in the top level page table.
d. Each entry in the top level page table represents 4 gigabytes of addressable
memory found in the second level table.
84. True or False: With Paging we have no external fragmentation: any free frame can be allocated to a
process that needs it. If false, explain why.
85. Which of the following is false?
a. For each process, a pointer to the page table is stored with the other register
values in the PCB (process control block).
b. When the dispatcher starts a process, it must reload all registers and copy the
stored page table values into the "hardware page table" in the MMU, consisting of dedicated
registers with high-speed logic, but that design is only satisfactory if the page table is small.
c. Today’s computers allow page tables with 1 million or more entries, which fast
registers can handle efficiently.
d. With 32 bit addressing and 4K pages, where each entry takes 4 bytes, each process may need 4
megabytes of physical address space for its page table, .
86. Place the following into the order they would occur. (List 1 - 10 and write letter of action next to no.)
a. Determine that the interrupt was a page fault.
b. Trap to the operating system ( also called page fault interrupt).
c. Correct the page table /other tables to show that the desired page is now in memory.
d. While waiting, allocate the CPU to some other user.
e. Take process out of waiting queue and put in ready queue to wait for the CPU again.
f. Save the user registers and process state; i.e. process goes into waiting state.
g. Check that the page reference was legal and, if so, determine the location of the page on the
disk.
h. Issue a read from the disk to a free frame and wait in a queue for this device until the read
request is serviced. After the device seek completes, the disk controller begins the transfer of the
page to the frame.
i. Interrupt from the disk occurs when the I/O is complete. Must determine that the interrupt was
from the disk.
j. Restore the user registers, process state and new page table, then resume the interrupted
instruction.
87. Which of the following is false concerning a Translation Lookaside Buffer?
a. This is a small hardware device for mapping virtual addresses to physical addresses without
going through the page table.
b. A TLB is sometimes called "associative memory".
c. This works because most programs make a small number of references to a large number of
pages.
d. When the MMU is presented a virtual address, the hardware checks to see if its page is present
in the TLB, which is called a "hit".
88. When a program tries to access an address whose page is not in memory, ______________ occurs.
a. demand paging.
b. locality of reference.
c. aging.
d. page fault.
89. The method of an "inverted page table"
a. is appropriate for very large virtual address spaces such as 64-bit.
b. uses one entry per page of virtual address space.
c. requires searching the entire table.
d. uses one entry per page frame in physical memory.
90. True or False: An inverted page table saves a great deal of memory, but searching the table would be
prohibitively slow without a TLB and hashing. If false, explain why.
91. True or False: In the "not recently used" page replacement algorithm, the combination:
not referenced, modified
is not possible. If false, explain why.
92. True or False: The most commonly used page replacement algorithm is FIFO. If false, explain why.
93. When a process is created an area the size of the process is reserved on the disk is the ________area.
94. True or False: When a process is created, the entire process image is immediately copied to the
backing store. If false, explain why.
95. An alternate method to paging, which uses multiple separate address spaces, each of which begins with
zero, is ____________________.
96. True or False: Once a process is created, its size never changes. If false, explain why.
97. Which of the following is false concerning segmentation?
a. A separate address space is allocated to only logical parts of a program that can grow.
b. Procedures and data can be distinguished and protected separately.
c. Segmentation allows sharing of procedures and data among multiple processes.
d. Large graphical libraries can be used by several processes without having the library inside the
process' virtual address space.
98. True or False: In 'memory-mapped files', 'mapping' means associating an ASCII file name with a
virtual address in a process' virtual address space. If false, explain why.
99. Which of the following is false concerning memory-mapped files?
a. Mapping is carried out by page faults: when the machine instruction attempts to read
from an address that has been memory mapped, page 0 of the file is brought into memory.
b. When multiple processes are accessing a file through memory-mapping, inconsistent versions
may result.
c. 'Unmapping' removes files from the backing store.
d. Mapping works best in systems that support segmentation, because byte 'k' of a file is mapped
onto byte 'k' of its segment.
ANSWERS
1.a
2.b
3.f
4.t
5.d
6.f
7.c
8. P= 5 3 2 2 A=1 0 2 0 Safe (D can be satisfied completely)
9.f
10.d
11.t
12.b
13. a large tree structure
14.c
15. Used to attach device dev at location of dir in tree.
16.d
17.t
18.f
19.b
20.t
21.c
22.t
23.c
26.f
27.t
28.a
29.d
30.a
31.f
32.d
33.t
36.b
37.t
38. at time 7 P3 executes and completes
at time 8 P4 executes and completes
at time 11 P2 executes and completes
39.
at time 2 P2 executes
at time 4 P3 executes and completes
at time 5 P2 executes and completes
at time 7 P4 executes and completes
at time 11 P1 executes and completes
40.f
41.f
42.b
43.a
47.b
48.f
49.a
50t
55.b
56. absolute addresses
61. 21 62.f
63.c
64.t
69.b
70.a
71.f
72.t
79. 20bytes
80.t
81. 4
86. 1b 2f
3a
4g
87. c
88.d
89b
90t
95. segmentation 96.f
97.a
44.t
51.d
57.d
65.c
73.c
82. b
5h
91.f
98t
45.t
52.b
58.f
66.t
74.d
83. d
6d
92.f
99c
24.t
34.c
46. d, a, b, c
53.t
54. run time
59.c
60.t
67.d
68.t
75.b
76.c
77. 12
84. t
85. c
7i
8c
9e
93. swap 94.f
25. 80mb
35.d
78.page=5, offset=20
10j