Download presentation
Presentation is loading. Please wait.
Published byCory Griffin Modified over 9 years ago
1
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D.
2
very small very large very fast very slow volatile non-volatile managed as part of the filesystem
3
A File Management System is a set of OS services that supports files and directories for user applications, OS programs, etc. Data should be organized and available in a convenient and efficient manner Files are the basic building blocks
4
A file is an abstraction that represents user data, OS data, an executable, a device, etc. A file is simply a sequence of bytes Actual storage location (via network?) and format are transparent to users Storage scheme on disk is also transparent ▪ Typically involves cylinders, tracks, sectors, etc.
5
File attributes include: Human-readable symbolic name Type (e.g. executable, directory, text, PDF, etc.) Logical location (i.e. containing directory or path) Physical location on disk Size (in bytes) Protection or security (i.e. permissions) Timestamps (created, last modified, last accessed)
6
The pathname (or just path) of a file specifies the sequence of directories one must traverse to locate the file An absolute path starts at the root node A relative path starts anywhere
7
A link provides a shortcut to a file and may circumvent the given directory hierarchy A hard link in Unix is indistinguishable from the original file A symbolic link in Unix is merely a shortcut A Windows shortcut is just a symbolic link
8
File creation requires space allocation Opening a file returns a handle or file descriptor Read and write operations use the handle and an offset (or file pointer) The close operation simply deletes the handle and deallocates any memory
9
Deleting a file deallocates all disk space marked as in use by the file But likely does not erase file contents Deleted files are recoverable until the disk space is used for (and overwritten by) other file(s) The delete operation also removes the corresponding entry in the containing directory
10
An access method describes the manner and mechanisms by which a process accesses the data in a file Two common access methods: Sequential access (open, read, write, close) Random access (open, read, write, seek, close)
11
In a contiguous disk space allocation scheme, files are allocated to contiguous blocks of disk space
12
Four files allocated contiguously to disk: File B outgrows its space and is reallocated: File D outgrows its space and is reallocated: Defragmentation combines free disk space: AAABBCCCDAAACCCDBBBBAAACCCBBBBDDAAACCCBBBBDD
13
In a clustered disk space allocation scheme, files are allocated to clusters of disk space on an as needed basis
14
Four files allocated contiguously to disk: File B outgrows its space, so one or more new clusters are allocated: File D outgrows its space, so one or more new clusters are allocated: AAABBCCCDAAABBCCCDBBAAABBCCCDBBD
15
File accesses may cross cluster boundaries, causing slower response times
16
Using a linked approach, each cluster has a pointer to the next cluster Using an indexed approach, a single table maintains pointers to each individual cluster
17
Managing free blocks (or free clusters) may follow the same scheme as for a single file Linked scheme Indexed approach Bitmapped approach: A bitmap is maintained in memory Each bit corresponds to a block or cluster A 0 indicates a free block A 1 indicates the block is in use
18
A file allocation table (FAT) maps logical files to their physical addresses on a disk A pure FAT would have an entry for each sector (e.g. 512 bytes) To improve performance, clusters of contiguous sectors are used Clusters range from 4 to 64 sectors (e.g. 2,048 to 32,768 bytes)
19
Microsoft FAT-32 filesystem maps to clusters May require linked clusters to house entire FAT
20
Linux uses indexed clusters
21
In Unix, file information is stored in an index node (I-node), which contains: Mode and type of file Number of links to the file File owner’s userid and groupid Size of file (in bytes) Last access and last modified times Number of blocks allocated to the file Pointers to the first twelve blocks Pointers to three additional blocks of pointers
22
inode 12 1024 1024 2 1024 3 cluster … inode 1024 single indirect … inode 1024 double indirect inode 1024 inode 1024 … … … inode 1024 2 triple indirect …
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.