COP4600 - FINAL EXAM STUDY GUIDE QUESTIONS AND ANSWERS 2024
What is a path? - A path is a sequence of directories used to reference a file. They can be relative or absolute. Why do we need file systems? - 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? - Directories can be implemented in-line or via reference - Variable attribute/name size Why do we mount filesystems? - We mount a file system to make it accessible to programs through the operating system. Challenges with mounting filesystem? - 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? - boot block, Filesystem type/organization (super block), and where the root directory is What is in the filesystem superblock? - The file system superblock holds information about its type, format, and organization What happens when you make a mounting call in Unix - 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? - 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 - 1. Read block at index "k" 2. Write block at index "k" 3. Allocate and Deallocate Contiguous allocation - 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 - 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
Written for
- Institution
- COP4600
- Course
- COP4600
Document information
- Uploaded on
- December 9, 2023
- Number of pages
- 19
- Written in
- 2023/2024
- Type
- Exam (elaborations)
- Contains
- Questions & answers
Subjects
- cop4600 final exam
- cop4600
-
cop4600 final exam study guide questions and ans
Also available in package deal