一、Linux是什么
1.1 Linux是什么
- 是操作系统(内核(硬件驱动+资源管理) + 接口)部分(但正真老说Linux distribution才算是一个完整的操作系统)。
1、Linux可以在X86架构的计算机上运行。原因是:开源,可修改成各种机器上运行的版本,具有可移植性;Windows不开源。
2、Linux的内核是由Torvalds实现的
1.2 Linux之前Unix历史
- Multics系统
1、成员:Bell、MIT(麻省理工学院)、GE(通用电气公司)
2、任务:30台终端的分时操作系统扩展到300台
3、结果:失败了。 - Ken Thompson——UNIX的原型
1、使用的是汇编语言
2、组成部分:内核程序 + 内核工具 + 小型的文件系统 - UNIX的正式诞生——Ritchie
1、将B语言改进成C语言、实现了一个正式的Unix内核
2、由于各种原因。UNIX受版权保护,内核的源码不公开了,但是UNIX的架构还是可以共享的 - x86架构的Minix内核诞生
- GNU项目与FSF基金会成立
1、发起人:Stallman史托曼
2、提倡软件自由、分享,而不是专利,但一个人力量薄弱,需要团队;(自由软件:将源码与软件一起分享)
3、当时GNU目的:创建一个自由、开放的UNIX操作系统(之前有的只能算是内核吧),但是很难,Stallman是这样做的:在Unix的基础上写一些小软件,并开源——C语言编辑器Emacs——GCC编译器(GNU C Compiler)——GNU C函数库 + 操作操作系统的接口bash shell
4、自由软件版权(GPL:general public license):一个软件授予GPL版权申明之后,就是自由软件了;
5、自由软件:复制、修改、发行
1.2 Torvalds的Linux开发
2.1 Minix
托瓦兹,对Minix进行研究学到了很多关于内核程序涉及的相关知识;
2.2 对386硬件的多任务测试
- 早期的个人计算机不具有“多任务处理”能力(并发)
(多任务处理:理论上一个CPU在一个时间点只能运行一个程序,如何让两个以上的程序同时执行呢?例如,电脑上同时打开多个软件,就表示CPU要同时处理这两个任务。实现方法:程序切换,每个程序执行固定的时间后切换。)
2.5 Linux的内核版本
硬件是x386、参照Minix(也可以在x386机器上运行,但是怎么说呢,功能不强大,n内核功能不完善),实现了Linux,吉祥物是企鹅
- Linux的内核版本与distribution版本不一样,一般说Linux的版本指的是Linux内核版本(Linux本身只是个内核,而不是操作系统),而distribution版本才是一个完整的操作系统。
2.6 Linux distribution
- Linux其实就是一个操作系统最底层的内核以及提供的内核工具(由于开源,实现的内核功能很完善,能够在)。
- 可完全安装的Linux发布套件Linux distrubution:Kernel + Softwares + Tools
- 各个厂商实现的Linux distribution都有一个统一的标准:Red Hat、SUSE、Ubuntu、CentOS
1.3 Linux的特色
3.2 Linux的有缺陷
- 优点
·1、稳定的系统:Unix很稳定,Linux是基于Unix的理念实现的,Linux也稳定;
2、多任务、多用户:Windows是单用户、多任务
3、Linux适合嵌入式开发:小,只有几百KB
3.3 关于授权
- 开源
- 闭源:仅仅推出可执行的二进制程序