p6 - Project 6 Project 6 File Systems Zhiyuan Teo Slide...

Info iconThis preview shows pages 1–11. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Project 6 Project 6 File Systems Zhiyuan Teo Slide heritage: Previous TAs Robert Escriva Cornell CS 4411, November 18, 2011 Project 6 Administrative Information Project 3 has been regraded, please check your scores. Project 4 has been graded. Use CMS for regrade requests. We are swamped right now, give us some time to sort out all regrade requests. Project 5 is due Sunday, 20 November at 11:59PM. There will be no extension for this project. Project 6 will be released this evening, due December 5 at 11:59PM. Project 6 1 Project Scope 2 Implementation Details 3 File System Structure 4 Concurrent Access 5 Considerations Project 6 Project Scope 1 Project Scope 2 Implementation Details 3 File System Structure 4 Concurrent Access 5 Considerations Project 6 Project Scope What do you have to do? Implement a virtual file system using a virtual block device. Implement a UNIX-like interface to the filesystem. You need to support operations that: Create files of variable size (while efficiently using disk space) Reclaim storage from deleted files. A hierarchy of nested directories. Concurrent access to the SAME file(s) by multiple threads. Simplification: only sequential access, no random accesses. Project 6 Project Scope A proposed plan of attack Understand the block device and how it behaves. Learn the UNIX filesystem API: Parameters. Semantics. Decide on details of filesystem internals. Representation of directories, inodes, the superblock, etc. Implement. Perform extensive testing. Start with basic operations that are single-threaded. Then stress your system by testing it under concurrent workload. Project 6 Implementation Details 1 Project Scope 2 Implementation Details 3 File System Structure 4 Concurrent Access 5 Considerations Project 6 Implementation Details What is this virtual block device? Stores blocks in a regular Windows file. Initialize a disk creates a Windows file or opens an existing one. We support just one disk which will contain all of your MINIFILESYSTEM. The device provides disk access at the block granularity, but with no organization. Need to create any and all structures on top of the block device. Project 6 Implementation Details How does this block device work? Block-level operations Read/write takes a block-sized buffer and block number. Block size is defined as a constant: DISK_BLOCK_SIZE . Operations are asynchronous (just like a real device). You schedule requests by a control call to the device. A limited number of requests may be processed at any one time. Requests will be arbitrarily delayed and re-ordered . Asynchronous events complete by means of an interrupt. Once again, youll need to write an interrupt handler . Project 6 Implementation Details Initializing the block device // Initialize the disk int disk_initialize(disk_t * disk); Inspects some global variables and either creates a new disk or uses an existing one....
View Full Document

Page1 / 47

p6 - Project 6 Project 6 File Systems Zhiyuan Teo Slide...

This preview shows document pages 1 - 11. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online