CS 416 Exam 2

Fall 2010

    Part I – 23 Points

  1. 4 points
    Why could adding more memory to a computer make it "run faster"?
  2. 5 points
    Some processors do not support an address space identifier in their TLB. Under what circumstances does its absence affect system performance?
  3. 5 points
    A hard link is having two or more file names refer to the same file. Why are hard links easy to implement on an inode-based file system (such as FFS) but difficult on a FAT-based file system (such as Microsoft's FAT32)?
  4. 5 points
    An inode based file system has blocks of size b bytes. Each block pointer is w bytes long. An inode entry contains i direct blocks, j indirect blocks, and k double indirect blocks. What is the maximum possible file size that can be supported? Be sure that your answer expresses the size in bytes and not blocks.
  5. 4 points
    How does an extent differ from a cluster?
  6. PART II – 77 points – 3.5 points each

    For each statement, select the most appropriate answer. You may omit one question. Please clearly indicate the question you choose to omit.

  7. Base and limit addressing is most useful in:
    (a) an inverted page table.
    (b) a single partition monoprogramming system.
    (c) a direct mapping paging system.
    (d) a segmentation system.
  8. A hit ratio in a paging system is:
    (a) The fraction of memory translations that are made by a memory-based page table lookup.
    (b) The fraction of memory translations that are made by the TLB.
    (c) The ratio of successful lookups to page faults.
    (d) The ratio of memory writes to memory reads.
  9. A Translation Lookaside Buffer (TLB) caches:
    (a) the contents of frequently accessed memory locations.
    (b) frequently accessed pages.
    (c) partial page tables.
    (d) frequently accessed page table entries.
  10. A certain MMU converts 16-bit virtual address with 512-byte pages into 20-bit physical addresses. How big is the page table?
    (a) 128 entries (27)
    (b) 2048 entries (211)
    (c) 65536 entries (216)
    (d) 1048576 entries (220)
  11. Which memory allocation strategy picks the largest hole?
    (a) First fit
    (b) Best fit
    (c) Worst fit
    (d) Next fit
  12. The following page table has the same number of entries as there are page frames:
    (a) multilevel page table
    (b) inverted page table
    (c) direct mapped page table
    (d) associatively mapped page table
  13. Which page replacement algorithm best approximates LRU (least recently used)?
    (a) First In, First Out
    (b) Not Frequently Used
    (c) Clock (second chance)
    (d) Nth chance
  14. Suppose that you have a 32-bit address with a two-level paging hierarchy and a 4 KB page size. The top-level index table has 1024 entries. How many entries does each partial page table have?
    (a) 1024 (210)
    (b) 262144 (218)
    (c) 1048576 (220)
    (d) 4194304 (222)
  15. Page fault frequency monitoring is a technique for:
    (a) managing the resident set for all processes in the system.
    (b) evaluating the effectiveness of the TLB.
    (c) evaluating the effectiveness of the MMU.
    (d) optimizing the interrupt response time for page faults.
  16. An example of a block device is a:
    (a) Bluetooth headset.
    (b) Scanner.
    (c) Video frame buffer.
    (d) CD-ROM.
  17. A thread should not block if it is executing in:
    (a) User context.
    (b) Interrupt context.
    (c) Kernel context.
    (d) (b) or (c).
  18. On POSIX systems, a device is identified within the file system by:
    (a) A file name that has a unique meaning to the kernel.
    (b) A file name that is a hard link to the device driver.
    (c) A file name that points to the device table instead of to an inode.
    (d) An inode entry that contains a number that is the index into the device table as well as an additional parameter.
  19. The goal of the top half of a device driver is to:
    (a) Delegate as much work to the bottom half as possible.
    (b) Forward user requests from a system call to the device controller.
    (c) Initialize the device driver and register it with the kernel.
    (d) Keep track of the number of references to this specific driver.
  20. Assume that we're using logical block addresses instead of tracks and sectors to refer to disk locations and assume that low block numbers are on the outside of the disk and high block numbers are on the inside. The last block written is 10,000. The block written before that was 8,000. Our queue for read/write requests contains: 6000, 11000, 30000, 9000, 20000 What is the sequence in which the requests will be scheduled with a LOOK algorithm?
    (a) 9000, 11000, 6000, 20000, 30000
    (b) 11000, 20000, 30000, 9000, 6000
    (c) 11000, 20000, 30000, 6000, 9000
    (d) 6000, 11000, 30000, 9000, 20000
  21. The NOOP disk scheduler in the Linux 2.6 kernel is best suited for:
    (a) flash memory.
    (b) database systems.
    (c) real-time systems.
    (d) I/O-intensive systems.
  22. In the POSIX VFS architecture, which object do you need to access to remove a file?
    (a) superblock
    (b) inode
    (c) dentry
    (d) file
  23. The File Allocation Table of Microsoft's FAT32 file system is an example of:
    (a) linked allocation.
    (b) contiguous allocation.
    (c) indexed allocation.
    (d) combined indexing.
  24. Larger cluster sizes DO NOT:
    (a) improve file data access performance.
    (b) reduce external fragmentation.
    (c) reduce file fragmentation.
    (d) increase internal fragmentation.
  25. Linux's ext2, ext3, and ext4 file systems DO NOT use block groups to:
    (a) keep a file's blocks close to each other.
    (b) keep an i-node in close proximity to the file.
    (c) provide a certain degree of fault resiliency: the file system is not destroyed if one group is destroyed.
    (d) make it easy to locate free blocks.
  26. Which form of journaling has the least risk of data corruption?
    (a) ordered journaling
    (b) full data journaling
    (c) writeback journaling
    (d) asynchronous journaling
  27. Recovery after a crash in a journaled file system involves:
    (a) replaying all properly terminated transactions in the log (those marked with a transaction end).
    (b) replaying all transactions in the log, including partially-logged ones.
    (c) marking all transactions in the log as invalid and clearing the log.
    (d) checking the file system integrity.
  28. The JFFS2 file system performs:
    (a) static wear leveling.
    (b) dynamic wear leveling.
    (c) both static and dynamic wear leveling.
    (d) no wear leveling but it is optimized for the longer write times of flash media.