Download File Protection and File System Implementation in CMSC 412 - Prof. Jeffrey K. Hollingswort and more Study notes Operating Systems in PDF only on Docsity!
Announcements
z^ Reading Chapter 12 z^ Please see class web site for info on projectsubmission format
File Protection Example (AFS)
z^ Each Directory has an ACL^ โ protection information applies to all files in a directory^ โ file access types are:
- read, write, lookup, delete, insert, lock (k), administer โ an ACL may be for a user or a group โ ACL may contain negative rights โข everyone but Joe Smith may read this file
z^ Groups^ โ are collections of users^ โ each user can create up to a fixed number of groups
- users can administrate their own groups
z^ Cells^ โ collections of computers (e.g. wam)
Filesystems
z^ Raw Disks can be viewed as:^ โ a linear array of fixed sized units of allocation, called blocks
- assume that blocks are error free (for now) โข typical block size is 512 to 4096 bytes โ can update a block in place, but must write the entire block โ can access any block in any desired order โข blocks must be read as a unit โข for performance reasons may care about โnearโ vs. โfarโblocks (but that is covered in a future lecture)
z^ A Filesystem:^ โ provides a hierarchical namespace via directories^ โ permits files of variable size to be stored^ โ provides disk protection by restricting access to files basedon permissions
File System Implementation
Application Programs^ Logical file system:
Knows about directories, application view of file names
File Organization Module:
Can translate logical block addresses to physical block addresses
Basic File System:
Issues physical block read/write commands
Low Level I/O Control^ Interfaces to hardware
Linked Allocation
z^ Each file is a linked list of disk blocks, blocks can belocated anywhere^ โ Directory contains a pointer to the first and last block of a file^ โ Each block contains a pointer to the next block^ โ This is essentially a linked-list data structure z^ Problems:^ โ Best for sequential access data structures
- requires sequential access whether you want to or not! โ Reliability - one bad sector and all portions of your filedownstream are lost
z^ Useful fix:^ โ Maintain a separate data structure just to keep track oflinked lists^ โ Data-structure includes pointers to actual blocks
Indexed Allocation
z^ Bring all pointers together in an
index block
-^ Each file has its own index block -
i th entry of index block points to
i th block making up the file z How large to make an index block? โ unless one only wants to support fixed size files, index blockscheme needs to be extensible z Linked scheme: โ maintain a linked list of indexed blocks z Multilevel index: โ Index block can point to other index blocks (which point to indexblocks ....), which point to files z Hybrid multi-level index โ first n blocks are from a fixed index โ next m blocks from an indirect index โ next o blocks from a double indirect index