COP4600 UPDATED ACTUAL FINAL PAPER QUESTIONS
AND ANSWERS GRADED A+
✔✔Larger block size _______ on FS consistency rate - ✔✔has no effect
✔✔3 ways to keep track of free blocks for FS - ✔✔Linked list, bitmap, and storing
pointers to free blocks on disk (can cause thrashing, so have more than one partially full
list)
✔✔How does the block cache work? - ✔✔Linked list of blocks in memory and hashtable
pointing to blocks
✔✔Where does most data loss stem from> - ✔✔Human error
✔✔When a FS stores the same info on 2 disks. Every write is duplicated and reads go
to whichever system is least loaded. Failures can be automatically switched over -
✔✔Mirroring
✔✔Backup which only backs up part of the system - ✔✔Selective dump
✔✔Backup which doesn't back up a file if it isn't changed - ✔✔Incremental backup
✔✔System which provides FS performance gains through parallel hardware access.
Uses striping and redundant storage to allow fast recovery. Hot swap is possible -
✔✔RAID (Redundant arrays of independent disks)
✔✔Term for when data is spread across multiple disks - ✔✔Striping
✔✔Term for when while the system is running, a bad disk can be removed and replaced
with a good one - ✔✔Hot swap
✔✔RAID which is purely striping (no redundancy) - ✔✔RAID 0
✔✔RAID which is purely mirroring (no striping) - ✔✔RAID 1
✔✔RAID which uses striping at bit level and can detect, but not fix errors. Mostly
theoretical - ✔✔RAID 2
✔✔RAID which uses mirroring and strips - ✔✔RAID 10
✔✔Which of these actions has a recovery option with no potential loss of information?
1) Block marked as both free and in use
, 2) Block marked in free list twice
3) Block marked in use twice - ✔✔1) Yes. Mark as in use
2) Yes. Make it one listing
3) No. Most likely corrupt
✔✔2 types of I/O devices - ✔✔Block and character
✔✔I/O device which sends and receives the entire block of data. Is addressable.
Random access. Like memory - ✔✔Block
✔✔I/O device which sends and receives individual bytes. Not addressable. Can be one
or two way. Like a stream - ✔✔Character
✔✔CPU IO which uses memory addressed communication. The device memory is
considered part of main memory. There is no automatic interrupt and some assembly
instructions are required - ✔✔Memory mapped (MMIO)
✔✔CPU IO which uses isolated addressing communication. There is unique assembly
instruction and distinct address space - ✔✔Port-mapped (PMIO)
✔✔Two types of CPU IO (also called programmed IO) - ✔✔MMIO and PMIO
✔✔Two types of coprocessor IO - ✔✔DMA and dedicated channels
✔✔Coprocessor IO which uses memory addressing communication. It allows devices to
directly write to system memory. The controller acts as the coprocessor - ✔✔Direct
memory access (DMA)
✔✔Coprocessor IO which uses isolated addressing communication. It was used in
mainframe days - ✔✔Dedicated channels
✔✔IO which requires action on part of the CPU to store and fetch from devices -
✔✔Programmed IO
✔✔When a device must be surveyed to determine when they are ready to read/write.
Everything is done in the CPU. Common is user devices (most CPU intensive) -
✔✔Polling
✔✔When a device can interrupt to alert the CPU it is ready. Needs semiglobal memory
and code is in driver and kernel. - ✔✔Interrupts
✔✔IO where you don't need to directly handle IO, the controller does that. It unblocks
the user after the controller acks. It is the least CPU intensive - ✔✔DMA
AND ANSWERS GRADED A+
✔✔Larger block size _______ on FS consistency rate - ✔✔has no effect
✔✔3 ways to keep track of free blocks for FS - ✔✔Linked list, bitmap, and storing
pointers to free blocks on disk (can cause thrashing, so have more than one partially full
list)
✔✔How does the block cache work? - ✔✔Linked list of blocks in memory and hashtable
pointing to blocks
✔✔Where does most data loss stem from> - ✔✔Human error
✔✔When a FS stores the same info on 2 disks. Every write is duplicated and reads go
to whichever system is least loaded. Failures can be automatically switched over -
✔✔Mirroring
✔✔Backup which only backs up part of the system - ✔✔Selective dump
✔✔Backup which doesn't back up a file if it isn't changed - ✔✔Incremental backup
✔✔System which provides FS performance gains through parallel hardware access.
Uses striping and redundant storage to allow fast recovery. Hot swap is possible -
✔✔RAID (Redundant arrays of independent disks)
✔✔Term for when data is spread across multiple disks - ✔✔Striping
✔✔Term for when while the system is running, a bad disk can be removed and replaced
with a good one - ✔✔Hot swap
✔✔RAID which is purely striping (no redundancy) - ✔✔RAID 0
✔✔RAID which is purely mirroring (no striping) - ✔✔RAID 1
✔✔RAID which uses striping at bit level and can detect, but not fix errors. Mostly
theoretical - ✔✔RAID 2
✔✔RAID which uses mirroring and strips - ✔✔RAID 10
✔✔Which of these actions has a recovery option with no potential loss of information?
1) Block marked as both free and in use
, 2) Block marked in free list twice
3) Block marked in use twice - ✔✔1) Yes. Mark as in use
2) Yes. Make it one listing
3) No. Most likely corrupt
✔✔2 types of I/O devices - ✔✔Block and character
✔✔I/O device which sends and receives the entire block of data. Is addressable.
Random access. Like memory - ✔✔Block
✔✔I/O device which sends and receives individual bytes. Not addressable. Can be one
or two way. Like a stream - ✔✔Character
✔✔CPU IO which uses memory addressed communication. The device memory is
considered part of main memory. There is no automatic interrupt and some assembly
instructions are required - ✔✔Memory mapped (MMIO)
✔✔CPU IO which uses isolated addressing communication. There is unique assembly
instruction and distinct address space - ✔✔Port-mapped (PMIO)
✔✔Two types of CPU IO (also called programmed IO) - ✔✔MMIO and PMIO
✔✔Two types of coprocessor IO - ✔✔DMA and dedicated channels
✔✔Coprocessor IO which uses memory addressing communication. It allows devices to
directly write to system memory. The controller acts as the coprocessor - ✔✔Direct
memory access (DMA)
✔✔Coprocessor IO which uses isolated addressing communication. It was used in
mainframe days - ✔✔Dedicated channels
✔✔IO which requires action on part of the CPU to store and fetch from devices -
✔✔Programmed IO
✔✔When a device must be surveyed to determine when they are ready to read/write.
Everything is done in the CPU. Common is user devices (most CPU intensive) -
✔✔Polling
✔✔When a device can interrupt to alert the CPU it is ready. Needs semiglobal memory
and code is in driver and kernel. - ✔✔Interrupts
✔✔IO where you don't need to directly handle IO, the controller does that. It unblocks
the user after the controller acks. It is the least CPU intensive - ✔✔DMA