For Mac geeks of a certain persuasion, the first mention of a soon-to-be-revealed feature of Leopard during the WWDC keynote set off a mental chain-reaction. That feature was Time Machine, and the name alone was enough to cause one particular phrase to hammer in the mind of many people, including me: “New file system in Leopard!” It was even a bingo square. In fact, it was my personal favorite bingo square, and the one that I most looked forward to marking.
Time Machine and the Future of the File System
About The Author
Ex-programmer, ex-editor in chief at OSNews.com, now a visual artist/filmmaker.
Follow me on Twitter @EugeniaLoli
2006-08-17 1:55 amorestes
But Apple wouldn’t have had enough time to implement it yet
Why not? They apparently had time to implement DTrace for this release. Surely porting ZFS couldn’t be that much more difficult to do.
2006-08-17 2:53 amtaos
First, the DTrace port is not complete yet.
Then, to get a little idea of how much it takes to design and implement a filesystem like ZFS, I recommend read this blog:
and of course ZFS is still evolving, there’re still improvements need to be done even on Solaris.
Because it’s Open Source (CDDL), Apple can study the design, read the code, and port it into OSX, which apparently would be much easier and take less time than it was for Sun.
Even so, to (just) port such filesystem to a different kernel is a huge task.
Filesystem is one of those things that need to be truly Rock Solid. Given occasional data loss or system crash, I’ll take the latter anytime!
Bear in mind at this point the DTrace port is still partial. To my knowledge they’ve ported some but not all of DTrace’s providers so far, though most notably FBT is present. Also ZFS would be somewhat more tricky because of how it needs to interact with the VFS and a few other subsystems of the kernel which are *very* different animals in Darwin than they are in Solaris.
Browser: Mozilla/5.0 (Danger hiptop 2.0; U; AvantGo 3.2)
2006-08-17 1:17 pmDuffman
Bear in mind that there is almost one year before Leopard is shipped. Time enough for Apple to finish the port of Dtrace on Mac OS X.
I know Leopard will have more in its release than what’s being shown, but its pretty clear that those “secret features” will not include a new file system. New UI, sure. New Finder, sure. New file system? Highly doubtful. Leopard is supposed to put Vista to shame, but it can’t do that with an 8 (20) year old file system. Time machine is great, but its not for us laptop users, which is becoming a larger segment of Apple’s market.
Time machine looks cool in a demo, but Core Animation and to a lesser extent ichat/ical/mail are going to be the big hits in Leopard. Time machine will be used even less than the dashboard is now. Which reminds me, the dashboard will be much more useful with this dynamic widget built into safari. I can already think of several things that i would set up as very useful widgets.
I bet people wish they had spaces on their windows boxes at work so they could quickly swap out of minesweeper
2006-08-17 12:05 pmSK8T
even a 20 years old filesystem (HFS+) can be better than a younger filesystem (NTFS).
And Vista is still using NTFS, so Leopard isn’t need to shame.
2006-08-17 12:50 pmCPUGuy
NTFS is perfectly capable filesystem, was actually advanced for it’s time, and has been updated regularly with each Windows release (NT4, 2000, XP, and even in Vista).
2006-08-17 7:34 pmTuishimi
If anything it is underused by Windows.
2006-08-18 4:33 amCPUGuy
2006-08-17 7:36 pmTuishimi
HFS+ is not 20 years old… it is an updated version of HFS and, if I am not mistaken, HFS+ is only about 9 years old. But if a file system works, and modifications (feature additions) can be made over time that make it work better, why bother with a major FS swapout.
2006-08-18 5:38 am
2006-08-18 4:22 pmChristOff
And how do you, mac zealot(s), somewhat prove that your so-beloved file system is better in anyway than ntfs? Of course, please don’t redirect to one of the many apple advertisments or “heard of”‘s…
If you look at the link posted by “xpclient”, refering to wikipedia, you’ll see what I mean…
2006-08-17 12:49 pmCPUGuy
You can usuing Virtual Desktops, which OSX is just now getting with Leapord.
Edited 2006-08-17 12:51
In OS2200 we call it cycling. You can have multiple versions of a directory or a file, differentiated only by directory cycle or file cycle number.
The cycle is a flexible method for maintaining different versions of a file with the same name. When a filename is cataloged (created for the first time), one of the parameters you can set is the maximum number of cycles to retain for that file (a value from 1-32). When a new cycle (instance) of that file is created, it is assigned to the next available cycle number, and once the max defined number of cycles is reached the lowest one for that file is deleted when the next one is created.
There are two ways to reference a file cycle: absolute cycle number, and relative cycle number.
The “absolute cycle number” is the actual cycle number associated with that version of a file.
If FOO was created in such a way that only three cycles are retained, then the first incarnation would be FOO(1), the second FOO(2), and the third FOO(3). The fourth would be FOO(4) as you would expect, but FOO(1) would be removed at that point by the system, leaving FOO(2), FOO(3), and FOO(4) as the remaining three cycles of that file.
At some point the number wraps around (I don’t remember where, but I think it’s 999 these days).
The “relative cycle number” is a way to reference the current and previous cycles of a file by specifying an offset relative to the latest cycle.
FOO(0) references the most recent one, FOO(-1) the second most recent, etc. Thus, FOO(-1) would reference FOO(3) in the above example (assuming 2/3/4 were the active cycles).
If no cycle is specified for FOO, then FOO(0) is assumed.
Specifying FOO(+1) on a copy statement or whatever creates a new cycle of a file. In the above example, copying something to FOO(+1) would create FOO(5) and delete FOO(2).
It’s very common practice on Unisys 2200 or Clearpath IX/Dorado mainframes to create logfiles this way — you don’t need to know the specific cycle number in order to reference the latest one, and the cycles are automatically deleted once the max number of cycles (defined when initially creating the file).
NTFS is just like everything else in windows: it has lots of tacked on features, but its a mess
I was thinking of ZFS as well, especially given the interest some Apple developpers seemed to have in ZFS a while back.
A delta-based filesystem would be ideal for something like Time Machine, and the technical superiority/advanced features of ZFS is something that appeals strongly to Apple users.
But Apple wouldn’t have had enough time to implement it yet (but it might show up 1 version from now), and another article noted Time Machine uses a second harddisk to make snapshots of the first (or at least half a disk), from what I remember reading.