It may seem strange to us today, but in the context of the day, one of the
most radical ideas in Unix was the concept of a file as an array of bytes,
with lines separated by newline characters. Most mainframes had file
systems that were more or less decks of cards on disk (at one point, the
Bell Labs computing centers estimated that 2/3 of the disc was taken up
with trailing blanks. Layered on top of this was a bit of cruft that
also made the file look like a magnetic tape holding punch card images.
So files had "blocking factors" (how many cards in a contiguous block of
disc).
In the GE (later Honeywell) time sharing system, to create a file, you
entered a subsystem which asked you nearly a dozen questions (name,
initial size, maximum size, device, permissions, etc.) and stored up your
answers and finally did a system call to create the file. The usual
result was that something was wrong in your answer to question 5 and you
had to do the whole dance over again from the top. If you managed to
create a file, the subsystem congratulated you by printing:
Successful!
In this world, typing
echo hello Joe >foo
in Unix, and thereby creating a file, seemed like a miracle -- typically a
first-timer's jaw would drop when I said we had created a file named foo
and showed them that it had contents. Their response was typically about
30 seconds of "But... but.... but... but..." followed by a blinding grin
when they "got it".
Steve
That's
being unfair to filesystems. You can't call what you got with
OS/360 a "filesystem". IMHO, a filesystem needs more than a way to
associate a name with a manually-allocated region of DASD.
--
Peter Jeremy