操作系统的结构
硬件设备 -- 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计划
又称革奴计划,是由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简介:

开源项
BSD分区概述:
3、Apache:
本身是做网站起家的社区;Hadoop项目在2000年后,称为Apache项目的顶级项目。