File System Improvements in a Half Century

In summary, file systems have been around for a long time, but the features available have remained relatively the same.
  • #1
Vanadium 50
Staff Emeritus
Science Advisor
Education Advisor
2023 Award
33,294
19,813
Triggered by the restore data from a deleted file thread, I was thinking about what improvements have been made in file systems in the last 50 or so years, What was not present in Multics or ITS or early unix..."

I'm not talking about capacity limits. At the birth of the PC, one could have build FAT that would have worked on today's disks - a million times bigger - but what would have been the point?

I can think of three candidates:
1. Sparse files
2. Deduplication
3. Copy-on-write

Sparse files are definietly a niche. Copy on write can promote fragmentation, which was an issue back in the day, so I could understand why it didn't happen. ("You want me to do what?") Deduplicaton is a good ides when it is, and a very very bad idea at other times.

But I can't think of anything else. It's as if all the progress in CS kind of sidestepped the file systems.
 
Technology news on Phys.org
  • #3
Interesting question, I never knew how files were stored on mainframe disks. I knew they used terms like blinks and links for storage size and that lowlevel random access was used to get data. This implied a table that managed the available sectors, their order and platters one could write on.

There was no notion of undeleting files. You could do file recovery though where a tape could be mounted to get an old copy of a file. You had to request it through the computer center help desk And they did the magic recovery.

source code management for programs was done via card decks and mag tape with special control cards indicating what program to alter and what lines were to be replaced. This usually meant changes were seldom, small and required program redesign after the changes became unmanageable.

more on Multics a 1965 paper

https://multicians.org/fjcc4.html
 
Last edited:
  • #5
berkeman said:
Wear leveling for media that have limited endurance (like flash)..
That's good. I originally thought of that as SSD firmware, but you need the file system to tell the drive what can and can't be trimmed.

Filip Larsen said:
Wikipedia has a nice list
But most of those features have been around for a very long time.

jedishrfu said:
I never knew how files were stored on mainframe disks
I remember allocating blocks by hand. You'd tell the system you needed N blocks and it would give you the space. You could give it a mnemonic alias, but that was the closest thing to a file name.
 
  • #6
Vanadium 50 said:
what improvements have been made in file systems in the last 50 or so years, What was not present in Multics or ITS or early unix..."
How about journaling filesystems? IIRC those didn't come into use until the 1990s.
 
  • Like
Likes berkeman and Vanadium 50
  • #7
I think I was using IBM JFS, at least a beta version, in the late 80's.. But I don't think JFS was the first. CICS had a ROLLBACK command, and I think Tandem had something similar.

But I think there is some new feature related to this: snapshots. That uses journaling in a very different way.
 
  • #8
Wow, those bring back memories of IDS and ISP databases. IDS was the hot baby at the time with very fast lookup but had the problem getting entangled in its own data and requiring a custom program to unload it and reload it.

ISP for Indexed Sequential Processing (GE name // IBM used ISAM) was a simpler paged database where each as records were added they were inserted into a page and when the page got full a new overflow page was allocated and linked to and the record was written there.

A standard utility could follow the records sequentially offloading them to tape and later reloading them back onto pages. A percentage was used to indicate how full a page should allowing for a nominal number of record inserts before an overflow page was allocated.
 
  • #9
Vanadium 50 said:
But most of those features have been around for a very long time.
Yes, it was mainly just to have a nice overview of existing file systems in use. Last I tried, some years ago, to get up to speed on new advanced features of newer file systems I seem to recall ZFS being prominent on the list for its inclusion of most advanced features at that time, and it seems to still be the case.

I am no expert, but it somewhat seems file system technology has kind of stabilized and its difficult to imagine disruptive new features being added. Storage innovation last decade or so has mostly seemed to be oriented towards cloud and network storage technologies and less towards features for the "stand-alone" OS file system.
 
  • #10
Vanadium 50 said:
Triggered by the restore data from a deleted file thread, I was thinking about what improvements have been made in file systems in the last 50 or so years, What was not present in Multics or ITS or early unix..."
I have been writing code professionally for more than 50 years, so...

The first improvement is that there are file systems. Fifty years ago, it was normal to allocate disk cylinders to different tasks as a method of optimizing seek times. I had a coworker who told me that his old boss told him to only access the disk through a subroutine the boss had written - because the hardware supported the feature of seeking to more cylinders than were available. I called that "lathe mode".

On the IBM1620 we had at Lowell Tech, the 10Mbyte hard drive was arranged with code and a files area, but students were expected to keep their code on card decks and their output to printed form - paper tape was also available.

You mentioned "sparse files". In the '70's and early '80's, some systems would support B-Tree style random access files. So you could skip the file pointer around on writes and it would only allocate for sectors that were required.

As systems became multi-processing, with two or more processes writing to disk at the same time, the file systems needed to become re-entrant - and the file structures and system needed to mediate between applications that had no means of cooperation.

It's hard to separate file system changes from the changing requirements created by different hardware. The file systems are expected to handle fragmentation issues on their own. To guarantee a contiguous file, 50 years ago, you could allocate a file size before writing to it. Now, with SSD, it's not even an issue. The cost of fragmentation is imperceptible.
 
  • Like
Likes berkeman and Filip Larsen
  • #11
That's a very good point that problems today are different. Compared to ~40 years ago, CPUs are maybe 50,000x faster, but memory only 10x. Spinning disks are a million times bigger but only 1000x faster.

The same technology can serve different purposes. Back then, we compressed data to save space. Today we do it to save time. The reason I compress my data is not to get 10% more capacity - it's to get better speed: 10% more cache hits and 10% faster transfer times.
Filip Larsen said:
ZFS
I like ZFS. I run it at home. I suspect that there is little it can do that GPFS can not (except maybe be run at home in a practical manner)
 
  • Like
Likes Filip Larsen

1. What is a file system?

A file system is a method of organizing and storing data on a computer. It provides a structure for how data is stored, retrieved, and managed on a storage device such as a hard drive or solid-state drive.

2. What improvements have been made to file systems in the past 50 years?

Since the early days of computing, file systems have evolved significantly. Some improvements include increased storage capacity, faster access times, better data security, and support for larger file sizes and types.

3. How have file systems adapted to new technologies?

With the rise of cloud computing and virtualization, file systems have adapted to support distributed and remote storage. They have also incorporated features such as data replication and data deduplication to improve data management and accessibility.

4. What impact have file system improvements had on computer performance?

The improvements in file systems have greatly impacted computer performance. With faster access times and more efficient data organization, file systems have contributed to faster boot times, quicker data transfer rates, and overall better system responsiveness.

5. What challenges do file systems still face in the future?

As technology continues to advance, file systems face challenges such as managing ever-increasing amounts of data, ensuring data privacy and security, and adapting to new storage technologies. They must also address the need for compatibility and interoperability between different systems and devices.

Similar threads

  • Electrical Engineering
Replies
14
Views
1K
  • Computing and Technology
Replies
9
Views
2K
  • Programming and Computer Science
Replies
15
Views
16K
Replies
10
Views
2K
  • Programming and Computer Science
Replies
29
Views
3K
Replies
14
Views
2K
Replies
12
Views
2K
Replies
13
Views
2K
  • Computing and Technology
Replies
6
Views
8K
Back
Top