OS: Operating System,通用目的的软件程序
通用目的:与硬件打交道的软件模块
服务器操作系统支持更多的用户连接
Application Binary Interface,应用程序二进制接口
ABI描述了应用程序与OS之间的底层接口,允许编译好的目标代码在使用兼容ABI的系统中无需改动就能运行
Application Programming Interface,应用编程接口
API定义了源代码和库之间的接口,因此同样的源代码可以在支持这个API的任何系统中编译
Portable Operating System Interface
IEEE在操作系统上定义的一系列API标准
POSIX兼容的程序可在其它POSIX操作系统编译执行
用户程序的运行空间。为了安全,它们是隔离的,即使用户的程序崩溃,内核也不受影响
只能执行简单的运算,不能直接调用系统资源,必须通过系统接口( system call),才能向内核发出指令
是Linux 内核的运行空间
可以执行任意命令,调用系统的一切资源
CPU来回切换状态,需要不停的保留刚刚的状态
状态切换:需要花费巨大成本
str = "www.magedu.com" // 用户空间
x = x + 100 // 用户空间
file.write(str) // 切换到内核空间
y = x + 200 // 切换回用户空间
第一行和第二行都是简单的赋值运算,在User space 执行。第三行需要写入文件,就要切换到Kernel space,因为用户不能直接写文件,必须通过内核安排。第四行又是赋值运算,就切换回User space
为了进一步强化大型主机的功能,让主机的资源可以提供更多的使用者来利用,所以在1964年, 由贝尔实验室(Bell)、麻省理工学院(MIT)及奇异公司(GE美国通用电气公司)共同发起了Multics(多路信息计算系统)的计划, Multics计划的目的是让大型主机可以同时支持300个以上的终端机连线使用。不过,到了1969年前后,由于计划进度缓慢,资金也短缺,所以该计划虽然继续在研究,但最终贝尔实验室还是选择了退出
1966年从加州大学伯克利分校毕业的Ken Thompson加入了贝尔实验室。参与了Multics系统的研发。他基于Multics开发了“star travel”游戏。不幸的是,1969年由于贝尔实验室退出Multics项目,这同时意味着Ken将没有机器可以再玩这个游戏了。面对此情此景,Ken作为一个创造者的本性立即体现了出来,于是他决定自己写一个操作系统来满足他玩游戏的需要,Ken找到了一台废弃已久的老式PDP-7,并在这台机器上重写了他的游戏。在这个过程中,Ken有了一个主意,要开发一个全新的操作系统。利用PDP-7上的汇编语言,Ken只花了一个月就编写完了操作系统的内核,在这个一个月中,他一周一个内核,一个文件系统,一个编辑器和一个编译程序的完成
GPL缺点:
(1)具有传染性
(2)使用开源代码开发后的产品必须将所有源代码公开
1991年的10月5日,Torvalds在comp.os.minix新闻组
上发布消息,正式向外宣布他自行编写的完全自由免费
的内核诞生(Freeminix-like kernel sources for 386-
AT)———FREAX
英文含义是怪诞的、怪物、异想天开
UNIX操作系统(尤尼斯),是一个强大的多用户、多任务操作系统,支持多种处理器架构,按照操作系统的分类,属于分时操作系统,最早由KenThompson、Dennis Ritchie和Douglas McIlroy于1969年在AT&T的贝尔实验室开发。目前它的商标权由国际开放标准组织所拥有,只有符合单一UNIX规范的UNIX系统才能使用UNIX这个名称,否则只能称为类UNIX(UNIX-like)。
举例:AIX(Advanced Interactive eXecutive)是IBM开发的一套UNIX操作系统。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
通常说以Linux作为系统内容的操作系统为Linux操作系统,使用Linux内核和GNU开源软件的操作系统为GNU/Linux
GNU计划,又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统。Richard Stallman最早是在net.unix-wizards新闻组上公布该消息,并附带《GNU宣言》等解释为何发起该计划的文章,其中一个理由就是要”重现当年软件界合作互助的团结精神”。为保证GNU软件可以自由地”使用、复制、修改和发布”,所有GNU软件都有一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,GNU通用公共许可证(GNU General Public License,GPL)。即”反版权”(或称Copyleft)概念。
发行版名称 | 发布者 | Logo标识 |
---|---|---|
RedHatEnterprise Linux 7.3 | Red Hat公司 | |
SUSE Linux Enterprise Server 12 SP2 | Novell公司 | |
DebianLinux9 | Debian维护社区 | |
Android 8.0 | Google公司 |
RedHat版本 | 发布时间 | 备注 |
---|---|---|
Red Hat Linux 1.0 (Mother’s Day) | 1994年11月03日 | |
Red Hat Linux 2.0 | 1995年09月20日 | |
Red Hat Linux 3.0 (Picasso) | 1996年05月01日 | |
Red Hat Linux 4.0 (Colgate) | 1996年10月08日 | |
Red Hat Linux 5.0 (Hurricane) | 1997年12月01日 | |
Red Hat Linux 6.0 (Hedwig) | 1999年04月26日 | |
Red Hat Linux 6.2 (Zoot) | 2000年04月03日 | Red Hat Linux 6.2E |
Red Hat Linux 7.0 (Guinness) | 2000年03月27日 | |
Red Hat Linux 7.2 (Enigma) | 2001年10月22日 | Red Hat Enterprise Linux 2 |
Red Hat Linux 8.0 (Psyche) | 2002年09月30日 | |
Red Hat Linux 9.0 (Shrike) | 2003年03月31日 | |
Red Hat Enterprise Linux 3.0(Taroon) | 2003年10月22日 | Fedora 1 (Yarrow) |
Red Hat Enterprise Linux 4.0 | 2005年02月15日 | |
Red Hat Enterprise Linux 5.0(Tikanga) | 2007年03月14日 | |
Red Hat Enterprise Linux 6.0(Santiago) | 2010年11月10日 | |
Red Hat Enterprise Linux 7.0(Maipo) | 2014年06月10日 |
https://wiki.centos.org/Download
http://mirrors.aliyun.com
http://mirrors.sohu.com
http://mirrors.163.com
开源:Open Source
注意
开源:自由 Freedom
开源不等于免费!
1、一切皆文件(包括硬件设备)
2、Linux主要由短小,且目的单一的程序组成(所以一个命令一般只干一件事)
3、将多个短小的程序串联起来可以完成复杂的任务
4、尽量避免捕获用户接口(尽量避免跟用户进行接触,从发起->回车,全自动,不需要用户再操作)
5、通过文件保存软件的配置信息(只需要一个简单的文本编辑器就可以操作整个系统)