第一章
linux的特点
- 与Unix系统兼容
- 自由软件和源码公开
- 性能高和安全性强
- 便于定制和再开发
- 互操作性强
- 全面的多任务和真正的32位操作系统
linux的版本
- linux有两种版本:核心版本和发行版本
核心版本:主要是linux的内核
发行版本:是各个公司推出的版本,将linux的系统内核与众多应用软件及相关文档集成在一起,包括安装界面、系统设定、管理工具等,构成一个发行套件。
X Window系统
- x window的体系结构包括两个部分:客户-服务器模型和X协议
- 客户-服务模型:X的服务程序向用户程序提供显示输出对象的能力,X服务程序处于客户程序和硬件之间,从而屏蔽了具体的硬件设备的特性,客户程序只需向服务程序发送显示请求,而由服务程序将显示的具体要求翻译并传给硬件设备,最后服务程序将显示事件的结果返回给用户程序。
- X协议是一个抽象的应用服务协议,不包括对底层硬件的访问和控制。它包括了终端的输入请求和对X服务程序发出的屏幕输出指令;X协议是X服务程序和X客户程序进行通信的途径。X客户程序通过它向X服务程序发送请求。
第二章
简单命令
- who:列出所有正在使用系统的用户,所有终端名和注册到系统的时间。
- echo:将命令行的参数显示到标准输出上
- date:在屏幕上显示或设置系统的日期和时间。
- cal:显示公元1~9999年中任意一年或一个月的日历
- clear:清除屏幕上的信息
- passwd:把原来的口令改为一个更安全的字符串,可利用passwd
文件系统的概念
- 文件系统是磁盘上有特定格式的一片区域,操作系统通过文件系统可方便地查询和访问其中所包含的磁盘块
- 文件系统的组成:层次结构,由若干目录和其子目录组成最上层的目录称为根目录
- 文件类型
- 普通文件:也称常规文件,包含各种程度的字符串
- 目录文件:利用它可以构成文件系统的分层树形结构
- 设备文件:除了在其文件I节点中存放属性信息外,他们不包含任何数据
- 符号链接文件:提供对其他文件的参照
文件操作命令
- cat:连接文件并打印到标准输出设备上。
- more:显示文件内容,每次显示一屏
- less:分屏显示文件的内容。less允许用户向前或向后浏览文件。而more只能向前浏览
- head:在屏幕上显示指定文件的开头若干行。
- tail:显示指定文件末尾若干行
- touch:可以修改指定文件的时间标签或者创建一个空文件
- grep:查找指定模式的词或短语,并在标准输出上显示包括给定字符串模式的所有行
- sort:对文本文件的各行进行排序
- uniq:从排好序的文件中去除重复行
- comm:对两个已排序文件进行逐行比较
- diff:比较两个文本文件,并找出它们的不同
- **cp:**将源文件或目录复制到目标文件或目录中
- rm:命令删除文件和目录
- mv:对文件或目录重新命名,或者将一个文件从一个目录移到另一个目录中
- wc:统计指定文件的字节数、字数、行数、并将统计结果显示出来。
目录及操作命令
- 目录结构:linux采用带链接的树形目录结构,即只有一个根目录,其中含有下级子目录或文件的信息
- 绝对路径名:它是沿着层次树,从根目录开始,由到达响应文件的所有目录名连接而成。
- 相对路径名:相对路径名利用相对当前工作目录的路径指定一个文件。
操作命令
- mkdir:用来创建目录
- rmdir:可以从一个目录中删除一个或多个子目录
- cd:改变工作目录
- pwd:显示出当前工作目录的绝对路径
- ls:列出指定目录的内容
- 文件链接有两种形式,即硬链接和符号链接
硬链接:在别的目录或本目录中增加目标文件的一个目录项,这样一个文件就登机在多个目录中
符号链接:符号链接也称为软链接,是将一个路径名链接到一个文件。
in:用来创建链接 - chmod:用于改变或设置文件或目录的存取权限
- umask:用来设置限制新建文件权限的掩码
- chgrp:改变文件或目录所属的用户组
- chown:改变某个文件或目录的所有者和所属的组
- ps:查看当前系统的运行的进程消息
- kill:用来终止一个进程的运行
- gzip:对文件进行压缩和解压缩
第三章
vi
- ex的转义方式:输入:作为ex命令提示符。按下中断键可终止正在执行的命令。
- 输入方式下光标的移动
- 移动光标
第四章
shell的特点和主要版本
- shell的特点:
- 对已有命令进行适当组合,构成新的命令,而组合方式很简单
- 提供文件名扩展字符,使得用单一字符串可以匹配 多个文件名,省去输入一长串文件名的麻烦
- 可以直接使用shell内置命令,而无需创建新的进程
- 允许灵活的使用数据流,提供通配符、输入/输出重定向、管道线等机制,方便模式匹配、I/O处理和数据传输
- 结构化的程序模块,提供顺序、条件、循环等控制流程
- 提供在后台执行命令的能力
- 提供可配置的环境
- 提供一个高级命令语言,允许用户创建从简单到复杂的程序
- 种类:bourne shell、C shell、Kom shell、bash
- bash脚本的创建和执行
创建
#!/bin/bash
执行:bash 文件名
第五章
内核结构
- linux分为三层:内核、shell层、应用层
- 内核是linux操作系统的主要部分,它实现进程管理、内存管理、文件系统、设备驱动和网络系统等功能,从而为核外的所有程序提供运行环境
- 内核结构:
用户层:用户级进程
核心层:系统调用接口
虚拟内存|调度器与内核定时器|网络协议|虚拟文件系统
总线驱动器
卡与设备驱动器
硬件层:物理硬件 - 进程状态:运行态、可中断等待态、不可中断等待态、停止态、僵死态
- 进程的模式和类型
用户模式:如果运行的是用户程序、应用程序或者内核之外的系统程序,那么对应进程就是在用户模式下运行
内核模式:如果用户程序执行过程中出现系统调用或者发生中断事件,就要运行操作系统程序,进程模式就变成内核模式。在内核模式下运行的程序可以执行机器的特权指令。 - task_struct结构:
1. 进程状态
2. 调度信息
3. 标志符
4. 内部进程通信
5. 链接信息
6. 时间和计时器
7. 文件系统
8. 虚拟内存
9. 处理器信息 - 进程系统堆栈:在linux系统中,每个进程都有一个系统堆栈,保存中断现场信息和进程进入内核模式后执行子程序嵌套调用的返回现场信息。
- 进程为每个进程分配task_struct结构的内存空间,实际上是一次分配两个连续的内存页面(共8kb),底部约1kb空间存放task_struct结构。而上面的7kb空间存放进程系统空间堆栈。
- 进程映像的更换:
- 进程的调度方式:基本上采用“抢占式优先级”方式
- 调度策略:
- sched_fifo:一旦这种进程被调度而开始运行,就要一直运行到自愿让出cpu或者被优先权更高的进程抢占其执行权为止。适用于实时进程
- sched_rr:一个运行进程分配一个时间片,当时间用完后,cpu被其他进程抢占,而该进程被送回相同优先级队列的末尾。适用于每次运行需要较长时间的实时进程。
- sched_other:适合与交互式的分时进程,优先权决定于两个因素。一个是进程剩余时间配额,另一个就是进程的优先数nice。
- shell的基本工作原理
- 读取用户由键盘输入的命令行
- 分析命令,以命令名作为文件名,其他参数改造为系统调用execve()内部处理所要求的形式。
- 终端进程调用fork()建立一个子进程。
- 终端进程本身用系统调用wait4()来等待进程完成
- 如果命令末尾有&号,则终端部用执行系统调用wait4(),而是立即发提示符,让用户输入下一个命令,转步骤1,如果命令末尾没有&号,则终端进程要一直等待。,当子进程完成工作要终止时,想父进程报告,此时终端进程醒来。
ext2文件系统
- ext2文件系统的物理结构:与其他文件系统一样,ext2文件系统的文件信息都保存在数据块中。
- 索引节点:又称I节点,每个文件都有一个唯一一个索引节点。起着文件控制块的作用,利用这种数据结构可以对文件进行控制和管理。
- 多重索引结构:这种结构中采用间接索引方式,即由最初索引项中得到某一盘块号,该块中存放的信息是另一组盘块号;而后者每一块中又可以存放下一组盘块号。
内存管理
- 请求分页机制:
- 逻辑空间分页
- 内存空间分页
- 逻辑地址表示
- 内存分配原则
- 页表
- 请求分页基本思想:当执行一个程序时,才把它换入内存,但并不把全部程序都调入内存,而是用到哪一页就调入哪一页。
版权声明:本文为qq_46479618原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。