小白浅谈Linux

1.Linux的起源:
Linux起源于Unix
1969年,MULTICS系统由于进展过慢被叫停
肯·汤普逊(Kenneth Lane Thompson)和丹尼斯·里奇(Dennis MacAlistair Ritchie)在MULTICS的基础上进行了改进,开发出了Unix的雏形并被用于教学研究
从1979年发布的第七版开始,AT&T公司就不再允许Unix在大学教学中使用其源码了
Tanenbaum教授借鉴Unix的设计思想开发出了一个迷你的类Unix系统Minix,该系统主要用于教学需要,可帮助学生理解Unix的内部工作机制
1991年,荷兰赫尔辛基大学的学生林纳斯·托瓦兹(Linus Benedict Torvalds)开始学习Minix系统,随后又尝试开发一套自己的免费操作系统。他把自己的初步成果发布到相关社区,很快就引起了大量程序员的关注
1991年10月,林纳斯·托瓦兹正式宣布Linux内核的诞生
在Linux内核诞生的过程中,另一个做出巨大贡献的功臣是GNU计划(又称革奴计划)
由理查德·马修·斯托曼(Richard Matthew Stallman, RMS)于1983年发起,其目标是开发一套完全自由的操作系统。
为确保GNU软件成为自由软件(即可以自由的使用、复制、修改和发布),所有的GNU软件都遵循GPL协议(GNU General Public License,GNU通用公共许可证)。
Linux内核中大量集成了GNU发布的软件,最终形成了如今被称为GNU/Linux的一系列操作系统。
2.Linux的发展:
1994年3月,Linux内核的1.0版正式面世,该版本采用GPL协议进行发布
1995年1月,Red Hat公司创立。同年,Linux内核可以在多种处理器上运行,用户量也超过了50万
1996年2月,Linux 2.0内核发布
1998年,Linux开始进军商业系统领域
1999年,Linux在多个商业公司的共同努力下成为了具备高效可靠的文件系统和强大支持服务的开源操作系统,并被作为服务器操作系统的又一新的选择
2000年2月,Red Hat发布其嵌入式Linux操作系统
2001年1月,Linux 2.4版内核发布
2003年12月,Linux 2.6版内核发布
2011年7月,Linux 3.0版内核发布
2014年9月,最新的稳定内核3.16.2发布
3.Linux的特点
真正的多用户多任务
高度安全性和稳定性
良好的兼容性
完全免费
支持多平台
强大的网络功能
美观的用户界面
3.Linux的组成
Linux由内核、shell、X Window和大量的应用程序组成
3.1内核
内核位于操作系统的最底层,中间是shell,最上层是X Window和应用程序
内核是最基础和最重要的部分
内核(kernel)是操作系统的核心程序,用于管理资源和安排程序执行顺序。
内核作为最基本的系统功能提供者,一旦出现问题将会导致整个系统的崩溃。
Linux的内核主要由五个子系统组成:进程调度、内存管理、虚拟文件系统、网络接口和进程间通信。
进程调度子系统
控制系统进程对CPU的访问。Linux系统的多任务特性就是由该子系统完成的。
内存管理子系统
用于合理有效的分配和回收内存空间。Linux还支持虚拟内存swap(对换)区。
虚拟文件系统
使用通用的文件模型模拟各种不同的文件系统,屏蔽了具体的文件系统之间的差异,以便支持不同的文件系统。
该系统由逻辑文件系统和设备驱动程序组成。
网络接口子系统
提供了对各种网络标准协议和网络硬件的支持,主要分为网络协议和网络驱动程序两部分。
进程通信子系统
用于控制不同进程间的通信过程,协助它们完成用户空间的同步、数据共享和交换
3.2shell
Linux使用Shell这一交互式命令解释程序完成与用户的交互,并实现与内核的通信。
用户命令通过Shell解释为内核可以理解的机器语言后传达给内核,而内核在完成任务后将返回数据交回Shell,Shell最后将其翻译为用户可理解的方式交还给用户。
Shell不仅是一种交互式命令解释器,还是一种程序设计语言,它功能强大,可以协助用户完成各种系统管理要求。
Linux中的Shell有很多种,这些Shell的基本功能相同,仅有一些细微差异。常用的Shell有:
Bourne Shell(sh):是Unix最初使用的Shell,功能较为简单,它在Shell编程领域表现出色,但在与用户交互方面差强人意。几乎所有的Unix/Linux都支持Bourne Shell。
C Shell(csh):该Shell的语法与C语音很相近,它易于使用且交互性强。Linux提供了csh的扩展版本Tcsh,它包括命令行编辑、单词补全、拼写矫正、历史命令、作业控制等,是一个很好的适用于编程的Shell。
Korn Shell(ksh):该Shell集成了csh和sh的优点,并与sh完全兼容。
Bourne-Again Shell(bash):它是Bourne Shell的扩展,可完全兼容sh,并在其基础上添加了更多有修改的特性,可实现命令补全、命令编辑、历史命令等功能,拥有灵活、强大的编程接口和友好的用户界面。它也是Linux的默认Shell。
3.3X Window
X Window图形用户接口于1984年诞生,是Unix和Linux等操作系统的图形化用户界面标准协议。
X Window只负责显示图形,并没有限制显示和操作的风格,因此不同的X Window使用的图形界面布局和风格差异极大。但所有不同“相貌”的X Window都不是直接内置于操作系统中,而是系统中一个独立的程序元件。
3.4 应用程序
Linux下的应用程序种类繁多,功能全面,几乎覆盖了用户需要的一切工具。
Linux应用程序的数量还在不断的增加,其中绝大部分遵循GPL协议并向用户提供程序源码。
Linux上的应用程序来源很广泛。这些应用程序通常与Linux的发行版一起发布,用户可以选择是否安装、安装哪些。

4Linux的版本
狭义的Linux仅指Linux内核
广义的Linux指的是以Linux内核为基础,再加上Shell和应用程序等系统管理和设置工具之后所形成的操作系统。
Linux的版本可以分为内核版本和发行版本两个类型
5.Linux的功能
Linux发行版具有通用操作系统的全部功能,主要包括文件管理、进程管理、内存管理、用户组管理和设备管理。
5.1文件管理:
Linux对外存上的文件进行管理时采用不同的文件系统形式。
文件系统:操作系统对外存数据的管理方式,它规定了数据的存取方法、定义了文件的属性格式等。
Linux中,每个分区都要被格式化为一个特定的文件系统实例,以实现对本分区数据的正确管理和存取。每个分区都要与系统目录体系中的一个目录相对应,该目录被称为此分区的挂载点。挂载点目录下的所有数据均存储于对应分区,而每个分区中的数据也只能通过该挂载点访问。
在操作系统层面,Linux将使用虚拟文件系统来映射不同分区上的物理文件系统,这些文件系统的不同点将被屏蔽,以统一格式提交给用户。
5.2进程管理
核心就是合理分配CPU处理时间,使各个进程(程序)能按照合理顺序完成,不会出现某些进程长期等待或无法执行的问题。
Linux作为多用户多任务操作系统,采用分时策略管理CPU运行时间。
5.3内存管理
合理利用空间,在确保进程工作的前提下提高内存利用率和响应效率
提供swap管理方式,使得暂时不能执行的进程被换出到外存对换区,当物理内存有空间时再将其换入重新执行。
5.4用户和组群管理
在Linux中,用户被分为多种类型,所有的合法用户都记录在系统配置文件中。
当合法用户登录时,系统将自动为其配置操作环境、分配系统资源,直到该用户安全退出。
Linux系统管理员账号强制为root,其使用的密码被称为根密码或根口令,需要在系统安装时设置,某些版本的linux甚至不允许使用root登录。
组群(group)指的是对某些文件具有相同操作权限的用户集合。
每个用户在创建时都会同时在系统中为其创建一个同名组群作为该用户的初始组。以后用户在工作过程中还可以加入多个其他的组群。通常这些组中,初始组默认被设置为该用户的主组群。
每个用户和组群都分别分配一个唯一编号,该编号被称为UID(用户编号)和GID(组群编号)。
5.5设备管理
在Linux中,所有的设备都被视为文件,即所谓设备文件形式。Linux中的设备分为三类:
字符设备
以字符为单位进行数据交换的设备。这类设备速度较慢,CPU可以直接对字符设备进行读写。
块设备
以数据块为单位进行数据交换的设备,用来进行大量数据存储,一个数据块可以是一个扇区或几个扇区组成的簇。CPU不能直接读写块设备。
网络设备
以数据包为单位、通过网络进行数据交换的设备。由于数据在网络上传输时必须严格符合网络协议要求,因此数据在进行网络传输前都要加上数据包头和包尾。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值