文章目录
Linux基础知识
自由软件、开源软件、免费软件
- 自由软件:自由软件基金会提出通用公共许可证(GPL)。通过GPL允许用户自由下载、分发、修改和再分发源代码公开的自由软件,并可向使用者收取一定的服务费用,但不允许任何人将源代码与服务做任何形式的捆绑式销售。
- 开源软件:在发行时提供源代码,并授权允许用户更改和发布,但与自由软件不同的是:开源软件允许源代码修改后可以作为闭源的商业软件发布和销售,而自由软件要求即使经过用户修改,源代码任然始终保持开源
- 免费软件:不一定是自由软件或开源软件。不一定提供源代码,免费软件通常会有其他限制,例:增值服务。
Linux的内核版本
Linux的内核版本3个数字组成X.Y.Z
X:主版本号,通常在一端时间内比较稳定
Y:次版本号,偶数表示此内核版本的正式版本,可以公开发行,奇数表示此内核版本是测试版本,还不稳定
Z:表示修改次数。数值越大,版本相对完善。
Linux系统结构
内核(Kernel)
内核是整个操作系统的核心,管理着整个计算机系统的软硬件资源。内核控制整个计算机的运行,提供相应的硬件启动程序和网络接口程序,并管理所有应用程序的执行。内核所提供的的都是操作系统最基本的功能,如果内核发生错误,整个计算机系统就可能崩溃。
Linux内核的源代码主要采用C语言编写,只有与驱动程序相关的部分用汇编语言Assembly编写。Linux内核采用模块化结构,主要模块包括:
存储管理
CPU
进程管理
文件系统管理
设备管理
驱动
网络通信
系统的引导
系统调用
Shell
Shell用来解释程序充当用户和内核之间的桥梁
用户启动Linux并成功登陆后,系统就会自动启动shell。
Shell不仅是交互式命令解释程序,还是一种程序设计语言。在shell程序中,可以定义和使用变量,进行参数传递、流程控制和函数调用。(解释性脚本语言)
X window
X window是UNIX和Linux等的图形化用户界面标准。X window图形化用户界面在运行程序时如果出现故障,一般可以正常退出,不会影响其他字符界面下运行的程序。
Linux基本管理
CPU管理
Linux对CPU的管理主要体现在对CPU运行时间的合理分配管理(进程管理)
Linux是多用户多任务的操作系统,采用分时方式管理CPU的运行时间。Linux将CPU的运行时间划分为若干个很短的时间片,CPU依次轮流处理等待完成的任务。如果在分配的一个时间片内不能执行完成,就必须暂时中断,等待下一轮CPU对其进行处理。从用户的角度来看,CPU在同时为多个用户服务,同时处理多项任务。
CPU的管理还涉及CPU的运行时间在各用户或各任务之间的分配和调度,