COP4600 - Operating Systems Final Exam

Lakukan tugas rumah & ujian kamu dengan baik sekarang menggunakan Quizwiz!

What is a File Control Block (FCB)?

A File Control Block (FCB) is a file system structure that maintains the state of a file. The FCB holds attributes and location information of a file, such as ownership, size, permissions, dates, and other information.

What is a RAID?

A RAID is a way of storing the same data in different places on multiple hard disks or solid-state drives to protect against data loss in the case of a drive failure.

What is a block consistency checker?

A block consistency checker is a tool used to check the consistency of a file system's blocks. It uses two tables: one for free blocks and one for used blocks.

What is a byte sequence?

A byte sequence is a sequence of bytes where each byte is 8-bits.

What is an inode?

A data structure that stores information about a file, excluding its name and data.

What is a dentry in a file system?

A dentry holds inodes and files objects together and contains names or identifiers.

What is a directory or folder?

A directory or folder is a special file type that holds (part of) the File Control Block (FCB) about other files in Windows systems, while in Unix systems, directories point to inodes.

What is the purpose of a directory or folder in a file system?

A directory or folder is a special file type that holds information about other files in the file system.

What is a file attribute?

A file attribute is an element that describes a characteristic of a file and provides information the system needs to handle the file, such as the file title, record size, number of areas, and date of creation.

What is a file descriptor?

A file descriptor is a type of data structure that is temporarily allocated by a computer operating system to maintain the status of a data file that is being created or manipulated. It is loaded to memory and is a file control block (FCB).

What is a file?

A file is storage that is logically named (identified) and is persistent.

What is a link in UNIX?

A link in UNIX is a pointer to a file or directory.

What is a logical dump backup?

A logical dump backup starts at a directory and dumps all the files that have changed since the last backup. It is used by most UNIX systems.

What is a magic number?

A magic number is a numeric or string constant that indicates the file type, typically located in the first 512 bytes of the file.

What is a pathname?

A pathname is a sequence of directories used to reference a file. They can be relative or absolute.

What is the difference between an absolute and relative pathname?

A pathname is absolute if it is described in relation to root or drive letter, and relative if it is described in relation to the current directory.

What is a physical dump backup?

A physical dump backup copies everything exactly as it is stored on disk starting from block 0. It is very simple to implement and runs very fast, but it does not take into account bad or unused blocks.

What is a record sequence?

A record sequence is a sequence of records that can be of any size, for example, 6-bits.

What is the difference between a regular (hard) link and a symbolic (soft) link?

A regular or hard link refers to the same physical file location as the original, while a symbolic or soft link contains the path to the original file and behaves differently when the source of the link is moved or removed.

What is a superblock?

A structure that represents a mounted filesystem, stored on the storage device and loaded into memory when mounted.

What is a superblock in a file system?

A superblock represents an instance of a filesystem, i.e., a mounted filesystem, and is typically stored on the storage device itself.

What is the purpose of VFS?

Acts as the interface between the user and mounted filesystems, uses callback functions to operate on files without worrying about implementation details.

What is chained table allocation?

Allocates a table of pointers to blocks, good for small drives, suffers from external fragmentation.

What information is contained in an inode?

An inode contains information about the file size, device on which the file is stored, user and group IDs associated with the file, permissions needed to access the file, creation, read, and write timestamps, and the location of the data.

What is an inode in a file system?

An inode is a file data structure that stores information about any file except its name and data.

What is an open file data structure?

An open file data structure represents an open file and contains data such as flags used while opening the file and the offset from which a process can read or write from. When the file is closed, this data structure is removed from memory.

What is a hard link?

Assigns the same inode value as the original file, remains linked even if files are moved throughout the file system, cannot be created for files on different file systems.

What are some backup issues to consider?

Backing up all or part of the system, deciding when to backup, deciding where to backup, whether to compress the backup or not, difficulty of backing up while the file system is active, and physical security of backup media.

What problems can backups solve?

Backups can help recover from disaster, recover from mistakes, and recover from malicious attacks.

What is the purpose of chained table allocation in file systems?

Chained table allocation is used to minimize disk access by storing the linked list as a table in memory.

What is a soft link?

Contains the path for the original file and not the contents, can link to a directory, can be linked across different file systems.

What are the approaches used to allocate and retrieve files?

Contiguous allocation, linked list allocation, chained table allocation, indexed allocation, chained indexed allocation, and multi-level indexed allocation.

What is a filesystem type?

Defines the type of the filesystem, must be registered to be used.

What is a dentry?

Directory entry that holds inodes and file objects together, contains names or identifiers.

What are the two ways to implement directory naming and attributes?

Directory naming and attributes can be implemented in-line or via reference.

What is a mount table structure?

During the boot process, the root filesystem gets mounted, and its information is added into a mount table structure.

What is linked list allocation?

Each block holds a pointer to the next, involves no external fragmentation, efficient for sequential access files, not for random access.

What happens when a hard link file is moved or renamed?

Even if we change the filename of the original file, the hard links will still work.

What is failover?

Failover is a backup operational mode that automatically switches to a standby database, server, or network if the primary system fails.

What is stored in an inode?

File size, device on which the file is stored, user and group IDs, permissions, timestamps, and data location.

What is file system consistency and why is it important?

File system consistency refers to the state where a file system's blocks are in a valid and expected state. It is important because if the system crashes before all modified blocks have been written back to disk, then the file system can be left in an inconsistent state.

How do file systems keep track of free blocks?

File systems keep track of free blocks by using tables of either used or free blocks. Linked lists of free disk addresses are also kept in main memory.

How do file types help the system?

File types help the system identify which applications should be used to access the data and indirectly, the formatting of the data.

What is contiguous allocation?

File's contents are stored purely in order on the drive, good performance, suffers from fragmentation.

How are files organized in modern file systems?

Files are typically organized in a tree-like structure of files and folders organized in several levels.

How are files created in Unix systems?

Files in Unix can be created using the touch command, cat, and even the echo command.

What are the primary data structures involved with VFS?

Files, dentries, filesystem types, inodes, and superblocks.

How can a filesystem be mounted?

Filesystems may be mounted either automatically or manually.

What is the difference between a hard link and a soft link?

Hard link always refers to the source, even if moved or removed; soft link is just a string containing the path name of its target and does not work if the original file is deleted or moved.

What is the difference between hard links and soft links in Unix file systems?

Hard links remain linked even if the files are moved throughout the file system and can only be created for files on the same file system. Soft links can be linked across different file systems, but they do not work correctly if the original file is deleted or moved.

What are some potential threats to the reliability of file systems?

Hardware failure (e.g. head crashes), and malicious attacks such as data destruction or ransomware.

What is the purpose of a mount table structure?

Holds information about a mounted filesystem, created during the boot process.

What happens when a symbolic link file is moved or renamed?

If the original file is moved or removed, the soft linked file will not work correctly (called hanging link or linking rot). If we change the name of the original file, all the soft links for that file also become dangling.

What is the difference between the original FAT file system and FAT32 file system?

In FAT32, clusters of data are represented by 32-bit numbers, whereas the original FAT file system had a smaller maximum size for clusters.

What is a hash table directory implementation?

In a hash table directory implementation, a hash table is used to speed up searches. Hash tables are generally implemented in addition to a linear or other structure.

What is a linear list directory implementation?

In a linear list directory implementation, finding a file requires a linear search. Deletions can be done by moving all entries, flagging an entry as deleted, or by moving the last entry into the newly vacant position. Sorting the list makes searches faster, at the expense of more complex insertions and deletions.

What is a linked list directory implementation?

In a linked list directory implementation, linked lists make insertions and deletions into a sorted list easier, with overhead for the links.

What is a reference directory implementation?

In a reference directory implementation, the attributes (which are fixed in size) are decoupled from the names (that can vary in size), mitigating fragmentation problems caused by deletions or changes in file names.

What is an in-line directory implementation?

In an in-line directory implementation, attributes and names are stored sequentially. The first portion of a file block has the entry length, followed by the attributes and file name.

What is the optimal allocation method for random access files?

Indexed allocation is the optimal allocation method for random access files.

What is indexed allocation in file systems?

Indexed allocation stores the locations of each block in an index block referenced by the file control block.

What are Joliet Extensions in file systems?

Joliet Extensions include long file names, the Unicode character set, directory nesting deeper than 8 levels, and directory names with extensions.

What is the optimal allocation method for sequential access files?

Linked list allocation is the optimal allocation method for sequential access files.

What is mirrored storage?

Mirrored storage is a type of redundancy where every write is duplicated (written to disk 0 and disk 1). Reads are performed on whichever system is least loaded. Automatic failover occurs when the disk, file system, or network fails.

What is RAID 0?

RAID 0 splits files into blocks and scatters them across physical storage units. This increases overall performance (read and write speeds) due to a higher cumulative throughput of all the storage units. However, it offers no data redundancy and thus has no effect on data security.

What is RAID 1?

RAID 1 simply mirrors data between two drives within the RAID. Whenever data is written to one drive in a pair, it is automatically replicated on the other drive. The primary function of RAID 1 is to provide data redundancy.

What is RAID 2?

RAID 2 is a type of RAID that stripes data at the bit level, rather than the block level. It is rarely used in practice because it requires magnetic disks to be synchronized by the controller to spin at the same angular orientation.

What are some advantages of a RAID?

RAID provides performance gains through parallel hardware access, and reliability through redundant storage. Fast recovery and hot swapping are possible. A RAID can be software or hardware based.

What are some ways to ensure file system reliability?

Redundancy, backups, and hardware redundancy such as mirroring, RAID, and journaling.

What is the importance of reliability in file systems?

Reliability is one of the most important characteristics of filesystems because data loss, no matter how small, can lead to great financial loss to a company or anyone involved with the issue.

What is the purpose of a file descriptor?

Represents an open file, contains data such as flags used while opening the file and the offset from which a process can read or write from.

What are Rock Ridge Extensions in file systems?

Rock Ridge Extensions include POSIX attributes, device numbers, symbolic links, alternative names, child location, parent location, relocation, and time stamps.

What are some common file operations?

Some common file operations include Create, Delete, Open, Close, Seek, Rename, Read, Write, Append, Get/Set Attribute, and Lock.

What are some of the data structures used in file systems?

Some of the data structures used in file systems are files, dentries, filesystem types, inodes, and superblocks.

What are some possible states of a file system and how can they be resolved?

Some possible states of a file system include missing blocks, duplicate blocks, and duplicate data blocks. These can be resolved by including the missing block in the free blocks table, rebuilding the free list to remove duplicate blocks, and allocating a new block and copying contents to solve the issue of duplicate data blocks.

What is the MS-DOS File System?

The MS-DOS file system is a file system used in early versions of Microsoft's DOS operating system. It has a maximum partition size for different block sizes, and some combinations are forbidden.

What is the purpose of the file allocation table (FAT)?

The file allocation table (FAT) is used in FAT file systems to identify chains of data storage areas associated with a file.

How does the link count change when a new link is created or an existing link is removed?

The hard link count starts at 1 when the file is created, increases by 1 each time the link system call is successful, and decreases by 1 each time the unlink system call is successful. When the link count reaches zero, the file is considered deleted.

Why is the link count incremented when a file is opened?

The link count is incremented when a file is opened to prevent deletion mid-operation.

What is a link count?

The link count is the number of links that a file has to it, and it is stored in the inode.

What is a mount point?

The location in the directory tree where a filesystem of a certain type is mounted.

What is the purpose of mount table structure in file systems?

The mount table structure holds information about mounted file systems during the boot process.

How can we find all the hard links to the same file?

The only way to find all the hard links to the same file, i.e. to find all the pathnames leading to a given inode, is to go through the whole filesystem and compare inode numbers.

What are the primary data structures involved with VFS?

The primary data structures involved with VFS are files, dentries, filesystem types, inodes, and superblocks.

What is the purpose of a file system?

The purpose of a file system is to provide persistent storage, locate free storage space, allow more than one process to access the information store concurrently, find information by using human-accessible identifiers or names, protect data from unauthorized access, use, or modification, and identify types of data stored and programs that can read the data.

What are the several ways to determine file types?

The several ways to determine file types are by extension, magic numbers, file attributes, and looking at file contents.

What are the two main access classes or operations for files?

The two main access classes or operations for files are sequential access and random access.

What are the two types of links in UNIX?

The two types of links in UNIX are regular or hard links and symbolic or soft links.

What are the types of links in Unix file systems?

The two types of links in Unix file systems are regular or hard links, and symbolic or soft links.

What are the layers sandwiching VFS in a file system?

The upper layer is the system call layer (with calls such as open(), read(), etc.), and the lower layer is a set of function pointers, one set per filesystem implementation.

What are the layers of VFS?

The upper layer of VFS is the system call layer, which includes calls such as open(), read(), etc., while the lower layer is a set of function pointers, one set per filesystem implementation.

What is chained indexed allocation?

Uses a combination of index node and linked list allocation, balances efficiency and fragmentation.

What is multi-level indexed allocation?

Uses a tree structure of index nodes to access blocks, handles large files well.

What is indexed allocation?

Uses an index node to access blocks, can handle random access, can lead to internal fragmentation.

What is VFS?

VFS (Virtual File System) is a layer within the operating system kernel that allows user-space programs to access different types of filesystems without having to know specific details about each filesystem.

What is the purpose of VFS?

VFS acts as the interface between the user and the filesystems that are mounted.

What is the function of VFS in a file system?

VFS acts as the interface between the user and the mounted file systems.

How does VFS use callback functions?

VFS uses callback functions such as read and write to operate on files without worrying about the implementation details of each filesystem.

What is the purpose of mounting a file system?

We mount a file system to make it accessible to programs through the operating system.

What is the purpose of checking a filesystem for errors or inconsistencies?

When a filesystem is mounted, it may be checked for errors or inconsistencies to ensure its integrity and prevent data loss.


Set pelajaran terkait

JS-US007-14 - Level I Antiterrorism Awareness Training

View Set

Wong's 11th ed - Chapter 20: Pediatric Nursing Interventions and Skills

View Set

Principles of Fluid and Electrolytes Chapter 10 PrepU

View Set

NCLEX RN - Acid-Base Imbalance (+Practice), Acid/Base NCLEX Questions, IBD Summer Test 5, ABG Test Questions, Medical-Surgical: Gastrointestinal, LIVER (lippencott questions), ATI Gastrointestinal, Peptic Ulcer Disease, med surg 6, Med Surg Ch 58 Coo...

View Set

Advanced A&P chapter 28 practice questions

View Set