Presentation is loading. Please wait.

Presentation is loading. Please wait.

Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D.

Similar presentations


Presentation on theme: "Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D."— Presentation transcript:

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 …


Download ppt "Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D."

Similar presentations


Ads by Google