操作系统与c语言
Posted 专注互联网系统开发
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统与c语言相关的知识,希望对你有一定的参考价值。
以下是根据看书后的理解做的总结:
最早,unix是使用汇编编写,但是非常简单。后来觉得汇编,换种机器又得重新用另外一种机器汇编重写,太麻烦。于是想设计一种通用的语言,到各种机器上都能运行 当时发明了b语言,但是b语言并不成功(据说是很多缺陷,缺乏数据结构),后来者在此基础上改进,发明了c语言。使用c语言重写unix,后来c语言就成为一种编写操作系统的语言了。当时有c语言编译器,使得转化成机器语言很容易。
现在终于明白了,为什么以前看的资料说:c语言是为了编写Unix操作系统而发明的语言。 当时其实存在了这个操作系统,但问题是它使用汇编编写,移植到新机器又得重新写用新的汇编实现。后来有了c语言这样通用的语言、
现在终于明白了,为什么以前看的资料说:c语言是为了编写Unix操作系统而发明的语言。 当时其实存在了这个操作系统,但问题是它使用汇编编写,移植到新机器又得重新写用新的汇编实现。后来有了c语言这样通用的语言、
为什么操作系统的编写,一部分还要使用汇编呢?
因为硬件,两台电脑的硬盘不可能完全一样的方式工作,驱动程序是用c编写,驱动编译好后放到新机器无法工作的,所以要重新写,只能用对应机器的汇编编写。
Unix的网络的发明,原来都是出于解决实际问题需要产生。
最初发明是在一台废弃的pdp-7上。后来unix都是运行在pdp-11上。
当时要把unix移植到一种新型机器interdata上,当时pdp-7在一楼,interdata在五楼,每次都要编译好后,去五楼的interdata机器上调试,这样折腾了几个月后,感觉很麻烦。于是发明的网络。这个时候是局域网。
现在明白posix的真实含义了:
pos是可移植操作系统的简称。ix是unix的后面两个字母。合起来就是可移植的unix系统。
posix实际上是一个标准。并不是指特定的东西。就是工业界的iso9001标准,iso9001是一个标准。
posix标准,是为了给所有市面上大家开发的unix制定一个标准。之所以要制定一个标准约束。因为,每个人是可以拿到源码进行修改,于是当时的unix版本很多。于是迫切地需要一种统一的标准。
unix的开源过程是怎样的?
当时,贝尔实验室的发明了unix。在一台废弃的pdp-7机器上。后来公开发布了unix的论文。使得许多大学纷纷向实验室索要unix的拷贝。
当时贝尔实验室的母公司-AT&T,因为受到垄断法的管制,是不能经营计算机业务的。所以他们愿意大学支付适当的费用获取unix的源码。后来一些商业公司愿意花钱购买unix的源码进行修改,修改成自己的版本来发布。当时其实微软也花钱购买了unix,以xenix的名义出售版本7好几年了。
AT&T公司后来发布unix版本,进行商业化(因为通过了政府的拆分,允许设立子公司来经营计算机业务)。但是失败了,没有受到市场很大的反响。最终在1993年决定卖给novell,novell在1995年又卖给了santa cruz operation公司。
那个时候很多公司拥有了unix的许可证。
linux的出生
当时有minix。这个系统是一个类unix系统。它的特点是,微内核。如何解释这种微内核呢?
当时的很多人要求在minix上增加功能,得不到响应。越来越不满。当时又没有freebsd。
后来,当时的linux作者,就参考了minix的源码,对它进行了重构一次。唯一不同的是,它是使用整体设计方式。搞不清楚是怎么样的。是开发操作系统的方式不同。
1991年的时候发布一个版本。
加州大学伯利克分校早期获得了unix第6个版本的源码,他们自己修改源码进行发布,这就是著名的freebsd系统。
以上是关于操作系统与c语言的主要内容,如果未能解决你的问题,请参考以下文章