1700435520
load length multiply width store area
1700435521
1700435522
1700435523
1700435524
1700435525
1700435526
最终,称为汇编器(assembler)的程序把该序列转换为人类不易读懂的指令。这些指令能够被载入计算机的主存储器。执行时,它们根据长和宽算出面积。当然这里没谈及很多细节(如何指定编译和加载,如何让长和宽的数值进入计算机,如何输出面积数值,等等),但本质大抵如此。
1700435527
1700435528
如果你想看看可工作的示例,以下这段完整的C语言程序输入长和宽,输出面积:
1700435529
1700435530
void main() { float length, width, area; scanf(“%f %f”, &length, &width); area = length * width; printf(“area = %f\n”, area); }
1700435531
1700435532
1700435533
1700435534
1700435535
1700435536
这段程序能在任意一台计算机上编译和执行。
1700435537
1700435538
每个人都至少知道Windows或macOS这些现代操作系统的名字,手机上运行的是Android和iOS等操作系统。
1700435539
1700435540
操作系统是控制计算机的程序,它给正在运行的程序分配资源。它管理主存储器,当运行中的程序有需要时,将主存分配给它们。在台式计算机或笔记本式计算机上,操作系统让你能够同时运行浏览器、文字处理器、音乐播放器,或许还有我们的面积计算小程序,并且按需任意切换到其中之一。
1700435541
1700435542
操作系统也控制显示,在收到程序请求时,使其在屏幕上可见。它还管理磁盘之类存储设备,当你保存Word文档时,文档就会被存下来,以备之后恢复并继续工作。
1700435543
1700435544
操作系统还负责协调与互联网之类的网络进行通信,这样你就能用浏览器搜索、与朋友联络、购物、分享宠物猫视频,一切齐头并进。
1700435545
1700435546
在程序发生错误时,操作系统保护其他程序不受影响,还要防止有害程序或用户误操作对系统自身造成的危害。
1700435547
1700435548
手机上的操作系统也是如此工作的。在底层,需要做许多动作来维持经由移动网络或无线网络的通信。虽然细节常有不同,但手机应用与Word这样的程序在概念上完全一样,并且用同样的编程语言编写。
1700435549
1700435550
现今的操作系统程序体量庞大,纷繁复杂。在20世纪60年代,它简单得多,但相对于同时代的其他程序,它还是既庞大又复杂。一般而言,IBM或DEC(Digital Equipment Corporation,美国数字设备公司)等计算机制造商为各种不同硬件提供操作系统。每个制造商生产的硬件全无共通之处,有时甚至来自同一厂商的硬件都会有很大不同,所以操作系统也各自不同。
1700435551
1700435552
更加麻烦的是,操作系统用汇编语言写成。汇编语言是人能读懂的机器指令,与特定类型硬件的指令集紧密相关。每种计算机都有自己的汇编语言,所以操作系统是庞大且复杂的汇编语言程序,每个操作系统都针对特定硬件、使用特定语言编写。
1700435553
1700435554
系统之间缺乏共通性,使用相互不兼容的低级语言,导致同时需要多个版本的程序:为某一操作系统编写的程序,在移植到其他操作系统或硬件架构上时,必须完全重写。这种状况阻碍了进步。如后文所述,Unix操作系统在所有类型的硬件上都保持一致,而且用较高级的语言写成,只需付出相对较少的成本,即可从一种计算机移植到另一种计算机。
1700435555
1700435556
1700435557
1700435558
1700435560
UNIX传奇:历史与回忆 2.2 CTSS和Multics
1700435561
1700435562
当时最有创造性的操作系统是麻省理工学院于1964年推出的CTSS(兼容分时系统)。在那个时代,大多数操作系统都采用“批处理”技术。程序员将程序打到穿孔卡上(那是很久以前的事了!),交给操作员,然后苦等几小时甚至几天,等待结果出来。
1700435563
1700435564
穿孔卡用高品质硬纸制成,每张卡片能保存最多80个字符,容纳一行程序的内容。6行C语言程序得用6张卡片,如果要修改代码,就得替换卡片。图2-1展示了一张80列标准卡片。
1700435565
1700435566
1700435567
1700435568
1700435569
图2-1 穿孔卡,187.325 mm×82.55 mm
[
上一页 ]
[ :1.70043552e+09 ]
[
下一页 ]