1.7.4 文件

1.7.4 文件

文件就是字节序列,仅此而已。每个 I/O 设备,包括磁盘、键盘、显示器,甚至网络,都可以看成是文件。系统中的所有输入输出都是通过使用一小组称为 Unix I/O 的系统函数调用读写文件来实现的。

文件这个简单而精致的概念是非常强大的,因为它向应用程序提供了一个统一的视图,来看待系统中可能含有的所有各式各样的 I/O 设备。例如,处理磁盘文件内容的应用程序员可以非常幸福,因为他们无须了解具体的磁盘技术。进一步说,同一个程序可以在使用不同磁盘技术的不同系统上运行。你将在第 10 章中学习 Unix I/O。

旁注 Linux 项目

1991 年 8 月,芬兰研究生 Linus Torvalds 谨慎地发布了一个新的类 Unix 的操作系统内核,内容如下。

来自:torvalds@klaava.Helsinki.FI(Linus Benedict Torvalds)
新闻组:comp.os.minix
主题:在 minix 中你最想看到什么?
摘要:关于我的新操作系统的小调查
时间:1991 年 8 月 25 日 20:57:08 GMT

每个使用 minix 的朋友,你们好。

我正在做一个(免费的)用在 386(486)AT 上的操作系统(只是业余爱好,它不会像 GNU 那样庞大和专业)。这个想法自 4 月份就开始酝酿,现在快要完成了。我希望得到各位对 minix 的任何反馈意见,因为我的操作系统在某些方面与它相类似(其中包括相同的文件系统的物理设计(因为某些实际的原因))。

我现在已经移植了 bash(1.08) 和 gcc(1.40),并且看上去能运行。这意味着我需要几个月的时间来让它变得更实用一些,并且,我想要知道大多数人想要什么特性。欢迎任何建议,但是我无法保证我能实现它们。 :-)

Linus (torvalds@kruuna.helsinki.fi)

就像 Torvalds 所说的,他创建 Linux 的起点是 Minix,由 Andrew S. Tanenbaum 出于教育目的开发的一个操作系统[113]。

接下来,如他们所说,这就成了历史。Linux 逐渐发展成为一个技术和文化现象。通过和 GNU 项目的力量结合,Linux 项目发展成了一个完整的、符合 Posix 标准的 Unix 操作系统的版本,包括内核和所有支撑的基础设施。从手持设备到大型计算机,Linux 在范围如此广泛的计算机上得到了应用。IBM 的一个工作组甚至把 Linux 移植到了一块腕表中!