- Linux历史3大重要人物 FSF、GNU、GPL概念 Linux发行和内核版本
- 操作系统OS,处于用户与计算机硬件之间,用于传递信息的基础系统软件 作用:管理和控制计算机系统中的硬件和软件资源,例如CPU、内存、磁盘之类的硬件管理;对系统资源供需的优先次序进行管理;控制设备的输入、输出以及操作网络与管理文件系统等事务;各类应用软件的安装、运行环境设置等软件管理。
- Windows、Linux、DOS、Unix等
- 开放源代码的操作系统软件,可自由传播,类Unix系统
- 开放源代码的程序软件,可自由修改 兼容Unix系统,并几乎具备所有Unix系统的优秀特性 可自由传播,不受任何商业化版权的制约 适合Intel等x86CPU系列架构的计算机
- 操作系统:内核+库+shell(“壳”) 内核:负责和硬件交互(内核是一种程序,Linux内核为C语言开发)
1)机器语言:0,1(二进制,十六进制等)2)汇编语言: 将常用的机器语言编码,转移成了英文单词的表示方式,提供给用户编程使用,缺点在于移植性差3)我们将开发好的代码,通过专用的编译器编译成机器语言 库的出现,是伴随着高级语言出现,解决了代码移植性问题【移植性】
C C++ javaee .net python go shell:
1)用户和内核(操作系统核心)交互的窗口2)图形化3)字符化
- 1969年,Unix在AT&T的贝尔实验室诞生,之后出现BSD系统分支,后因闭源等问题,促成了Linux的诞生
1)1984年,Richard Stallman斯托曼(自由软件基金会与GNU项目的发起人)
2)1984年,Andrew S. Tanenbaum谭宁邦(Minix开发者)
3)1991年,Linux Torvalds托瓦兹(Linux内核)
- 自由软件:没有商业化软件版权制约,源代码开放,可无约束地自由传播(但不代表免费) 自由软件基金会FSF
FSF的主要项目:GNU,目的是建立可自由发布、可移植的类Unix操作系统产品。
- GNU由一系列应用程序、系统库和开发工具构成的软件集合:Emacs编辑软件、gcc编译软件、bash命令解释程序和编程语言、gawk(GNU‘s awk),hurd(正在开发中的内核)等。 GPL与LGPL
1)GPL:通用公共许可(FSF创立),开源,可以传播,核心在于保证任何人有共享和修改自由软件的自由,任何人有权取得、修改、重新发布自由软件的源代码权利,但都必须同时给出更改的源代码。2)LGPL:较GPL相对宽松,允许不公开全部源代码
- 我们现在所使用的的Linux,实际上是由:Linux内核+GNU组件(gcc、bash等)+其他必要应用程序(BSD UNIX+X Windows)三大部分组成
- 是一个完善的支持多用户、多任务、多进程、多CPU,符合POSIX标准(Portable Operating System Interface,可移植操作系统接口)的系统 仿Unix内核构建,几乎与Unix指令完全向下兼容 基于GNU许可,自由开放的系统 高稳定性、可靠性、安全性 有完善的网络系统,支持HTTP、FTP、SMTP、POP、SAMBA、SNMP、DNS、DHCP、SSH、TELNET等 完善的大型数据平台,包括Oracle、DB/2、Sybase、MySQL、PostreSQL等、 完善的图形用户界面,包括GNOME、KDE等 完善的开发平台,包括C/C++、Java、Perl等,支持各类图形界面API,如GTK+、QT等 大量第三方免费应用 众多业界厂商支持,包括IBM、Oracle、Intel、HP、MOTO、Google等
- 嵌入式Linux系统应用领域 个人桌面Linux应用领域 服务器端Linux应用领域
- Redhat、CentOS(企业应用最多)、Fedora(Redhat新功能、预发布版)、Ubuntu(桌面版)、SUSE、Debian(安全)、FreeBSD(安全、稳定)、红旗、麒麟等
- Redhat在9.0后成为收费产品(仍开源,服务收费),CentOS是Redhat的一个分支,将Red Hat Linux源代码的商标和非自由软件部分去除后,编译而成的版本,被Redhat收购,现仍开源免费。
- 主流版本:CentOS6.x(6.4,6.6,6.8)和CentOS7系列(7.2、7.4、7.6-最新),注意检查兼容性,双数版本更稳定 内核版本
内核:CentOS 5系列(2.4),CentOS 6系列(2.6),CentOS 7系列(3.10)例如:使用的为CentOS7.5 X86_64位Linux系统,内核版本为3.10.0-862
[root@dls ~]# uname -r //查看内核版本的方法3.10.0-862.el7.x86_64
1)3:主版本号,有结构性变化才更改
2)10:次版本号,新增功能才变化,奇数表示测试版,偶数表示开发版
3)0:对次版本的修订次数或补丁包数
4)862:编译的次数,每次编译对少数程序优化或修改
5)el7:版本的特殊信息,el表示企业版,pp表示测试版,fc表示fedora,rc候选版本
6)x86_64:64位
- 个人版:Windows1998、Windows2000、WindowsXP、Windows7、Windows8、Windows10 企业版:Windowsserver2003、Windowsserver2008、Windowsserver2012、Windowssever2016