90后空巢老码农
分类: LINUX
2017-01-06 23:40:45
由于最近在看《Linux/UNIX系统编程手册》这本书,看着挺厚,为了避免自己学一个忘一个,本人会不定期的分享一些读书笔记,仅供大家参考,如有说的不对的地方,请各位不吝赐教;如果觉得本人写的还凑合,需要转载,请注明出处就好,这样如果将来有人指正,我也能够学习一下,下面进入正题。
今天简单先介绍一下UNIX和C语言的历史部分。
C语言以及UNIX的产生要归功于一个失败的项目—MULTICS,全称 Multiplexed Information and Computing Service(现在貌似明白为什么UNIX要全部大写,而Linux只要首字母大写了。。。)。此项目于1969,由通用电气、麻省理工学院以及贝尔实验室联合创立,旨在建立一个经济实用的操作系统,但以失败告终。但是这个项目却成了总结工程教训的宝库,好多现在操作系统的概念都源于MULTICS。
在大部分贝尔实验室的人员都退出之后,其中一名叫Ken Thompson的人用汇编语言(还会编汇编么??)在PDP-7上写了一个简易的新型操作系统,1970年AT&T的工程师们在PDP-11上以汇编语言重新写了这个操作系统,这个系统被Brian Kernighan(The C Programming Language 作者)称作UNIX以自嘲MULTICS中获得的教训。下图描述了早期C、UNIX和相关硬件系统的关系。
间接的,我们从C语言的起源就不难看出为什么C在在驱动开发以及嵌入式系统开发当中占有的比例比较高了,因为创建C语言的目的非常单纯:为实现UNIX内核以及相关软件而开发的一种高层语言。
参考书籍:
《C专家编程》 Peter Van Der Linden著, 徐波译,人民邮电出版社
《Linux/UNIX系统编程手册》 Michael Kerrisk著, 孙剑 许从年 董建 孙余强译,人民邮电出版社