1/38
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Goals of File System Design
Efficiency, Usability, Reliability
History of File Systems
Basic FS, Performance ( efficiency and locality ), optimize writes, scale and distribution
File
a named collection of related information recorded on secondary storage
data
what a user or application puts in the file
metadata
file attributes added and managed by the OS
directory
a list that provides names for files
hard link
a mapping form each name to a specific underlying file or directory
soft link
a mapping from a file name to another file name
file system metadata examples
file system type, number of blocks in the file system, file system permissions
where is FS metadata stored?
superblock
what two data structures can you use to track free space for data and metadata?
free list, bitmap
file layout goals
fase access rate, efficient access to large files, allow files to grow past their initial size, allow random and sequential access with reasonable efficiency
contiguous allocation
allocation method where the file system allocates a contiguous chunk of free blocks when it creates a file, using a free list, start location, and size
sectors
smallest unit the drive can read or write, usually 512 bytes long
blocks
the smallest unit which the software accesses the disk at, which is an integer number of contiguous sectors
I/o device hardware consists of :
bus, device port, controller, device
linked allocation
allocation method where file is stored as a linked list of blocks, not neccesarily contiguous in memory but connected using pointers. needs the file header and a pointer to each involved block
FAT (File Allocation Table)
a simple table that stores linked list information
FAT Disadvantages
poor random access, limited access control, no support for hard links, volume and file size are limited, no support for transactional updates
direct allocation
allocation method where files are stored in individual blocks, with the location information being stored entirely in the file header
Indexed allocation
allocation method where files are stored in individual blocks, and location information fo rthem is stored in index blocks
why would we want to add index blocks to direct allocation
simpler to grow files
multilevel indexed files
allocation method where files are stored as a fixed, asymmetric tree, with the data blocks as its leaves
Fast File System
A UNIX file system designed to improve performance over older systems by using larger block sizes, cylinder groups for locality, block fragmentation for efficient small file storage, and optimized metadata allocation to reduce disk seeks.
directories are also called…
folders!
directory
a collection of mappings from file name to file number
where can directories be modified
kernel mode only
make-it-work strategy
a directory strategy where one name space is given to the entire disk; if one user uses a name, no one else can
user-based strategy
a directory strategy where each user has a single separate directory; once a user uses a name, that user cannot reuse the name
computer memory hierarchy, fastest to slowest
processor registers, processor cache, random access memory, flash / USB memory, hard drives, tape backup
seek time
time to position head over track/cylinder
maximum
time to go from innermost to outermost track
rotation time
time fo the sector to rotate underneath the head
transfer tim
time to move the bytes from disk to memory
polling
a communication method where the OS keeps checking until the status of the I/O device is idle, then carries out operations
in polling, what happens if the device is busy when the OS has a request
the OS moves to another task, but it keeps the operation on its todo list and tries back
interrupts
a communication method where the device can interrupt the CPU when it completes an I/O operation; then, the OS can determine which device causes the interrupt, if the last command was an input operation, and then start the next operation for that device
DMA controller ( direct memory access )
a communication method where the CPU is interrupted only when the entire transfer of data is complete, instead of when each word is ready
NTFS
A file system used by Windows that supports large files, journaling for reliability, access control via permissions, file compression, encryption, and metadata-rich structures for better performance and security.