BSD学习(BSD系统的历史和目标)

  1. UNIX系统的历史


unix系统的发展历程大概经历以下几个阶段:

  • 贝尔实验室(Bell Laboratories)阶段,该实验室发明了UNIX
  • 加州大学伯克利分校(University of California at Berkeley简称UC Berkeley)的计算机系统研究小组(Computer Systems Research Group,简称CSRG),CSRG赋予了UNIX系统虚拟内存机制和TCP/IP参考实现;
  • FreeBSD项目组,NetBSD项目组和OpenBSD项目组阶段,这几个项目组继承了CSRG所开创的工作。
  •  作为Apple公司OSX系统核心的Darwin操作系统阶段,这个操作系统是以FreeBSD操作系统开发出来的。

  UNIX系统的第一个版本诞生于1969的贝尔实验室,这个版本是Ken Thompson的个人研究项目。不久以后Dennis Ritchie也加入了进来,他不仅为系统做出了系统贡献,还发明了c语言,unix系统后来用C语言进行重写,只留下少数的汇编语言。

这个版本的unix系统文件系统的基本构成,采用了一个用户进程作为命令行解释器的思想,文件系统的通用结构,以及许多别的系统特性都直接源于他。此外,UNIX还融入了许多其他操作系统的思想,比如MIT( Massachusetts Institute of Techology)的CTTS系统。UNIX里的创建进程的fork操作则源于伯克利的GENIE操作系统。UNIX让用户不用花费多大的开销就能创建进程,于是每条命令就是一个进程,而不会要命令作为过程调用来执行。

  UNIX系统的第一批重要的版本是贝尔实验室Research小组开发的系统。此时的UNIX系统与当时其他的系统重要的区别有:

  • UNIX采用高级语言(c语言)编写。
  • UNIX以源代码的形式发布。
  • UNIX系统有强大的原语(primitive),它们往往只会在那些要依托更为昂贵硬件设备才能运行的操作系统中才能看到。

此外UNIX的另一个重要特点是,它一开始就以源码的形式从贝尔实验室向其他研究机构提供。使其他研究机构也能够深入地研究和修改该系统。这就是UNIX能够很容易的吸收新思想,从而根据时代变化作出相应的调整。从而使UNIX系统得到最新的思想和技术的补充。UNIX在不断演化过程中远远超越他的初始版本。

  UNIX的第三个重要特点是他赋予了个人用户的一种能力,即可以并发的运行多个进程,并将这些进程关联起来构成命令的管道线(pipeline)。

  在UNIX的第七版之后,USG(UNIX Support Group)的第一个对外发布版本是1982年的UNIX System III(简称System III)。该系统融合了第七版,32V以及Research小组以外以他机构所开发的UNIX系统的特点。USG演变为USDL(UNIX System V,Release4) 向System V引入了调页机制(paging)。在1987年发布了UNIX SVR3(UNIX System V,Release 3)。这个版本包括流机制(streams)。

  除了贝尔实验室和AT&T UNIX开发小组之外,最具影响力的研究机构要算加州大学伯克利分校。伯克利的软件叫做BSD(Berkeley Software Distributions,伯克利软件发布)。伯克利VAX UNIX的第一项工作是在32V版本上增加了虚拟内存(virtual memory),请求调页机制(demand paging)和页面替换技术(page replacement)。4BSD的重点是为DARPA的Internet网络协议TCP/IP提供支持。

  2.BSD和其他系统

  CSRG在BSD中不仅融入了UNIX系统的技术,也吸收了其他操作系统的思想。4BSD的终端驱动程序有许多功能来源于TENEX/TOPS-20。作业控制(job control)这一概念(不是实现)源于TOPS-20和MIT的ITS(Incompatible Timessharing System)。最早在4.2BSD上提出,而最终在4.4BSD上实现的虚拟内存接口,是以受限在TENEX/TOPS-20上出现的文件映射和页面级接口为基础。FreeBSD目前的虚拟内存系统则借鉴了Mach系统--4.3BSD的一个分支。在CSRG的设计中,搞笑总是被当做一个首要的因素而给予优先考虑。而其他的系统也借鉴了4BSD的特色比如:

  • 作业控制
  • 可靠信号
  • 多个文件访问权限组
  • 文件系统接口

  4BSD套接口进程间通讯机制在设计上具有良好的可移植性。

  公共域区处理软件包(public-domain time-zone-handing package)就是一个由用户群开发的出工具软件的现实例子,4.3BSD Tahoe 采用了这个软件包。

  1989年6月,BSD的连网代码和支持工具发布,它叫做Networking Release 1,这是伯克利第一次提供可以自由重新发布的代码。这次的许可证条款相当慷慨,他容许以源代码或者二进制代码的形式发布已修改或者未修改过的代码,而且不用向伯克利支付费用,唯一的要求是,保持源代码文件中版权声明不动,并且在采用这些代码的产品文档中说明该产品包含了加州大学和许多无私奉献者提供的代码。

  

  

 

 

转载于:https://www.cnblogs.com/hepeilin/p/3328699.html

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值