一、系统运行原理
1、内存运行的程序:一部分是BIOS映射,一部分是内核;
2、Shell:和计算机交互(GUI:图形界面和CLI:命令行);
3、内核功能:进程管理、内存管理、文件系统、网络功能、硬件驱动、安全机制。
二、Linux发展史
1、世界上第一台计算机,最原始的输出设备是用穿孔纸带,而此时CPU运算数据大量时间是浪费的;
2、批处理, 使用磁带机做为存储,例如,Jobs1$$$$$$$$$$jobs2执行完job1后执行job2,但是怎么才能让CPU尽可能快的执行工作呢?
3、美国3家公司开始研究
a)GE通用电气,AT&T Bell实验室,MIT麻省理工研发的系统;
b)此时使用的是汇编语言开发,在MainFrame平台上,开发了多任务的Multics系统。而后这些研究者继续研究,但是失去了目标,GE和Bell退出了研发;
c)这时有个叫Ken的研发者,用Multics系统研发了一款Space Travel游戏,后向领导申请主机继续研发游戏,因当时主机价格昂贵没获批准。后来Ken落魄的来到了Bell实验室,发现了被淘汰的PDP7(DEC:PDP、VAX)小型机(当时最流行的是PDP-11)如获至宝,随后Ken研发了运行Space Travel游戏的系统Unics;
d)Ken和他的同事使用高级语言移植内核,后来B语言诞生,经过改进c语言诞生,重新写了Unics系统;
e)而后美国反垄断法规定Bell禁止销售除了电话、电报的产品,后来Unics不得不被免费公开,研究的人越来越多。
4、美国DEC公司研发
a)PDP-11.PDF-7;
b)VAXàvms系统à被CP/M(康柏)收购;
c)DEC被CP/M收购后,DEC的vms团队被Microsoft购买,在vms的基础上研发了Windows NT Server;
5、Bill Joy成立
a)BSRG小组成立:BSD(Berkeley System Distribution)开始销售;
b)Bell实验室:眼看Bill Joy在销售,非常眼红也开始销售(价格非常贵),后来和Bill Joy打官司(10年之久)。
6、Microsoft公司诞生
a)做编译器出身,一个程序员模仿CP/M开发了一个小系统,后被盖茨买断后稍加更改,重新命名为Dos系统。
7、乔布斯公司
a)乔布斯最崇拜的人是阿兰・麦席森・图灵,当时图灵同性恋遭到社会的谴责,吃了一口涂了氰化钾的苹果被毒死,后来乔布斯的产品标志就是一个被咬的苹果。
8、Xeror(施乐公司):
a)PARK实验室:研究了世界上第一个鼠标,施乐公司不同意销售鼠标;
b)后来被乔布斯发现,购买了鼠标,又进行研究了另外一种鼠标。盖茨接近乔布斯后,研究出了Windows1.0;
9、SUN公司
a)开发的Sun MicroSystem;
b)后开发Solaris(只用于Sun的产品)àSun被Orcel收购;
10、Andrew
a)为了教学Andrew研发了Minixà后来学生写了很多硬件驱动,但是Andrew不允许写进Minix;
b)学生Linus重新写了系统,对外免费公开,研究者可以Linus内核任意更改,只需要有所反馈就行了,从此Linux流行开来。
11、Stallman
a)Stallman认为:程序是全人类的,软件全球公有。他举起Freedom大旗,成立了一个专门的组织叫GUN(GUN is not Unix)。宣言是GPL:General Public License,此举得到全球的支持,都为此做出了贡献。Emacs(文本编辑器)和gcc(GNU C Complier)诞生,但是必须运行在Unix下,这时Stallman组织需要一个内核,遇到Linus后,Linus提供了内核。而Linus则通过gcc编译移植了bash(Linux只是内核)。
12、GPL宣言
a)所有开发Unix内核的人,都必须遵循GPL宣言。由于某些安全原因后来改进了GPL宣àGPLv2àGPLv3;
三、全球Unix/Linux
1、完成的叫法是GNU/Linux;
2、无论是GUN还是Linux都是源代码c à编译成二进制才能运行在计算机上;
3、第三方组织编写源码(都是包装发行商(release),加入了自己对Linux的理解):
a)RedHat(中美),RedHat开发的源码格式rpm;
b)SLS;
c)Debianà不受商业控制,高级用户使用。Debian开发的源码格式dpt;
d)SUSE(欧洲国家)àNovell收购SUSE(Netware),OpenSUS;
e)Ubuntu:基于Debian发行à基于Ubuntu发行Mint;
f)CentOS:CommunityENTerprise OS;
4、开源:开放源代码;
自由:自由获取、自由修改、自由学习;
5、Linux内核版本:0.1 1.0 2.0 ,2.2 2.4. 2.6 3.0 3.7 3.14
RHEL内核:3.0 4.0 5.0 6.0
6、Unix:
FreeBSD(专注运行在PC上)
OpenBSD(专注用于安全)
NetBSD(专注用于服务)。