Interview with Dr Gary Kimura, co-developer of NTFS
Dr Gary Kimura is Professor Department of Computer Science & Engineering at the University of Washington
What was your background before you started?
I was a member of the Windows NT team, the kernel group. We also wrote FAT and HPFS for NT, for the first NT shipment.
What tools were used to create NTFS?
It was a new OS, so there were few tools. Just the usual kernel debugger. DBG.
How long did it take?
It took a few years longer than we anticipated. We had the group formation and started meetings in 1989 and the first SDK was released in 1992. So that's about 3 years
How many people were involved?
Myself, Tom Miller, Brian Andrew, and David Goebel.
What were the biggest challenges?
It was easier because we could create our own APIs, and had already hashed out FAT for NT. There were nuances for NT interfacing. The code had to work closely with the cache manager and memory manager.
NTFS self-hosted itself and that was a challenge for a file system. Unlike software where if you get corrupt memory you can just reboot. If you corrupt the file system it's a total loss. Our file system data persisted across reboots. We had to be very mindful of that.
Do you recall any particularly difficult bugs?
Nothing in particular since it was our 3rd File system under NTFS. Journaling required a lot of work. If the system crashed the NTFS recovery log had to be played back before we could continue. In that version only metadata for system files were transacted, not the user data.
Do you have any lessons learned from the experience?
In hindsight, the architecture was done for what we thought was a really big machine. A PC didn't even have 1 GB of RAM yet. Can you imagine that? The largest disk was small, not as big as today. We designed NTFS to stretch out to 64-bit but the rest of the OS wasn't designed for that yet. So they didn't have to re-architect that part.
Have you kept up with recent NTFS features?
No, not really.
What are your recent interests?
I enjoy teaching at the undergrad level. I try to embark the hard lessons learned from my own experience.
Do you have any advice for people developing operating systems today?
No technical advice. Just keep your life in balance. It is seductive work and can be all-consuming. It can consume too much of your time and life.
Do you keep in touch with the original NTFS team?
Yes, we get to together to socialize and drink beer. Once in a while I get them to come over for a guest lecture.
NTFS is complex and yet has a highly functional elegance. It has benefited from years of testing and continued development.
- PC Guide to NTFS
- PC Guide History of NTFS
- PC Guide NTFS Architecture
- Wikipedia entry for NTFS
- Paragon Software NTFS
- Soft Ambulance History of NTFS
- Toolbox for IT NTFS
- Wapedia NTFS Wiki
- Microsoft Technet Sysinternals
- Russinovich, Mark E.; Solomon, David A.; Ionescu, Alex (2009). "Storage Management". Windows Internals (5th ed.), Microsoft Press. ISBN 978-0-7356-2530-3.
- Custer, Helen, (1994) “Inside the Windows NT File System”, Microsoft Press. ISBN 155615660X.
- Ragar, Najeev, (1997) “Windows NT File System Internals : A Developer's Guide”, O'Reilly Media ISBN 1565922492.