文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

为什么Unix不用功能更强大的C++而是用C编写

2024-12-24 15:08

关注

C的起源与Unix OS的开发紧密相关。当团队将Unix移植到PDP-11时,它仍在组装中。汤普森(Thompson)和里奇(Ritchie)希望在系统编程中使用高级语言,以使程序员可以清晰地表达概念,而不必与一台计算机的体系结构绑定,但要使效率很高。Unix使用高级语言实现,因此打破了这样一种观念,即必须使用汇编语言来编写系统,并且该系统必须与特定的计算机设计,字长或体系结构相关联。并且首次将包括文件系统,内核,应用程序包,实用程序和用户界面在内的整个编程环境移至完全不同类型的机器上。

汤普森(Thompson)和里奇(Ritchie)早在1969年就已经开发了一种称为“ B”的编程语言,它实质上是BCPL的简化版本。基本上,BCPL去除了不必要的组件,以使实现适合当时的小型计算机的存储能力(BCPL是CPL的简化,其本身是Algol 60的简化)。汤普森和里奇正在考虑使用B语言重写Unix。但是,B无法利用PDP-11的某些功能,尤其是字节寻址能力,导致了“ C”编程语言的发展。C的名称被简单地选择为B之后的下一个字母。

C的开发始于1972年的PDP-11 Unix系统,最早出现在Version 2 Unix中。Unix的很大一部分都用C重写了。来自Unix开发的反馈对C语言的开发很有帮助。C语言“与系统重写之一融合在一起,因此,它非常适合编写系统”。到1973年,由于增加了“结构”类型,C语言已经变得足够强大,以至于现在大多数Unix内核都使用C语言。Unix成为第一个使用非汇编语言实现的OS内核之一。

Unix最初是在1973年操作系统原理专题讨论会上正式向外界介绍的,Ritchie和Thompson在那里发表了一篇论文。这导致了对系统的要求,但是根据1956年的和解协议,在解决反托拉斯案件中,AT&T(贝尔实验室的母公司)被禁止从事除“公共运营商通信服务”之外的任何业务。因此,Unix无法变成产品。贝尔实验室转而以媒体和运输成本来运送系统。

但是在此之前,Unix仍然只能在DEC系统上运行。随着更多的操作系统用C语言重写(并扩展了C语言以适应这种情况),可移植性也有所提高。1977年,贝尔实验室购买了Interdata 8/32,其目的是将Unix移植到与PDP-11尽可能不同的计算机上,从而使Unix在此过程中更加独立于机器,从而实现了汤普森的OS可移植性梦想。所有专用于PDP-11的代码都已从内核中删除并进行了重写,以使Unix的传输变得容易。在进行Interdata测试之后,他们将Unix移至IBM / 370大型机。通过每次试用,他们了解了有关C,Unix和一般可移植性的更多信息。逐渐地,Unix被移植到许多其他硬件系统上,包括基于Intel 8086的计算机,UNIVAC 1100等。

来源:今日头条内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯