打字猴:1.70043592e+09
1700435920
1700435921 早期的手册页往往每个命令就真的只有一页,这在如今已不常见。除了简洁,还有几个特点在当时来说也很新颖。例如“缺陷”部分,它坦承程序会有缺陷,或谓“特性”,即使不能立即修复,至少也该记录下来。
1700435922
1700435923 cat命令50年来没有变过,只添加了很少的可选(也许并不必要的)参数,修改了其操作行为,它仍然是Unix核心命令之一。在Linux、macOS或Windows Subsystem for Linux(WSL)终端窗口中输入下列命令,可以查看它现在的状态:
1700435924
1700435925 $ man cat
1700435926
1700435927
1700435928
1700435929
1700435930
1700435931 当然你也可以使用man命令本身来查看man命令的手册页:
1700435932
1700435933 $ man man
1700435934
1700435935
1700435936
1700435937
1700435938
1700435939
1700435940
1700435941
1700435942 UNIX传奇:历史与回忆 [:1700434686]
1700435943 UNIX传奇:历史与回忆 3.4 存储略谈
1700435944
1700435945
1700435946
1700435947
1700435948
1700435949
1700435950
1700435951 年轻读者可能会怀疑前文提及的内存大小不准确。例如,IBM 7090或7094拥有32K(32 768)个36位字长的内存;肯用过的原版PDP-7拥有8K(8 192)个18位字长内存,也就是7090内存的大约八分之一;第一台PDP-11拥有24 KB主存储器和半兆硬盘。我的2015年版MacBook Air有8 GB内存(超过33万倍)和500 GB的硬盘(50万倍),价格不过1 000美元。
1700435952
1700435953 简而言之,以当下标准看,那时的计算机内存很小。现在主存储器动辄以GB计,硬盘以TB为单位,而且既便宜又小巧,被广为使用。但在20世纪60年代和70年代早期,存储技术和现在可不太一样。那时的计算机的主存储器由一系列甜甜圈形状的铁氧体细小磁芯构件组成。制造工人手工将导线穿过磁芯,将它们连接起来。每个磁芯都可以用两种方式进行磁化(如顺时针或逆时针),因此能够代表1个信息位,8个磁芯就是1字节。
1700435954
1700435955 磁芯内存非常昂贵,因为制造它需要高度熟练的手工劳动。它也很笨重。图3-12显示了一个16K bit(2KB)的磁芯内存,在1971年,它大概要卖1.6万美元,即每位接近1美元。
1700435956
1700435957
1700435958
1700435959
1700435960 图3-12 磁芯内存;16K bit, 2KB ( ~5.25英寸,13厘米)
1700435961
1700435962 内存往往是计算机中最昂贵的部件。每个字节都很珍贵。程序员受内存资源约束,得随时清楚使用了多少内存,有时不得不采取讨巧和冒险的编程技术来将程序放入可用内存中。
1700435963
1700435964 Unix擅长高效利用计算机的有限内存。这首先得归功于像肯和丹尼斯这样天赋异禀的程序员,他们知道如何节省内存。
1700435965
1700435966 其次,这些天才找到了实现通用性和统一性的方法,于是就能用较少的代码完成更多任务。有时这得靠巧妙的编程手段,有时是拜更好的算法所赐。
1700435967
1700435968 汇编语言也厥功至伟,相比高级语言,它能让指令执行得更快,使用更少内存。只有到了20世纪70年代,基于半导体和集成电路的新内存技术变得普遍,程序员才负担得起使用C之类高级语言所需的额外开销(这些开销虽然不特别高,但也得仔细盘算)。
1700435969
[ 上一页 ]  [ :1.70043592e+09 ]  [ 下一页 ]