linux 计算机 操作系统 Linux
2022-04-15 12:07:01 1 举报
AI智能生成
计算机操作系统
作者其他创作
大纲/内容
OperatingSystem
处理机管理/进程管理
进程
进程是进程实体的运行过程,是系统资源分配和调度的独立单位
注:通常所说创建进程是创建进程实体中的PCB
注:通常所说创建进程是创建进程实体中的PCB
进程的创建、撤销、切换需要消耗较大的系统时空开销
进程组成
程序段
数据
进程控制块PCB
(Process Control Block)
(Process Control Block)
内容
进程表
Process Table Entry
Process Table Entry
进程标识符
PID
PID
用户标识符
UID
UID
进程状态
处理机状况
事件描述符
记录使进程进入睡眠状态的事件
进程和U区在内外存的地址
核心利用这些信息做上下文切换
软中断信息
记录其它进程发来的软中断信号
计时域
记录进程的执行时间和对资源的利用情况
进程大小
核心为进程分配存储空间时的依据,包括正文长度和栈长度等
偏置值(nice值)
用于计算进程调度的优先级
P_Link指针
指向就绪队列中下一PCB块
指向U区进程正文、数据及栈在内存区域的指针
U区
进程表项指针
指向正在执行进程的进程表项
真正用户标识符u-ruid
有效用户标识符u-euid
默认与ruid相同,可通过系统调用setuid改为其
他用户标识符,以获得该用户对文件的操作权限
他用户标识符,以获得该用户对文件的操作权限
用户文件描述符表
记录了该进程已打开的所有文件
当前目录与当前根
记录进程的文件系统环境
计时器
该进程及其后代在核心态与用户态的执行时间
内部I/O参数
记录要传输的数据量、源(或目标)数据的地址、文件的输入/输出偏移量
限制字段
限制进程大小及其能“写”的文件大小
差错字段
记录系统调用执行期间所发生的错误
返回值
记录系统调用的执行结果
信号处理数组
指示在接收到每一种信号时的处理方式
系统区表
区的类型和大小
区的状态
锁住
请求中
装入中
有效(区以装入内存)
区在物理存储器中的位置
引用计数
共享该区的进程数
指向文件索引节点的指针
进程区表
进程调度信息
进程状态
进程优先级
相关信息
如:已等待、已执行的时间总和等信息
如:已等待、已执行的时间总和等信息
触发状态转换的事件
进程控制信息
程序和数据的地址
进程同步和通信机制
资源清单
链接指针
注:指向链表中下一PCB的首地址
注:指向链表中下一PCB的首地址
组织方式
链接方式
把具有同一状态的PCB链接成队列
索引方式
通过索引表的形式索引PCB
进程镜像
Process Image
Process Image
用户级上下文
正文区
数据区
栈区
寄存器上下文
程序寄存器
处理机状态寄存器
栈指针
通用寄存器
系统级上下文
静态部分
进程表
U区
进程区表
系统区表
动态部分
核心栈
核心态是使用
若干层寄存器上下文
每一层都保存了上一层的上下文
进程状态
创建状态
进程以获取PCB及标识等信息,但未获得内存等资源
就绪状态
(Ready)
(Ready)
准备就绪,但未获得CPU执行资源
就绪队列
处于就绪状态等待获取CPU执行资源的进程队列
执行状态
用户态
核心态
执行系统调用
阻塞状态
挂起状态
终止状态(僵尸)
进程停止并已释放资源但状态信息有待提取
进程控制
1、对进程的创建、撤销、运行协调、运行状态转换、信息交换等进行管理
2、为进程创建、撤销线程
2、为进程创建、撤销线程
fork调用
为新进程分配一个进程表和进程标识符
检查同时运行的进程数目是否超过限制
拷贝父进程表中数据到子进程表中,并置状态为“创建”
继承父进程的所有文件
继承父进程上下文的静态部分,并创建上行下文的动态部分
子进程执行并将U区计时字段初始化为0
exec调用
检查可执行文件
回收进程原有的存储空间
重新分配存储空间
将命令参数拷贝到栈区
exit调用
关闭软中断
回收资源
将记账信息写入全局记账文件
置进程状态为“僵死”状态
wait调用
用于将调用进程挂起,直至其子进程因暂停或中止而发来软中断信号为止
注:wait挂起进程释放资源,sleep进程睡眠不释放资源
注:wait挂起进程释放资源,sleep进程睡眠不释放资源
进程优先级
核心优先级
可中断优先级
等待输入
等待终端输出
等待子进程退出
不可中断优先级
Swap
等待磁盘I/O
等待缓冲区
用户优先级
优先数=最近CPU使用时间/2 + nice值
0级最高,n级最低
中断
信号机制(软中断)
中断机制
进程同步
目的
对多个进程、线程的运行进行协调
原则
空闲让进
当临界资源处于空闲状态时,允许请求进入临界区的进程进入自己的临界区
忙则等待
当临界资源正被访问时,请求进入自己临界区的进程需等待以保证临界资源的互斥访问
有限等待
对请求访问临界资源的进程,保证在有限时间内进入自己的临界区,防止陷入“死等”
让权等待
当进程无法进入自己的临界区应立即释放处理机,以免陷入“忙等”
方式
信号量
Semaphore
Semaphore
锁
Lock
Lock
管程
Monitor
Monitor
进程通信
共享存储器系统
共享数据结构
共享存储区
消息传递系统
直接通信
间接通信
信箱
管道
管道文件
消息缓冲队列
消息缓冲区
进程/线程调度
高级调度
High Level Scheduling
High Level Scheduling
低级调度
Low Level Scheduling
Low Level Scheduling
抢占式
Preemptive Mode
Preemptive Mode
基于一定规则的,以争抢的方式获得处理机的使用权
原则
优先权原则
短作业有限原则
时间片原则
非抢占式
Nonepreemptive Mode
Nonepreemptive Mode
进程执行完才释放处理机,除非因某事件使进程放弃处理机
中级调度
Intermediate Level Scheduling
Intermediate Level Scheduling
死锁
Dead Lock
Dead Lock
产生的必要条件
互斥条件
进程所分配到的资源进行排他性使用
请求和保持条件
进程已获得一个资源,同时请求其他资源,但其他资
源已被占用,此时进程阻塞但是不会释放已获得的资源
源已被占用,此时进程阻塞但是不会释放已获得的资源
不剥夺条件
进程已获得的资源未使用完之前不能被剥夺
环路等待条件
必然存在进程-资源环形链
P0...Pn以单向链路的形式请求另一个进程的资源
P0...Pn以单向链路的形式请求另一个进程的资源
解除死锁
死锁预防
使必要条件中的2、3、4之一不能成立
死锁避免
系统分配资源前计算此次资源分配的安全性
死锁检测
资源分配图是否是完全可简化的
死锁解除
剥夺资源
撤销或挂起进程
存储器管理
目的:为程序运行提供环境,提高存储器利用率,逻辑上扩充内存
分类
CPU寄存器
寄存器
主存
RAM
RAM
高速缓存
主存
磁盘缓存
辅存
磁盘
可移动存储介质
内存分配
目的:用于记录内存空间的使用情况,作为内存分配的依据
按照一定的内存分配算法为程序分配内存空间
对使用完成的内存进行回收
按照一定的内存分配算法为程序分配内存空间
对使用完成的内存进行回收
存储管理方式
单一连续分配
固定分区分配
动态分区分配
伙伴系统
哈希算法
可重定位分区分配
交换区
Swap
Swap
离散分配
分页存储管理
页
地址结构
页表
一级页表
两级页表
多级页表
地址转换机构
页表寄存器
分段存储管理
段
地址结构
段表
段表结构
地址转换机构
转换
虚拟存储器
指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储系统
实现方式
分页请求系统
分段请求系统
特征
可将作业多次调入内存
可将作业置换出内存
逻辑上扩充内存容量
内存保护
确保各个程序都仅在自己的内存空间中运行,互不干扰
保护机制:设置两个界限寄存器,分别用于存放正在运行程序的上界和下界
地址映射
Notions:
1、源程序进过编译后生成目标程序,目标程序经过链接形成可装入程序。
程序的地址从“0”开始,程序中的其它地址都是相对于起始地址计算的。
这些地址称为逻辑地址,其形成的地址范围称为地址空间。
2、内存中一系列单元的地址称为物理地址,其所限定的地址范围称为内存空间。
3、使用重定位寄存器进行地址转换
1、源程序进过编译后生成目标程序,目标程序经过链接形成可装入程序。
程序的地址从“0”开始,程序中的其它地址都是相对于起始地址计算的。
这些地址称为逻辑地址,其形成的地址范围称为地址空间。
2、内存中一系列单元的地址称为物理地址,其所限定的地址范围称为内存空间。
3、使用重定位寄存器进行地址转换
将地址空间中的逻辑地址转换为内存空间中对应的物理地址
内存扩充
利用虚拟存储技术,从逻辑上扩充内存容量
请求调入:允许在装入部分程序和数据的情况下启动
程序运行,并在后续运行中继续调入部分程序和数据
程序运行,并在后续运行中继续调入部分程序和数据
置换:当内存空间不足时将暂时闲置的程序与数据
调至磁盘上以腾出空间,将需要的程序与数据载入
调至磁盘上以腾出空间,将需要的程序与数据载入
设备管理
I/O系统
I/O设备
分类
类型
存储设备
输入/输出设备
传输速率
低速设备
中速设备
高速设备
信息交换单位
块设备
Block Device
Block Device
以数据块为单位进行信息存取,如:磁盘,每个盘块大小为512B~4KB
字符设备
Character Device
Character Device
如:交互式终端
共享属性
独占设备
临界资源
共享设备
磁盘
虚拟设备
物理设备虚拟化成逻辑设备
接口
数据信号线
控制信号线
状态信号线
设备控制器
作用:协调CPU与I/O设备之间的数据交换
功能
接收、识别CPU命令
数据交换
标识、报告设备状态
识别设备地址
数据缓冲
数据差错检测
组成
控制器与处理机的接口
控制器与设备的接口
I/O逻辑
控制设备
I/O通道
I/O Channel
I/O Channel
一种特殊的处理机,与CPU共享内存,具有执行I/O
指令的能力,并通过执行通道程序来控制I/O操作
指令的能力,并通过执行通道程序来控制I/O操作
分类
字节多路通道
Byte Multiplexor Channel
Byte Multiplexor Channel
多个子通道按单字节交叉向主通道传递数据
数组选择通道
Block Selector Channel
Block Selector Channel
含有一个分配型子通道,一段时间内只能控制
一台设备传输数据,数据按数组传递,效率高
一台设备传输数据,数据按数组传递,效率高
数组多路通道
Block Multiplexor Channel
Block Multiplexor Channel
含有多个非分配型子通道,分时使用主通道,数据按数组方式传递
总线系统
ISA总线
Industry Standard Architecture
Industry Standard Architecture
带宽8位,速率2Mb/s
EISA总线
Extended ISA
Extended ISA
带宽32位,速率32Mb/s,连接12台设备
局部总线
(Local Bus)
(Local Bus)
VESA总线
Video Electronic Standard Association
Video Electronic Standard Association
带宽32位,速率132Mb/s,连接2~4台设备
PCI总线
Peripheral Component Interface
Peripheral Component Interface
带宽64位,速率132Mb/s,支持10种外设
I/O控制方式
程序I/O
Programmed I/O
Programmed I/O
CPU不断轮询等待控制器读取数据
中断驱动I/O控制
Interrupt Driven
Interrupt Driven
CPU不等待,控制器读取完数据后向CPU发送中断信号
直接存储器访问I/O控制
Direct Memory Access
Direct Memory Access
以数据块为传输单位
数据直接对内存进行存取
控制器控制数据传输,CPU仅在开始与结束进行干预
I/O通道控制
DMA的扩展,每次操作一组数据块
缓冲管理
作用
缓和CPU与I/O之间速度不匹配的矛盾
减少CPU的中断频率
提高CPU与I/O设备的并行性
分类
单缓冲
(Single Buffer)
(Single Buffer)
双缓冲
(Double Buffer)
(Double Buffer)
循环缓冲
多个大小相同的缓冲区
指向下一个空缓冲区的指针
指向下一个写满数据的缓冲区的指针
指向当前正在使用的缓冲区的指针
缓冲池
(Buffer Pool)
(Buffer Pool)
空缓冲区
空闲队列
装满输入数据的缓冲区
输入队列
装满输出数据的缓冲区
输出队列
临时
(从队列上获取)
(从队列上获取)
收容输入缓冲区
提取输入缓冲区
收容输出缓冲区
提取输出缓冲区
设备分配
设备控制表
控制器控制表
通道控制表
系统设备表
SPOOLing技术将物理设备虚拟化
(Simutenous Peripheral Operating On Line)
(Simutenous Peripheral Operating On Line)
外围控制机
输入缓冲区
输出缓冲区
磁盘
输入井
输出井
设备处理
(设备驱动程序)
(设备驱动程序)
磁盘
RAID
(Redundant Array of Inexpensive Disk)
(Redundant Array of Inexpensive Disk)
RAID0
交叉存取。
无冗余校验。
无冗余校验。
RAID1
交叉存取,磁盘镜像,冗余校验。
利用率低。
利用率低。
RAID2
RAID3
交叉存取,奇偶盘冗余校验
RAID4
每个驱动器拥有独立的数据通路,
校验信息分布于所有磁盘上。适用
于I/O频繁的事物处理。
校验信息分布于所有磁盘上。适用
于I/O频繁的事物处理。
RAID5
RAID6
RAID7
文件管理
文件存储空间
文件目录
为每个文件建立一个目录项
目录项:文件名、文件属性、文件在磁盘上的物理地址等
文件读/写和保护
读/写指针
数据一致性
事务
特性
原子性
Atomicity
Atomicity
一致性
Consistency
Consistency
隔离性
Isolation
Isolation
持久性
Durability
Durability
检查点
Check Point
Check Point
Notions
并行
Parallel
Parallel
并行指两个或多个事件在同一时刻放生
并发
Concurrent
Concurrent
并发指两个或多个事件在同一时间间隔内发生
进程
Process
Process
进程:指在系统中能独立运行的活动实体并作为资源
分配的基本单位,有一组机器指令、数据和堆栈等组成。
注:在多线程的操作系统中,线程作为调度执行的基本单位
,进程不再是可执行的实体。
分配的基本单位,有一组机器指令、数据和堆栈等组成。
注:在多线程的操作系统中,线程作为调度执行的基本单位
,进程不再是可执行的实体。
线程
Thread
Thread
线程:比进程更小的独立运行与独立调度的基本单位
注:线程基本不拥有资源,共享其隶属的进程的资源
注:线程基本不拥有资源,共享其隶属的进程的资源
线程控制块
TCB(Thread Control Block)
TCB(Thread Control Block)
线程标识符
调度优先级
运行的CPU状态信息
时分复用
时分复用技术:对临界资源进行分时使用。通常用来实现虚拟处理机、虚拟设备。
空分复用
空分复用技术:对物理设备进行虚拟空间划分。如:Windows上磁盘的卷与逻辑驱动器。
临界资源
Critical Resource
Critical Resource
临界资源:进程间采取互斥的方式,实现共享的资源。
进入区
Entry Section
Entry Section
临界区前修改临界资源被访问状态的代码段
临界区
Critical Section
Critical Section
进程中访问临界资源的代码片段
退出区
Exit Section
Exit Section
临界区后恢复临界资源被访问状态的代码段
Fundamentals
提示符
#:代表UID为0的用户即root用户
$:代表普通用户
File Hierarchy
/
代表整个文件新系统的根目录
/root
root用户的主目录
/bin
/boot
/dev
/etc
/etc/hosts
存放主机域名映射信息
/etc/resolv.conf
DNS服务配置
/etc/nsswitch.conf
名称服务转换配置,配置通过不同的
名称服务解析域名,如:DNS, NIS, NIS+
名称服务解析域名,如:DNS, NIS, NIS+
/home
/lib
/media
/mnt
/opt
/sbin
/srv
/tmp
/usr
/usr/local
系统管理员本地安装软件时使用
建议:可将环境支持型的软件安装在这个目录下
建议:可将环境支持型的软件安装在这个目录下
/proc
0 条评论
下一页