Linux 介绍
Linux 的发展
Unix 的起源
- 1969 年,由 Ken Thompson 在 AT&T 贝尔实验室与 MIT 实现的。使用的是汇编语言。
- 1970年,Ken Thompson 和 Dennis Ritchie 是使用 C 语言对整个系统进行了再加工和编写,使得 Unix 能够很容易的移植到其他硬件的计算机上。
Unix 家庭树
什么是 Linux?
- GNU & GPL
- GNU = GNU is Not Unix
- 由 Richard Stallman 在 1984 创建
- 最初的软件:gcc、make、glibc
- GPL = General Public License
- http://www.gnu.org/copyleft/copyleft.html
- http://www.gnu.org/licenses/gplfaq.html
- Linux 是一种操作系统
- Minix(2000年、开源)<- UNIX 计算机操作系统
- 1991 年,芬兰赫尔辛基大学(大三)的学生 Linux Torvals 为了能在家里的 PC 机上使用与学校一样的操作系统,以 Minix 为模板,自己开发一部分软件和功能,结合互联网上的一些补丁,重新写了一个操作系统 Linux。
- 1991.8.25, Linux 就在 comp.os.minix 新闻组中首次发布了一个 Linux 内核的公共版本
- 嵌入式系统
- 嵌入式系统是以应用为虫,以计算机技术为基础,并且软硬件可裁剪,适用于对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。
各种 Linux 发行版本
各个发行版本的内核都一样,只是加入加入了一些自己对 Linux 的理解。Redhat在企业中更常见,Ubuntu 的界面更美观。
装了图形界面稳定性和安全性都会急剧下降。
- 更为流行的 Linux 版本
Solaris 、IBM AIX、Red Hat、Fedora Core、SUSE、Debian、Mac OS X、Ubuntu、FreeBSD、OpenBSD、NetBSD、Yellow Dog linux…- centos 版本,免费;redhat,收费
- fedora:个人版本,不同于 windows 个人版。fedora 是完整功能版。全功能版不适合个人操纵。
- suse, debian 等开发版本
- 服务器用的比较多:centos
- 脱颖而出的 Ubuntu
- Ubuntu 发行版本代号
开源软件简介
开源意思就是开放源代码呈现出来就是源代码。即不是二进制,而是完全英文。这个软件是怎么写的,他在给你的时候就怎么给你。
Linux 最大的特点:包括自己的系统,所有软件都是开源软件
开源软件
- 阿帕奇:网站服务的搭建软件
- NGINX:功能同上
- 占用资源更少,可以提供更大的同时访问量
- 支持更高的并发访问文件
- 阿帕奇+MySQL+php+linux:常见的网络开发平台
- SAMBA
- mongoDB
- Phython:一种脚本语言
使用的自由
- 绝大多数开源软件免费
研究的自由
- 可以获得软件源代码
散步及改良的自由
- 可以自由传播、改良甚至销售
Linux 应用领域
- 基于 Linux 的企业服务器
- www.netcraft.com 绝大多数后台服务器是 Linux,腾讯的后台也是 Linux
- 要做服务器,就要会 Linux
- Linux 发展这么多年,还是一个朝阳产业
- 嵌入式应用
- 通过 Linux 访问软件访问 Android 手机,指令是删减过的 Linux 指令
- 苹果的底层系统是 Unix
- 机顶盒、小米盒子、智能电视、3D 场景的制作
- 是未来技术发展的一个方向
Linux 与 Windows 的不同
Linux 严格区分大小写
Linux 中所有内容以文件形式保存,包括硬件
- 一切内容皆文件
Linux 不靠扩展名区分文件类型
- 压缩包:“*.gz”、“*.bz2”、“*.tar.bz2”等
- 二进制软件包:“.rpm”
- 网页文件:“*.html”、“*.php”
- 脚本文件:“*.sh”
- 配置文件:“*.conf”
字符界面的优势
优势一:字符界面占用的系统资源更少
优势二:字符界面减少了出错、被攻击的可能性
Linux 体系结构
Linux 操作系统的组件
- Linux 内核
- Shell
- 文件系统
- 实用程序
命令、程序或shell脚本
↓
shell
↓ 用户空间(0~3G)
-------------------------------------------------
↓ 内核空间(3~4G)
系统调用(system calls)
文件系统 I/O 内存管理 进程调度 中断异常处理
Cache
Linux 内核
内核是 Linux 系统的最底层,提供了系统的核心功能并允许进程以一种有序的方式访问硬件。
用于控制进程、输入、输出设备、文件系统操作、管理内存。这些都不需要用户参与,系统自行完成
Linux 内核支持多用户、多任务模式运行
- 多用户:同时有多个用户访问系统
- 多任务:某个时刻有多个程序运行
Linux 内核版本
Linux 内核官网:www.kernel.org
越稳定越安全的版本越好
- 主版本
- 1.0、2.0、2.2、2.4、2.6
- 2、3 年更新
- 稳定版
- 2.0.40、2.2.12、2.4.18、2.6.35
- 1、2 月更新
- 稳定版更新
- 2.6.18.1~ 2.6.18.7
- 1,2 周更新
- 查看内核版本号:
uname -r
- 2001 年版本是 2.4
- 2012 年版本是 3.3