Return to BSD News archive
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.rmit.EDU.AU!news.unimelb.EDU.AU!munnari.OZ.AU!spool.mu.edu!usenet.eel.ufl.edu!arclight.uoregon.edu!gatech!news.cse.psu.edu!uwm.edu!lll-winken.llnl.gov!nntp.coast.net!howland.reston.ans.net!newsfeed.internetmci.com!uuneo.neosoft.com!bonkers!not-for-mail From: "Peter A. Dinda" <pdinda@cs.cmu.edu> Newsgroups: comp.unix.bsd.freebsd.announce Subject: MacFS: A Portable Macintosh Filesystem Date: 9 May 1996 17:17:44 -0500 Organization: Carnegie Mellon University SCS Lines: 56 Sender: daemon@taronga.com Approved: peter@taronga.com Message-ID: <4mtqu8$jli@bonkers.taronga.com> NNTP-Posting-Host: localhost.taronga.com MacFS: A Portable Macintosh Filesystem Copyright (c) 1996 by Peter A. Dinda, George C. Necula, and Morgan Price Many moons ago, George C. Necula, Morgan Price, and I built a Macintosh Heirachical File System implementation with an eye towards portability. For a variety of reasons, mostly time constraints and because none of our respective research areas encompasses filesystem design and implementation, MacFS has been sitting on a shelf until now. We have decided to dust it off and make it available to the net. We hope that some young hackers with more time on their hands than we have will port it to Linux, FreeBSD, NetBSD, OS/2, NT, etc. MacFS is a complete (read/write) filesystem library which can be used to build user-level and kernel-level support for Macintosh volumes. Included in the distribution are user-level utilities (ls/cp/etc), as well as a very alpha Mach vfs (ie, vnode) built on top of the library. The code has been tested on PMAX/Mach 3.0 machines and Intel/NetBSD machines. The source code for MacFS 0.1 and a technical report describing MacFS are available via the "Programs" icon on the web page: http://www.cs.cmu.edu/afs/cs.cmu.edu/usr/pdinda/html/pdinda.html The source code is also available by ftp via: ftp://ftp.cs.cmu.edu/user/pdinda/ Please read the (very liberal) license agreement available in each of these locations. Let us know if this code is useful to you. Included below is the abstract for the tech report: We have created a Macintosh file system library which is portable to a variety of operating systems and platforms. It presents a programming interface sufficient for creating a user level API as well as file system drivers for operating systems that support them. We implemented and tested such a user level API and utility programs based on it as well as an experimental Unix Virtual File System. We describe the Macintosh Hierarchical File System and our implementation and note that the design is not well suited to reentrancy and that its complex data structures can lead to slow implementations in multiprogrammed environments. Performance measurements show that our implementation is faster than the native Macintosh implementation at creating, deleting, reading and writing files with small request sizes, but slower than the Berkeley Fast File System (FFS.) However, the native Macintosh implementation can perform large read and write operations faster that either our implementation or FFS. Peter August Dinda pdinda@cs.cmu.edu Doctoral Student, School of Computer Science, Carnegie Mellon University http://www.cs.cmu.edu/afs/cs.cmu.edu/usr/pdinda/html/pdinda.html