COP4600 FINAL EXAM STUDY GUIDE (A NEW UPDATED
VERSION) LATEST COMPLETE ACTUAL EXAM REAL
QUESTIONS AND CORRECT DETAILED ANSWERS
(CORRECT VERIFIED ANSWERS) |ALREADY GRADED A+
(REVISED EXAM)
What is a path? - ANSWER: A path is a sequence of directories used to reference a
file. They can be relative or absolute.
Why do we need file systems? - ANSWER: 1. Locate free storage space
2. Store information in a persistent way (survives process termination)
3. Allow more than one process to access the information store concurrently
4. Find information by human-accessible identifiers
5. Protect data from unauthorized use
6. Identifying types of data stored and programs that can read the data
How are directories implemented? - ANSWER: Directories can be implemented in-
line or via reference -> Variable attribute/name size
Why do we mount filesystems? - ANSWER: We mount a file system to make it
accessible to programs through the operating system.
Challenges with mounting filesystem? - ANSWER: Where will the root of the file
system appear to the user?
How should different devices be presented to the user?
When accessing a file system on a device, we need to know? - ANSWER: boot block,
Filesystem type/organization (super block), and where the root directory is
What is in the filesystem superblock? - ANSWER: The file system superblock holds
information about its type, format, and organization
What happens when you make a mounting call in Unix - ANSWER: Copies the
Superblock from the disk being mounted to the superblock table in main memory.
Sets pointers in the directory inode to FS mounted
What are the approaches to file allocation? - ANSWER: 1. Contiguous allocation (all-
in-a-row)
2. Linked list allocation (block)
3. Chained table allocation (FAT)
4. Indexed allocation (index nodes)
5. Chained indexed allocation (index + linked list)
6. Multi-level indexed allocation (tree structure)
,Hardware is an abstraction that provides two main operations - ANSWER: 1. Read
block at index "k"
2. Write block at index "k"
3. Allocate and Deallocate
Contiguous allocation - ANSWER: DEFINITION: A file's contents are stored purely in
order on the drive
CONS: suffers from external fragmentation, because it is a contiguous approach to
system memory
Linked List Allocation - ANSWER: 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 - ANSWER: 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 - ANSWER: 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 - ANSWER: Use direct and indirect blocks to increase
maximum file size
Chained Indexed Allocation - ANSWER: Direct blocks with an additional indirect
pointer
What are Inodes? - ANSWER: 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? - ANSWER: True
(T/F) Does a bigger block size have a good disk space utilization? - ANSWER: False
What happens with a worse disk space utilization? - ANSWER: Internal
Fragmentation
(T/F) Does a smaller block size have a better data rate? - ANSWER: False, lower data
rate
(T/F) Does a smaller block size have a good disk space utilization? - ANSWER: True
MS-DOS File System - ANSWER: 1. Maximum partition size for different block sizes.
2. The empty boxes represent forbidden combinations.
, How do you keep track of a free block? - ANSWER: (a) Storing the free list on a linked
list
(b) A bitmap
What is the file control block (FCB)? - ANSWER: 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 - ANSWER: 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 -
ANSWER: True
True of False: a deletion involves the unlinking of a file to a directory - ANSWER: True
What is a file's link count? - ANSWER: 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. - ANSWER: incremented
True or False: In Linux, a file can be added to (shared by) exactly one directory via a
file system link - ANSWER: False: It can be added to more than one directory
Hard link vs soft link - ANSWER: 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? - ANSWER: Regular (hard) and symbolic (soft)
When can linking/unlinking fail? - ANSWER: Sometimes linking/unlinking can fail due
to permissions, existence, and other issues (space)
When is a file considered deleted? - ANSWER: When its link count reaches 0
What is a file directory? - ANSWER: 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 - ANSWER: Single shared directory, one directory per user,
freeform/nested
What is random access? - ANSWER: Data can be accessed in any order, and the data
cursor can be moved via seek operation. Examples include HDD, SSD, Floppy)
VERSION) LATEST COMPLETE ACTUAL EXAM REAL
QUESTIONS AND CORRECT DETAILED ANSWERS
(CORRECT VERIFIED ANSWERS) |ALREADY GRADED A+
(REVISED EXAM)
What is a path? - ANSWER: A path is a sequence of directories used to reference a
file. They can be relative or absolute.
Why do we need file systems? - ANSWER: 1. Locate free storage space
2. Store information in a persistent way (survives process termination)
3. Allow more than one process to access the information store concurrently
4. Find information by human-accessible identifiers
5. Protect data from unauthorized use
6. Identifying types of data stored and programs that can read the data
How are directories implemented? - ANSWER: Directories can be implemented in-
line or via reference -> Variable attribute/name size
Why do we mount filesystems? - ANSWER: We mount a file system to make it
accessible to programs through the operating system.
Challenges with mounting filesystem? - ANSWER: Where will the root of the file
system appear to the user?
How should different devices be presented to the user?
When accessing a file system on a device, we need to know? - ANSWER: boot block,
Filesystem type/organization (super block), and where the root directory is
What is in the filesystem superblock? - ANSWER: The file system superblock holds
information about its type, format, and organization
What happens when you make a mounting call in Unix - ANSWER: Copies the
Superblock from the disk being mounted to the superblock table in main memory.
Sets pointers in the directory inode to FS mounted
What are the approaches to file allocation? - ANSWER: 1. Contiguous allocation (all-
in-a-row)
2. Linked list allocation (block)
3. Chained table allocation (FAT)
4. Indexed allocation (index nodes)
5. Chained indexed allocation (index + linked list)
6. Multi-level indexed allocation (tree structure)
,Hardware is an abstraction that provides two main operations - ANSWER: 1. Read
block at index "k"
2. Write block at index "k"
3. Allocate and Deallocate
Contiguous allocation - ANSWER: DEFINITION: A file's contents are stored purely in
order on the drive
CONS: suffers from external fragmentation, because it is a contiguous approach to
system memory
Linked List Allocation - ANSWER: 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 - ANSWER: 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 - ANSWER: 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 - ANSWER: Use direct and indirect blocks to increase
maximum file size
Chained Indexed Allocation - ANSWER: Direct blocks with an additional indirect
pointer
What are Inodes? - ANSWER: 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? - ANSWER: True
(T/F) Does a bigger block size have a good disk space utilization? - ANSWER: False
What happens with a worse disk space utilization? - ANSWER: Internal
Fragmentation
(T/F) Does a smaller block size have a better data rate? - ANSWER: False, lower data
rate
(T/F) Does a smaller block size have a good disk space utilization? - ANSWER: True
MS-DOS File System - ANSWER: 1. Maximum partition size for different block sizes.
2. The empty boxes represent forbidden combinations.
, How do you keep track of a free block? - ANSWER: (a) Storing the free list on a linked
list
(b) A bitmap
What is the file control block (FCB)? - ANSWER: 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 - ANSWER: 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 -
ANSWER: True
True of False: a deletion involves the unlinking of a file to a directory - ANSWER: True
What is a file's link count? - ANSWER: 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. - ANSWER: incremented
True or False: In Linux, a file can be added to (shared by) exactly one directory via a
file system link - ANSWER: False: It can be added to more than one directory
Hard link vs soft link - ANSWER: 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? - ANSWER: Regular (hard) and symbolic (soft)
When can linking/unlinking fail? - ANSWER: Sometimes linking/unlinking can fail due
to permissions, existence, and other issues (space)
When is a file considered deleted? - ANSWER: When its link count reaches 0
What is a file directory? - ANSWER: 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 - ANSWER: Single shared directory, one directory per user,
freeform/nested
What is random access? - ANSWER: Data can be accessed in any order, and the data
cursor can be moved via seek operation. Examples include HDD, SSD, Floppy)