操作系统的结构及发展历史

 

操作系统的结构

硬件设备 -- kernel --- 应用程序

                           --- 库文件(system call)—— 普通文件(比较特殊:shell「管理人员与系统的交互」)

 

大部分普通进程都不能直接通过system call调用硬件资源,它们需要借助库文件

Windows下的库文件为 .dll文件

Linux下的库文件为 .os文件

 

交互:管理人员与系统间的交互(shell是Linux操作系统下最常见的交互方式)

图形交互程序在Linux系统上,也是一款普通的应用程序(可以不安装)

常见的图形程序:

KDE、GNOME、XWindows...

 

操作系统的发展历史

--为了实现工作的批量化处理:贝尔实验室 、GE通用 、麻省理工大学合作完成了Mutices

  --该项目结束后,贝尔实验室和麻省理工退出该项目

    --贝尔实验室中的一个年轻的科学家肯-汤姆森为了运行space travel的游戏,向公司购买Mutices,实验室拒绝了他的请求

      --他在一台电脑中找到了 DPD-7 (DEC公司?)。基于DPD-7的操作系统,肯开发了自己的第一个操作系统Unix「汇编语言编写」。

        --1973年肯和他的同事开发了C语言「来自于B语言的改进」,用C语言重写了Unix。

          --获得了大笔奖金和一年的带薪假期后,肯来到了加州大学伯克利分校任教,在这里他开发了另一款系统BSD。

              此时,在美国市场同时销售着BSD和Unix操作系统,两者为了版权问题打的不可开交「这场战争持续了十年之久」。

              这之间,苹果和微软在悄悄的发展着...

              因为美国的反垄断法 -- AT&T公司被拆分,Unix源代码被无偿提供

              此时,三家公司「IBM、SUN、HP」发展了起来,分别开发了AIX、SUNos、HP-Unix系统「小型机市场上最常见的小型机操作系统」

                --1983年9月27日,美国的Richard Stallman发起了GNU计划「开源伊始」。

                  --1989年左右,荷兰一个大学中,一位老教授为了给学生上课,不想购买Unix操作系统,自己写了一个minix操作系统「Linux的前身」。--1991年左右,Linus「老教授的学生」在minix系统的基础之上,开发了第一款Linux操作系统「仅仅只有内核kernel」。Linus Torvalds编写出了与UNIX兼容的Linux操作系统内核并  在GPL条款下发布。Linux之后在网上广泛流传,许多程序员参与了开发与修改。1992年Linux与其他GNU软件结合,完全自由的操作系统正式诞生。该操作系统往往被称为“GNU/Linux”或简称Linux。(尽管如此GNU计划自己的内核Hurd依然在开发中,已经发布Beta版本。) 

 

内核与GNU/Linux系统的版本问题

内核版本:

        kernel

GNU/Linux版本:

        发行商版本 -- 红帽

                        -- debian --- ubuntu

常见的发行商版本:

                       -- Redhat --- 收取服务费

                       -- centos

                       -- fedora

                       -- openSUSE(欧洲)

                       -- debian(安全)

                       -- 麒麟、红旗

 

开源体系:

1、GNU:

      GNU is Not Unix GNU计划(将商业版本的软件程序进行开源的计划) GPL协定(如果你使用了GNU计划中定义的开源软件代码,就必须将对应的所有代码进行开源)

GNU计划

     又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。Richard Stallman最早是在net.unix-wizards新闻组上公布该消息,并附带《GNU宣言》等解释为何发起该计划的文章,其中一个理由就是要“重现当年软件界合作互助的团结精神”。为保证GNU软件可以自由地“使用、复制、修改和发布”,所有GNU软件都有一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,GNU通用公共许可证(GNU General Public License,GPL)。即“反版权”(或称Copyleft)概念。

----摘自《百度百科》

GNU的名字的由来:

      GNU是“GNU is Not Unix”的递归缩写。Stallman宣布GNU应当发音为Guh-NOO以避免与new这个单词混淆(注:Gnu在英文中原意为非洲牛羚,发音与new相同)。UNIX是一种广泛使用的商业操作系统的名称。由于GNU将要实现UNIX系统的接口标准,因此GNU计划可以分别开发不同的操作系统部件。GNU计划采用了部分当时已经可自由使用的软件,例如TeX排版系统和X Window视窗系统等。不过GNU计划也开发了大批其他的自由软件。

----摘自《百度百科》

GNU的历史:

      1985年Richard Stallman又创立了自由软件基金会(Free Software Foundation)来为GNU计划提供技术、法律以及财政支持。尽管GNU计划大部分时候是由个人自愿无偿贡献,但FSF有时还是会聘请程序员帮助编写。当GNU计划开始逐渐获得成功时,一些商业公司开始介入开发和技术支持。当中最著名的就是之后被Red Hat兼并的 Cygnus Solutions。
到了1990年,GNU计划已经开发出的软件包括了一个功能强大的文字编辑器Emacs[1]  。GCC(GNU Compiler Collection,GNU编译器集合),是一套由 GNU 开发的编程语言编译器。以及大部分UNIX系统的程序库和工具。唯一依然没有完成的重要组件就是操作系统的内核(称为HURD)。

----摘自《百度百科》

GNU 包含3个协议条款:


GPL:GNU通用公共许可证(GNU General Public License)
LGPL:GNU较宽松公共许可证 (GNU Lesser General Public License), ) ,旧称 GNU Library General Public License (GNU 库通用公共许可证);
GFDL : GNU自由文档许可证(GNU Free Documentation License )的缩写形式。

2、BSD:

       BSD (Berkeley Software Distribution,伯克利软件套件)是Unix的衍生系统,在1977至1995年间由加州大学伯克利分校开发和发布的。历史上, BSD曾经被认为是UNIX的一支——"BSD UNIX", 因为它和AT&T UNIX操作系统共享基础代码和设计。在20世纪80年代,衍生出了许多变形的UNIX授权软件。比较著名的如DEC的Ultrix及Sun公司的SunOS。1990年代,BSD很大程度上被System V4.x版以及OSF/1系统所取代,晚期BSD版本为几个开源软件开发提供了平台并且一直沿用至今。今天,“BSD”并不特指任何一个BSD衍生版本,而是类UNIX操作系统中的一个分支的总称。

----摘自《百度百科》

BSD简介:

       Berkeley Software Distribution (BSD,也称Berkeley Unix)。威廉·纳尔逊·乔伊(Bill Joy)于1979年在加州大学伯克利分校获得电气工程与计算机科学硕士学位  。1986年,乔伊因他在BSD操作系统中所做的工作获得了Grace Murray Hopper奖。1986年6月,BSD 4.3发布。该版本主要是将BSD 4.2的许多新贡献作性能上的提高,原来的BSD 4.1没有很好地协调。在该版本之前,BSD的TCP/IP实现已经跟BBN的官方实现有较大差异。经过数月测试后,DARPA认为BSD 4.2更合适,所以在BSD 4.3中作了保留。
UNIX简史图UNIX简史图
        从UNIX简史图(上)可以看出BSD UNIX最终版本即BSD 4.3,它是混合开源的,即有开源部分也有闭源部分。由BSD UNIX衍生出最初的SCO Xenix(Microsoft及SCO共同开发)、Sun OS(SunMicroSystems开发,即Solaris前身)、NEXTSTEP(NeXT开发)等UNIX版本,这些UNIX版本均闭源且受专利保护。
BSD UNIX对现代操作系统的产生与发展产生了巨大的影响,并将开源闭源的争议摆在了人们面前。拥护闭源专利的代表Bill Gates领导创建了Windows等软件获得了巨大成功,并垄断了桌面以及服务器市场,从而极大丰富了软件产业。而捍卫开源共享的代表Richard Stallman开展自由软件运动,创建GNU工程,使自由软件精神深入人心,并促使了GNU/Linux等开源操作系统的普及。
 
----摘自《百度百科》
 
关于BSD 4.3 Tahoe:
       BSD 4.3混合了专属的AT&T Unix代码,继续使用就要求从AT&T获得许可证,源码许可证当时非常地昂贵,几个其他组织对单独的网络代码版感兴趣,该部分完全独立于AT&T,这样就可不受许可证的支配。
       Computer Consoles公司开发的Power 6/32平台的BSD 4.3 Tahoe,当时看来大有作为,但不久即被他们的开发员所遗弃。1990年初,出现BSD 4.3 Reno,该版本是4.4BSD早期开发的过渡版,使用该版本被戏称为是一种赌博,因为Reno就是内华达州的赌城雷诺。4.4BSD通过一场官司留下了以BSD许可证分发源码的4.4BSD lite。
 
----摘自《百度百科》
 
许可协议:
BSD许可证是随着加州大学伯克利分校发布BSD UNIX发展起来的,修改版本被Apple、Apache所采用。
BSD协议是“宽容自由软件许可证”中的一员,在软件复用上给予了最小限度的限制。BSD协议允许作者使用该协议下的资源,将其并入私人版本的软件,该软件可使用闭源软件协议发布。
 

开源项

Darwin
吉祥物:Hexley
NeXT电脑公司开发的用于NEXTSTEP的XNU内核是兼有Mach3微内核和大量来自BSD宏内核的元素(进程、网络、虚拟文件系统)以及I/O Kit的混合内核,在Apple Public Source License 2.0许可协议下发布。
1989,NEXTSTEP(即OPENSTEP的前身)首次发布,最终版本3.3在1995年发布。
1997年OPENSTEP(即Darwin的前身)发布,2000年Mac OS X以及iOS的基础Darwin发布,并以Apple Public Source License2.0发布源代码。
 

BSD分区概述:

      大多数的BSD系统使用基于32位间接寻址(IA32)的硬件平台(x86/i386)可以与Microsoft产品共存于一个磁盘上。这时会在磁盘上为其建立一个BSD类型的DOS分区,并在主分区表中对其进行描述,然后在这个BSD类型的DOS分区再按照BSD的分区机制建立相应的区域。
BSD分区体系比 DOS分区体系简单但相对于Apple的分区复杂些。BSD分区被包含在一个由DOS创建的分区中,且只用一个扇区记录必要的分区信息。这样在同一个磁盘上就可以同时安装windows和BSD操作系统,并且当操作系统启动时,启动一个选择系统窗口,以供用户选择要启动的操作系统。
 
----摘自《百度百科》

3、Apache:

     本身是做网站起家的社区;Hadoop项目在2000年后,称为Apache项目的顶级项目。

 

posted @ 2019-07-31 19:49  卫卿  阅读(1526)  评论(0编辑  收藏  举报