Skip to content

Lab 08

Latest
Compare
Choose a tag to compare
@JingWangTW JingWangTW released this 24 Jun 13:19

NCTU OSDI Lab 8: File System Meets Hardware

Documentation: Lab 8

Lab 8 Demo Release

Required

  • Required 1
    • Get the FAT32 partition.
    • Parse the FAT32’s metadata and set up the mount.
  • Requried 2
    • Look up and open a file in FAT32.
    • Read/Write a file in FAT32.

Elective

  • Elective 1
    • Create a file in FAT32.
  • Elective 2
    • Implement a FAT32 with LFN support. You should create/lookup a file with special characters(e.g. Chinese) in its name.
  • Elective 3
    • Implement a mechanism that each device can register itself to a VFS.
    • Implement a VFS interface and a tmpfs method for int mknod(const char* pathname, int dev_id)
    • Create a sdcard device file. A user can read or write an SD card by reading or writing its device file.
    • Create a UART device file as the console, A user can get/print characters from/to console by reading or writing its device file.
  • Elective 4
    • Implement a component name cache mechanism for faster pathname lookup.
    • Implement a page cache mechanism for faster file read and write.
    • Implement a VFS interface and a FAT32 method for int sync()

Questions

  • Explain how an OS supports automatically mounting file systems after plug in a USB flash drive into a computer.
  • How to implement a component cache mechanism if a file has multiple names (because of hard links)
  • Does tmpfs need sync method?