Pint os filesystem
Transcript of Pint os filesystem
File SystemFile System
PintOS-Project4PintOS-Project4
Tasks:Tasks:
1. Buffer Cache1. Buffer Cache2. Indexed & Extensible Files2. Indexed & Extensible Files3. Subdirectories3. Subdirectories4. 4. SynchronizationSynchronization
Build a simple file systemBuild a simple file system
Indexed & Extensible FilesIndexed & Extensible Files Base File System LayoutBase File System Layout
Indexed & Extensible FilesIndexed & Extensible Files
Base File System Layout DefectsBase File System Layout Defects
1.1. External FragmentationExternal Fragmentation2.2. Limitation on growing file sizeLimitation on growing file size
Indexed & Extensible FilesIndexed & Extensible Files
Add IndexAdd Index
1. Don’t have to follow any prescribed layout1. Don’t have to follow any prescribed layout2. Can pick any layout strategy that doesn’t suffer from 2. Can pick any layout strategy that doesn’t suffer from external external 3. fragmentation and can grow files3. fragmentation and can grow files
If you lack better ideas, use Unix-style direct, single indirect, double If you lack better ideas, use Unix-style direct, single indirect, double indirect indirect iNode layoutiNode layout
4. Can pick any on-disk iNode layout (you must design your 4. Can pick any on-disk iNode layout (you must design your own, the own, the existing one does not work)existing one does not work)5. Can pick any directory layout (although existing directory 5. Can pick any directory layout (although existing directory layout layout suffices)suffices)
Indexed & Extensible FilesIndexed & Extensible Files Layout strategyLayout strategy
Linked AllocationLinked Allocation
Indexed & Extensible FilesIndexed & Extensible Files Layout strategyLayout strategy
Indexed AllocationIndexed Allocation
Indexed & Extensible FilesIndexed & Extensible Files Layout strategyLayout strategy
Indexed Allocation ProIndexed Allocation Pro
Buffer CacheBuffer Cache
Buffer Cache VS. Virtual MemoryBuffer Cache VS. Virtual Memory
Improve Performance.Improve Performance.
BIG PictureBIG Picture
Implement OrderImplement Order
You should think about You should think about synchronization synchronization throughoutthroughout
implement & pass all regression testsimplement & pass all regression testsBuffer Cache
implement & pass file growth testsimplement & pass file growth testsExtensible Files
Subdirectories
ContinuingContinuing