COP4600 UPDATED COMPREHENSIVE EXAM QUESTIONS
AND ANSWERS GRADED A+
✔✔Linked List Allocation - ✔✔DEFINITION: Each block holds a pointer to the next.
Requires iteration through drive blocks (drive accesses) for random access
CONS: Problematic in large files; App has to iterate through each node.
✔✔Chained Table Allocation - ✔✔DEFINITION: Chain store the linked list as a table in
memory to minimize disk access. It is called a File Allocation Table (FAT)
✔✔Indexed Allocation - ✔✔DEFINITION: Indexed allocation stores locations of each
block in an index block referenced by the file control block
CONS: A pure index system limits file size
✔✔Multi-level Indexed Allocation - ✔✔Use direct and indirect blocks to increase
maximum file size
✔✔Chained Indexed Allocation - ✔✔Direct blocks with an additional indirect pointer
✔✔What are Inodes? - ✔✔1. Index Nodes
2. Store file block information, along with some block pointers - but are usually smaller
(128B or 256B
✔✔(T/F) Does a bigger block size have a better data rate? - ✔✔True
✔✔(T/F) Does a bigger block size have a good disk space utilization? - ✔✔False
✔✔What happens with a worse disk space utilization? - ✔✔Internal Fragmentation
✔✔(T/F) Does a smaller block size have a better data rate? - ✔✔False, lower data rate
✔✔(T/F) Does a smaller block size have a good disk space utilization? - ✔✔True
✔✔MS-DOS File System - ✔✔1. Maximum partition size for different block sizes.
2. The empty boxes represent forbidden combinations.
✔✔How do you keep track of a free block? - ✔✔(a) Storing the free list on a linked list
(b) A bitmap
✔✔What is the file control block (FCB)? - ✔✔Where the attributes and location
information of a file are stored. It is often distributed across the file system, meaning that
they are within directories or reachable from them
,✔✔Common file attributes in an FCB - ✔✔Owner, group, permissions, length, file type,
read-lock, write-lock, date created, date modified, data accessed
✔✔True or False: In the process of creating a file, a link to the directory is created -
✔✔True
✔✔True of False: a deletion involves the unlinking of a file to a directory - ✔✔True
✔✔What is a file's link count? - ✔✔A counter that tracks the number of links to that file
✔✔A file's link count is __________ when a file is opened to prevent deletion mid-
operation. - ✔✔incremented
✔✔True or False: In Linux, a file can be added to (shared by) exactly one directory via a
file system link - ✔✔False: It can be added to more than one directory
✔✔Hard link vs soft link - ✔✔A hard link holds the reference to the inode of the target
file (only within same file system). A soft link holds the path of the target file (may span
file systems, but can suffer from link rot, which is when a file is moved and the soft link
becomes invalid).
✔✔What are the two types of links? - ✔✔Regular (hard) and symbolic (soft)
✔✔When can linking/unlinking fail? - ✔✔Sometimes linking/unlinking can fail due to
permissions, existence, and other issues (space)
✔✔When is a file considered deleted? - ✔✔When its link count reaches 0
✔✔What is a file directory? - ✔✔A directory/folder is a special file type that holds (part
of) the File Control Block about other files. A directory file is usually marked as such via
an attribute in the FCB for the file
✔✔Layouts of directories - ✔✔Single shared directory, one directory per user,
freeform/nested
✔✔What is random access? - ✔✔Data can be accessed in any order, and the data
cursor can be moved via seek operation. Examples include HDD, SSD, Floppy)
✔✔What is sequential access? - ✔✔Bytes must be accessed in linear order. Some, but
not all, media can rewind. Examples include tapes and pipes.
✔✔What are the two ways files can be accessed? - ✔✔Sequentially and random
access
, ✔✔Methods for determining file type - ✔✔Extension, magic numbers (file signature), file
attributes (metadata), look at file contents
✔✔What is a file? - ✔✔Storage that is logically named and persistent
✔✔Main types of file directories - ✔✔FAT, VFAT, UNIX, ISO9660
✔✔What are the main categories of I/O Devices? - ✔✔1) Block Devices (entire blocks;
addressable (e.g. SSD))
2) Character Devices (individual bytes; not addressable; can be one-way)
✔✔What are the types of I/O Handling Strategies? - ✔✔1) Memory Mapped Input
Output (MMIO)
2) Port Mapped (PMIO)
3) Direct Memory Access (DMA)
4) Dedicated Channels
✔✔Programmed I/O requires action on the part of the ___ to store and fetch from
devices - ✔✔CPU
✔✔Human interfaces began life as _________________ - ✔✔Terminals
✔✔T/F: each key on a keyboard has two scan codes - ✔✔True
✔✔What is the difference between ASCII and Unicode? - ✔✔ASCII represents
lower/uppercase letters, digits 0-9, and special characters.
Unicode covers a larger range of characters (Greek symbols, Arabic characters, etc.)
✔✔What information is sent as mouse input - ✔✔Events (buttons, movement, overflow),
X movement, Y movement
✔✔Types of touchscreen input - ✔✔1) Resistive - measures resistance via plastic
(bendable) surface
2) Capacitive - measures capacitance across glass (rigid) surface
✔✔What are the type of programmed IO? - ✔✔1. Polling
2. Interrupts
✔✔What is polling? - ✔✔Determines when a device is ready to read/write
✔✔How is a DMA (Co-processor IO) efficient? - ✔✔We don't need to directly handle IO,
the controller does it
✔✔RAID 5 - ✔✔Block level striping with a distributed parity. Requires at least 3 disks.
AND ANSWERS GRADED A+
✔✔Linked List Allocation - ✔✔DEFINITION: Each block holds a pointer to the next.
Requires iteration through drive blocks (drive accesses) for random access
CONS: Problematic in large files; App has to iterate through each node.
✔✔Chained Table Allocation - ✔✔DEFINITION: Chain store the linked list as a table in
memory to minimize disk access. It is called a File Allocation Table (FAT)
✔✔Indexed Allocation - ✔✔DEFINITION: Indexed allocation stores locations of each
block in an index block referenced by the file control block
CONS: A pure index system limits file size
✔✔Multi-level Indexed Allocation - ✔✔Use direct and indirect blocks to increase
maximum file size
✔✔Chained Indexed Allocation - ✔✔Direct blocks with an additional indirect pointer
✔✔What are Inodes? - ✔✔1. Index Nodes
2. Store file block information, along with some block pointers - but are usually smaller
(128B or 256B
✔✔(T/F) Does a bigger block size have a better data rate? - ✔✔True
✔✔(T/F) Does a bigger block size have a good disk space utilization? - ✔✔False
✔✔What happens with a worse disk space utilization? - ✔✔Internal Fragmentation
✔✔(T/F) Does a smaller block size have a better data rate? - ✔✔False, lower data rate
✔✔(T/F) Does a smaller block size have a good disk space utilization? - ✔✔True
✔✔MS-DOS File System - ✔✔1. Maximum partition size for different block sizes.
2. The empty boxes represent forbidden combinations.
✔✔How do you keep track of a free block? - ✔✔(a) Storing the free list on a linked list
(b) A bitmap
✔✔What is the file control block (FCB)? - ✔✔Where the attributes and location
information of a file are stored. It is often distributed across the file system, meaning that
they are within directories or reachable from them
,✔✔Common file attributes in an FCB - ✔✔Owner, group, permissions, length, file type,
read-lock, write-lock, date created, date modified, data accessed
✔✔True or False: In the process of creating a file, a link to the directory is created -
✔✔True
✔✔True of False: a deletion involves the unlinking of a file to a directory - ✔✔True
✔✔What is a file's link count? - ✔✔A counter that tracks the number of links to that file
✔✔A file's link count is __________ when a file is opened to prevent deletion mid-
operation. - ✔✔incremented
✔✔True or False: In Linux, a file can be added to (shared by) exactly one directory via a
file system link - ✔✔False: It can be added to more than one directory
✔✔Hard link vs soft link - ✔✔A hard link holds the reference to the inode of the target
file (only within same file system). A soft link holds the path of the target file (may span
file systems, but can suffer from link rot, which is when a file is moved and the soft link
becomes invalid).
✔✔What are the two types of links? - ✔✔Regular (hard) and symbolic (soft)
✔✔When can linking/unlinking fail? - ✔✔Sometimes linking/unlinking can fail due to
permissions, existence, and other issues (space)
✔✔When is a file considered deleted? - ✔✔When its link count reaches 0
✔✔What is a file directory? - ✔✔A directory/folder is a special file type that holds (part
of) the File Control Block about other files. A directory file is usually marked as such via
an attribute in the FCB for the file
✔✔Layouts of directories - ✔✔Single shared directory, one directory per user,
freeform/nested
✔✔What is random access? - ✔✔Data can be accessed in any order, and the data
cursor can be moved via seek operation. Examples include HDD, SSD, Floppy)
✔✔What is sequential access? - ✔✔Bytes must be accessed in linear order. Some, but
not all, media can rewind. Examples include tapes and pipes.
✔✔What are the two ways files can be accessed? - ✔✔Sequentially and random
access
, ✔✔Methods for determining file type - ✔✔Extension, magic numbers (file signature), file
attributes (metadata), look at file contents
✔✔What is a file? - ✔✔Storage that is logically named and persistent
✔✔Main types of file directories - ✔✔FAT, VFAT, UNIX, ISO9660
✔✔What are the main categories of I/O Devices? - ✔✔1) Block Devices (entire blocks;
addressable (e.g. SSD))
2) Character Devices (individual bytes; not addressable; can be one-way)
✔✔What are the types of I/O Handling Strategies? - ✔✔1) Memory Mapped Input
Output (MMIO)
2) Port Mapped (PMIO)
3) Direct Memory Access (DMA)
4) Dedicated Channels
✔✔Programmed I/O requires action on the part of the ___ to store and fetch from
devices - ✔✔CPU
✔✔Human interfaces began life as _________________ - ✔✔Terminals
✔✔T/F: each key on a keyboard has two scan codes - ✔✔True
✔✔What is the difference between ASCII and Unicode? - ✔✔ASCII represents
lower/uppercase letters, digits 0-9, and special characters.
Unicode covers a larger range of characters (Greek symbols, Arabic characters, etc.)
✔✔What information is sent as mouse input - ✔✔Events (buttons, movement, overflow),
X movement, Y movement
✔✔Types of touchscreen input - ✔✔1) Resistive - measures resistance via plastic
(bendable) surface
2) Capacitive - measures capacitance across glass (rigid) surface
✔✔What are the type of programmed IO? - ✔✔1. Polling
2. Interrupts
✔✔What is polling? - ✔✔Determines when a device is ready to read/write
✔✔How is a DMA (Co-processor IO) efficient? - ✔✔We don't need to directly handle IO,
the controller does it
✔✔RAID 5 - ✔✔Block level striping with a distributed parity. Requires at least 3 disks.