Giter VIP home page Giter VIP logo

rt11fs's Introduction

RT11FS

RT11FS is a FUSE file system driver that understands the RT-11 file system. It implements a full read/write file system that can mount any RT-11 disk pack image. Currently, the driver has only been tested on OS/X.

Once built, file systems can be mounted using the rt11fs binary:

rt11fs mnt -i foo.dsk

umount can be used to unmount the filesystem.

TODO/known issues

  • Install rt11fs as a real OS X filesystem so it can be used with `mount'.
  • Support compiling on Linux.
  • Support squeeze. The file system keeps all files contiguous on disk (per DEC employees, this was done to make reads and writes as fast as possibly since RT-11 is a real-time OS.) This leads to volume fragmentation, and the disk must occasionally be "squeezed", which moves all the files around to maximize runs of free space. RT-11 has a utility to do this, but it would be nice to have the local file system support it.
  • Support for unlinking open files. The *nix convention is that unlink() on an open handle doesn't delete the file until the last handle is closed. FUSE does some magic to make this work that is incompatible with RT-11 filenames. This shouldn't be an issue for the standard use case of just exporting or editing files on the volume.
  • Auto-detect text files and clean up trailing nul's. The RT-11 file system does not measure file size in bytes, but 512-byte blocks. If a file length doesn't work out to an intgral number of blocks, the file system pads the last block will nul bytes. Editing the file and saving it again without trimming the nuls can push the nul padding into a new block, making the file grow more than it needs with each successive edit. This could be fixed by detecting a file as ASCII text and cleaning up the extraneous nuls when it is closed.

rt11fs's People

Contributors

jimge2 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.