导图社区 计算机二级基础知识《计算机系统概述》部分
想要比较详细的知识点可以来我这里提取,各个部分考点的描述非常详细,适用于早期想要全面学习计算机二级的哥哥姐姐们,根据教育部考试书提取概括,内容清晰,纯大一学生个人手打,如有少数字错误,请谅解
编辑于2023-07-29 16:56:02 黑龙江省计算机系统
9.进程管理
并发程序设计
顺序程序
定义
程序中与各个操作相对应的程序段的执行一定是顺序的
特点
顺序性
每个动作都必须在下一个操作开始执行之前结束
封闭性
程序一旦执行,计算结果不受外界因素影响
可再现性
给定相同的初始条件和同样的输入,重复执行一个程序一定会得到同一个结果
多个程序并发执行
定义
一组在逻辑上互相独立的程序或程序段,在执行过程中,执行时间在客观上互相重叠
即一个程序段的执行尚未结束,另一个程序段的执行已经开始的执行方式
执行特点
没有封闭性
输出结果与各程序执行的相对速度有关
程序与其执行过程不是一一对应关系
程序并发执行可以互相制约
互为因果的制约关系
由于共享某些资源或过程而间接的具有制约关系
基本特点:并行性、共享性
并发程序执行过程中,进程调度负责分配CPU
进程
程序
静态概念
概念
从变化的角度,动态地反映并发程序活动
定义
具有一个独立功能的程序关于某个数据集合的一次运行活动
是一个可以并发执行程序的执行过程,是控制程序管理下的基本多道程序单位
与程序的区别
进程是动态概念,而程序是一组指令的有序集合,无运行含义,是静态概念
进程的存在是暂时的,而程序能作为一种软件资源长期保存,是永久的
进程是由程序和数据组成的
一个程序可以对应多个进程,一个进程可以包含多个程序
状态及其转化
总括
一个进程并不是从始至终都是运行状态,它时而运行,时而暂停而处于等待状态
当使进程暂停的原因消失后,它又会处于准备运行的状态
5种基本状态
运行状态
处于运行状态的进程需要占据CPU,此时进程的数目不能多于CPU的数目
就绪状态
已获得除CPU以外的一切所需资源,只是缺少CPU而不能运行,一旦获得CPU,立即投入运行
逻辑上是可以运行的进程
一个系统中,处于就绪状态的进程可以有多个,通过就绪队列这种结构来管理
多处理器系统中,每个CPU都有自己的就绪队列,每个活动进程在某一时刻只能在一个就绪队列中
等待状态
一个进程正在等待某一事件的发生而暂时停止执行
即使把CPU分配给它,该进程也不能运行
也称为阻塞状态或封锁状态
逻辑上为不可执行进程
创建状态
进程正在创建中而不能运行
每个进程的创建以建立进程控制块为标志
终止状态
进程运行结束
基本状态间的的转化
就绪状态的进程
被分配到CPU
转化为运行状态
运行状态的进程
当需要等待某个事件发生才能继续进行时
转化为等待状态
分配给它的时间片用完
让出CPU转化为就绪状态
等待状态的进程
等待的事件已经发生
转化为就绪状态
总括
进程创建完成后就会进入就绪状态,在运行、等待、就绪三种状态中迁移,进行相关的任务执行
完成相关任务后,由运行状态进入终止状态,结束进程并释放相关资源
进程控制块及其组织
进程控制块PCB
作用
描述进程的执行情况
反映该进程和其他进程以及系统资源之间的关系
是刻画该进程在各个不同时期所处状态的数据块
PCB是进程存在的标志
是由系统为每个进程分别建立的,用以记录对应进程的程序和数据的存储情况,记录进程的动态信息
系统根据PCB感知进程的存在,根据PCB中的信息对进程实施控制管理
进程结束后,系统收回它的PCB,进程也随之消亡
基本内容
进程名
是唯一标识进程的一个标识符或数字,系统根据该标识符来识别一个进程
特征信息
反映了该进程是不是系统进程等信息
执行状态信息
说明对应进程当前的状态
通信信息
反映该进程与其他进程之间的通信关系
调度优先数
用于分配CPU时参考的一种信息,决定在所有就绪进程中,究竟哪一个进程先得到CPU
现场信息
在对应进程放弃CPU时,将处理机的现场信息保留在该进程的PCB中
再次恢复运行时,按保存值重新装配即可继续运行
系统栈
是在对应进程进入操作系统时,实现子程序嵌套调用时的栈
主要用于保留每次调用时的程序现场
它的内容主要反映了对应进程在执行时的一条嵌套调用路径上的历史
进程映像信息
用以说明该进程的程序和数据存储情况
资源占有信息
指明对应进程所占有的外设种类、设备号等
族关系
反映该进程与其他进程间的隶属关系
总括
进程控制块中还包含文件信息、工作单元等内容,这些信息为系统对进程的管理和控制提供了依据
进程的组织
处于不同状态的进程的物理组织形式直接影响系统效率
物理组织方式
线性表
方法一
将所有不同状态的PCB组织在一个表中
最为简单,适用于系统中进程数目不多的情况
缺点
管理不方便,影响了整个系统的效率
方法二
分别将具有相同状态的PCB组织在同一个表中
链接表
按照进程的不同状态将相应的PCB放入不同的带链队列中
优点
系统的进程数目不受限制,可以动态地申请
各种等待状态的队列是分开的,管理较为方便
进程调度
定义
按一定策略动态地把CPU分配给处于就绪队列中的某一进程并使之执行的过程
别称
处理器调度或低级调度,相应的进程调度程序称为分配程序或低级调度程序
高级调度
是作业调度
负责对CPU之外的系统资源进行调度,包含不可抢占资源(如打印机)的分配
进程调度只负责对CPU进行分配,CPU属于不可抢占资源
两种基本调度方式
抢占方式
就绪队列中一旦出现优先级高于正在运行的进程出现时,系统立即把CPU分配给高优先级的进程,并保留被强占CPU的进程的相关信息,以便后续恢复
非抢占方式
一旦CPU分配给某进程,即使就绪队列中出现了优先级比它高的进程,也不会抢占正在进行的进程的CPU
最基本进程调度算法
先来先服务调度算法
按照进程就绪的先后顺序来调度进程
系统仅需设置一个先进先出的队列
在管理优先级相同的就绪队列时,是一种最合理的策略
时间片轮换调度算法
定义
系统将所有就绪进程按先后次序排队,CPU总是优先分配给就绪队列中的第一个进程,并分配给它一个固定的时间片(如50ms),当该运行进程用完规定的时间片时,被迫释放CPU给处于就绪队列中的下一个进程,并分配给这个进程相同的时间片
每个运行完时间片的进程,当未遇到任何阻塞时,就会被放回到就绪队列的尾部,并等待下次轮到它时继续运行
当正在运行的进程的时间片尚未用完,而由于进程发出的I/O请求受到阻塞,进程会被送到相应的阻塞队列而非就列队列的尾部,当它所需要的I/O操作完成后,才能重新返回就绪队列的尾部,等待再次被调度后重新投入运行
优先级调度算法
把CPU分配给就绪队列中具有最高优先级的就绪进程,是最常用的一种简单方法
优先级的确定因素
进程类型
比如系统进程比用户进程具有较高的优先级
运行时间
通常规定进程优先级与运行时间成反比
作业的优先级
根据作业的优先级来决定所属进程的优先级
以上是静态优先级法,进程也可以有动态优先级,其优先级在运行生命周期内可以改变,这样可以更精确地控制CPU的响应时间,在分时系统中尤为重要(如:多级反馈队列轮转法)
死锁状态
由于各进程互相独立地动态获得,不断申请和释放系统中的软硬件资源,其中的若干个进程均因互相“无知地”等待对方所占有的资源而无限等待而产生的状态
线程
比进程更小的能独立运行的基本单位
用于提高程序的并行程度,减少系统开销,从而进一步提高系统的吞吐量
3.基本组成
计算机系统
硬件(裸机)(只能识别0和1的机器代码)接受计算机程序的控制来实现数据输入、运算、输出等一系列根本性操作
主机
中央处理器(CPU)用于执行软件指令将数据加工成信息
运算器
负责对数据进行算术运算和逻辑运算
控制这些操作的速度
控制器
负责对程序所规定的指令分析
控制并协调输入、输出操作或对内存的访问
控制单元要执行的4个基本操作
获取指令
分析指令
执行指令
存储结果
内存储器
外设
外存储器
输入设备
负责把用户的信息输入到计算机中
输出设备
负责将计算机中的信息传送到外部媒介供用户查看或保存
软件
系统软件
操作系统(OS)
提供了软件的运行环境(最主要)
服务软件
编译与解释系统
应用软件
信息管理软件
辅助设计软件
文字处理软件
图形软件
各种程序包
程序
用于指挥计算机执行各种动作以便完成指定任务的指令集合
软件系统
运行、管理和维护计算机而编制的各种程序、数据和文档的总称
系统软件
控制和协调计算机及外部设备,支持应用软件开发和运行
功能:调度、监控和维护计算机系统,合理分配系统资源,管理计算机系统各独立硬件,使他们协调地工作,确保计算机正常、高效地运行。
寄存器
控制器和运算器中均使用寄存器
是高速存储区域,可以在处理过程中临时存储数据或计算结果
所有数据在处理前都存储在寄存器中
类型:指令寄存器、地址寄存器、存储寄存器、累加寄存器
总线
是CPU内部以及在CPU和主板的其它部件之间传输信息的电子数据线路
通道越多,位的传输越快
CPU的品质决定计算机性能
主频
主频越高,CPU运算越快
字长
指CPU可以同时处理的二进制数据的位数
CPU可以直接访问内存,但要通过总线访问各种输入输出设备
5.存储器
分类1
存储介质
半导体存储器
磁表面存储器
磁芯存储器
光盘存储器
存取方式
随机存储器(RAM)
只读存储器(ROM)
串行访问存储器
计算机中的作用
主存、缓存、辅存、闪存等
分类2
主存
随机存储器
静态SRAM
优点
保存信息稳定
结构简单、可靠性高、速度较快
缺点
所用元件较多、占硅片面积大、功耗大,所以集成度不高
动态DRAM
分类
三管式、单管式
共同特点
靠电容存储电荷来寄存信息
为保证信息不丢失,会在2ms内对存储单元进行恢复,称为再生或刷新
优点
集成度更高、功耗更低,被广泛使用
只读存储器
MROM
掩膜式只读存储器
PROM
可编程序的只读存储器
EPROM
可擦可编程序
EEPROM
可电擦可编程序
即使停电所存储内容也不会丢失
闪速存储器
由EEPROM发展而来,是电可擦除的非易失器件
优点
价格便宜、集成密度高、可电擦性、可重写性、速度快
抗震、节能、体积小、容量大、便携(与磁盘相比)
写操作
以块为单位
辅存
磁盘
磁带
光盘
缓存(Cache)
程序的局部性规律
时间局部性
如果一个存储项被访问,则该项很快会被再次访问
空间局部性
如果一个存储项被访问,则该项临近的项也会很快被访问
组成
块表和快速存储器
它的地址变换和数据块的替换算法均由硬件实现,通常被集成到CPU中提高访问速度
层次化结构
3个重要指标
速度、容量、每位(bit)价格
速度越快,位价格越高;容量越大,位价格越低;容量越大,速度越低
在计算机系统中,将缓存-主存-辅存这几个层次组合在一起给出最优性能
6.数据的内部表示
进位计数制及相互转换(P9)
表示:进位制
基数
进位计数制中所拥有数字的个数
权
每位上数字的值
关系:每一位上所表示的数=该位上的数字×该位的权
进制转换
十进制—二进制
整数
除以2取余数得到各位,对得到的商循环直至商为1
小数
乘以2取整数,再对余数的小数部分乘以2,直至乘积的小数部分为0
二进制—八进制/十六进制
3位二进制数组成1位即八进制数,4位二进制数组成1位即十六进制数
小数点前后的数分组处理,不足位用0补齐
整数
0补在数的左侧
小数
0补在数的右侧
定点数的表示和运算
无符号数
非负整数(0、正整数)
字长为n位的无符号数表示范围:0~2的n次方-1
带符号数
符号位
二进制的最高位
最高位为0数为正,最高位为1数为负
机器数
原码
最高位为符号位,数值跟随其后
计算机的计算操作取决于指令中的操作码、两个操作数的符号,很少采用
反码
正数的反码与原码相同
负数的补码是对该数的原码除符号位外各位取反
补码
正数的补码和原码相同
负数的补码是在该数的反码最后一位+1
一个数补码的补码还是原码本身
运算
两数的补码之和=两数之和的补码
符号位也当做二进制位一起参与运算
偏移码(定点数专用)
无论正负数,其补码的符号位取反即是偏移码
C语言中,实型数在计算机的表示中要用到偏移码
算术移位计算、逻辑移位计算
区别
算术移位计算是对带符号数移位,移位中保持操作数的符号不变
逻辑移位计算是对无符号位移位
浮点数的表示和运算
定义
小数点位置可浮动的数据
表示范围
N=M×(R的E次方)
N为浮点数;M为其尾数;E为其阶码
R为“阶的基数(底)”,是一个常数,一般为2、8、16,一台计算机中所有数据的R均相同
机内表示(P10下)
IEEE 754标准
单精度浮点数(32位):阶码8位,尾数24位(内含1位符号位)
双精度浮点数(64位):阶码11位,尾数53为(内含1位符号位)
标准规定小数点左边还有1个隐含位
规格化数隐含位:1
非规格化数隐含位:0
7.总线和外设
总线
概念
计算机中各个部件信息的传输线,各个部件共享的传输介质
信息传送方式
串行传输
并行传输
功能和实现方式
片内总线
芯片内部的总线
系统总线
计算机各部件之间的信息传输线
数据总线
是双向总线,宽度与机器字长、存储字长有关
地址总线
是单项总线,与存储地址、I/O地址有关
控制总线
是部分出、部分入方式,控制器通过核心总线控制所有部件
通信总线
计算机系统之间或计算机系统与其他系统间的通信
串行通信总线
并行通信总线
功能
计算机中CPU通过总线与内存、外设等连接
总线控制器
功能
总线的判优控制(仲裁逻辑)
通信控制
总线结构
单总线结构
将CPU、主存、I/O设备都挂在一组总线上
多总线结构
将速度较低的I/O设备从单总线上分离出来,形成主总线与I/O设备总线分开的结构
总线操作
读和写
读
将从设备中的数据读出并经总线传输到主设备
写
由主设备到从设备的数据传输过程
块传送
由主设备给出地址,而后进行
先读后写
校验数据的正确性
先写后读
用于多道程序对共享存储资源的保护
广播
主设备同时向多个从设备传输数据的操作模式
广集
将多个从设备上的数据在总线上完成AND或OR操作
用于检测多个中断源
总线标准
系统与各模块、模块与模块之间的一个互连的标准界面
RS-232是一种串行通信总线标准
USB是一种常用的设备总线标准,它基于通用的连接技术,可实现外设的简单快速连接
输入/输出系统
外部设备
定义
除主机以外,围绕着主机设置的各种硬件装置
功能
主要用来完成数据的输入、输出、成批存储以及对信息加工处理的任务
分类
输入/输出设备
输入设备
向计算机输入外部信息的外部设备
输出设备
接收计算机输出信息的外部设备
也存在兼有输入和输出功能的复合型输入/输出设备
辅助存储器
主机以外的存储装置,又称后援存储器或外存
举例
软磁盘、硬磁盘、磁带、光盘等
终端设备
组成
输入设备+输出设备+终端控制器
通过通信线路与主机相连
功能
向计算机输入信息和接受计算机输出信息
具有与通信线路连接的通信控制能力
具有一定的数据处理能力
可进一步分为通用终端设备和专用终端设备两大类
过程控制设备、脱机设备等
硬盘存储器
硬盘
最重要的大容量外存设备
分类
固定磁头磁盘存储器
移动磁头磁盘存储器
磁头和磁臂是驱动器的重要组成部分,磁头安装在磁臂上,用于读写各磁道上的数据
柱面信息
一个具有n个盘片的磁盘组,将n个面上同一半径的磁道看成的圆柱面所存储的信息
硬盘的寻址
用磁盘地址
由磁头号、盘面号、扇段号等字段组成
扇段号可用扇区号替代
主要性能指标
存储密度
道密度
沿磁盘半径方向单位长度上的磁道数(单位:道/英寸)
位密度
磁道单位长度上记录的二进制代码位数(单位:位/英寸)
存储容量
一个磁盘存储器所能存储的字节总数
存取时间
发出读写命令后,磁头从某一起始位置移动到新的记录位置,到完成从盘片表面读出或写入信息所需要的时间
进一步划分
定位时间/寻道时间
将磁头定位到所要求的磁道上所需时间
等待时间
寻道完成后至磁道上所需要访问的信息到达磁头下所需要的时间
读写相应块的时间
实际中使用存取时间的平均值来表示
数据传输率
磁盘存储器在单位时间内向主机传输数据的字节数
I/O接口
是一种一端与总线相连,一端与设备相连的设备
基本功能
实现设备的选择
实现数据缓冲以达到速度匹配
实现数据串并格式转换
实现电平转换
传送控制命令
反映设备的状态
基本模型概括
系统端与系统总线进行通信,设备端控制设备驱动电路进行设备的传输
I/O方式
程序查询
CPU大部分时间处于等待状态,系统效率不高
程序中断
计算机执行程序出现异常情况时,CPU停止当前程序运行,转而执行异常情况进行处理的程序(称为中断服务处理程序ISR),处理结束后再返回到现行程序的断点处继续运行,该过程即为中断
中断判优
多个中断源同时请求时,CPU只接受级别最高的中断源的请求,不允许低级别的中断源中断正在运行的中断程序。CPU对这些中断源进行排序的过程称为中断判优
单CPU机器中断处理过程
保存当前进程,关中断,执行中断服务程序,恢复现场,开中断,返回原程序执行
多重中断/中断嵌套
处理中断过程中出现新的中断请求,从而中断当前服务程序的执行,转而进行新的中断处理
中断屏蔽
产生中断请求后,用程序方式有选择的封锁部分中断,而允许其余中断部分仍得到响应
DMA方式(直接内存存取)
定义
是I/O设备与主存储器之间由硬件组成的直接数据通路
用于高速I/O设备与主存之间的成组数据传送
由CPU初始化传输,传输动作本身是由DMA控制器执行和完成的,CPU可以继续执行程序
通道
定义
独立于CPU的专门管理I/O的处理机
功能
控制设备与内存进行直接数据交换
相比于DMA的优点
进一步减轻了CPU的工作负担
增加了计算机系统的并行工作程度
12.I/O设备管理
设备管理功能
外围设备中断处理、缓冲区管理、外围设备的分配、外围设备驱动调度等
I/O软件的层次结构
底层软件用于屏蔽I/O硬件的细节,从而实现上层设备的无关性(即设备的独立性)
高层软件用于为用户提供一个统一、规范、方便的接口
层次划分
中断处理程序
设备驱动程序
与设备无关的I/O软件
用户层的I/O软件
用户程序从文件读取数据块的操作步骤见P36
中断处理过程
外部设备完成I/O操作后,设备控制器会向CPU发出一个中断请求,CPU响应后便转向中断处理程序
处理过程
检查CPU的响应中断的条件是否满足
如果满足,CPU响应中断,立即关中断(避免中断被打断)
保存被中断过程的CPU环境
分析中断产生的原因,转入相应设备的中断处理程序
执行中断处理程序
恢复被中断进程的CPU现场,返回被中断的程序
开中断,CPU继续执行
I/O操作完成后,驱动程序必须检查本次I/O操作中是否发生了错误,以便向上层软件报告
设备驱动程序
定义
驱动物理设备和DMA控制器或I/O控制等直接进行I/O操作的子程序集合
功能
概述
主要负责启动对应设备进行I/O操作
细分
可将接收到的抽象要求转换为具体要求
接受用户的I/O请求:先将该请求排在请求队列的队尾,检查其合法性,了解I/O设备的状态,传递有关参数等
取出请求队列的队首请求,将相应设备分配给它,然后启动该设备工作,完成指定的I/O操作
处理来自设备的中断:及时响应控制器或通道发来的中断请求,并根据其中断类型选择相应的设备进行处理
与设备无关的I/O软件
为实现设备独立性,就必须在与硬件紧密相关的驱动程序上设置一层与设备无关的软件
主要功能
向用户层软件提供统一接口
设备命名
设备无关程序会将设备名映射到相应的设备驱动程序上
设备保护
操作系统为各个用户赋予不同的设备访问权限
提供一个独立于设备的块
设备无关软件屏蔽了不同设备使用的数据块大小可能不同的特点,向用户提供了统一的逻辑块大小
与设备无关的软件还负责对独占设备的分配与回收、设备使用缓冲区的管理及设备的差错控制(设备驱动程序无法处理的错误)等
用户层的I/O软件
是I/O系统软件的最上层,它面向程序员,负责与用户和设备无关的I/O软件通信
它主要包含用于I/O操作的库例程和SPOOLing系统(在联机情况下可以同时实现外围操作)
缓冲技术
好处
可以改善CPU和I/O设备之间速度不匹配的情况
减少占用通道的时间,明显提高CPU、通道和I/O设备的并行程度
减少外设对CPU的中断次数,放宽CPU对中断响应时间的限制
提高了系统的处理能力和设备利用率
实现
设置合适的缓冲区
用硬件寄存器实现硬缓冲
较经济的方式:在内存中设置软缓冲
11.文件管理
文件及文件系统
文件
指一组带标识(文件名)的、在逻辑上有完整意义的信息项的序列
各类文件都是由文件系统来统一管理的
文件分类
按用途
系统文件
库文件(由标准的和非标准的子程序库构成的文件)
用户文件
按性质
普通文件
目录文件
特殊文件(如在UNIX系统中,所有的I/O设备都被看成特殊文件)
按保护级别
只读文件
读写文件
可执行文件
不保护文件(用户具有一切权限)
按文件数据的形式
源文件
目标文件
可执行文件
文件系统
指负责存取和管理文件信息的软件结构
功能
方便用户,实现对文件的“按名存取”
实现对文件存储空间的组织、分配和文件信息的存储,并且对文件提供保护和有效的检索功能
文件系统模型
传统模型
层次模型
每一层都会使用下一层的功能特性创建新功能,为上一层服务
每一层都在下层的基础上向上层提供更多的功能,由下至上逐层扩展
现代新模型
虚拟文件系统类技术
可以支持多种文件系统
文件的组织结构
逻辑结构
是从用户观点出发所见到的文件结构
分类
记录式文件
在逻辑上被看做一组顺序记录的集合,是一种有结构的文件组织
根据记录长度可分成定长记录文件和变长记录文件
流式文件
又称无结构文件,文件的长度直接按字节计算
是由一组相关信息组合成的有序字符流
物理结构
是指文件在外部存储介质上的存放形式,也叫文件的存储结构
基本的物理存储组织形式
顺序结构
把逻辑上连续的文件信息存放在连续编号的物理块中
只需给出首块块号和文件长度
链接结构
把逻辑上连续的文件分散地存放在不同的物理块中
在各物理块中设立一个指针(称为连接字),用于指示该文件的下一个物理块
最后一个块连接字为NULL,表示该块是文件结尾
索引结构
每个文件建立一个索引表,其中的表项指出该存放文件的各个物理块号
索引方式可以方便地进行随机存取
当文件很大时,单一索引表无法满足灵活性和节省内存的需要,需要使用:多重索引结构
文件目录管理
文件目录概念
表示建立文件名与文件在外存空间中的物理地址的对应关系的数据结构
文件控制块(FCB)
是每个文件的文件目录项
包含内容
有关文件存取控制的信息
有关文件结构的信息
逻辑结构
物理结构
有关文件使用的信息
已打开该文件的进程数、文件被修改的情况、最大长度、当前大小等
有关文件管理的信息
每当创建一个新文件时,系统会为它建立一个FCB,多个文件的FCB便组成了文件目录
文件目录的实现
为了减少检索文件访问的物理块数,会把文件目录项中的文件名和其他管理信息分开,后者单独组成称为索引节点(inode)的一个数据结构
能够加快目录的检索速度,而且便于实现文件的共享,有利于系统的控制和管理
文件目录结构
文件系统的基本功能之一:负责文件目录的编排、维护和检索
分类
单级目录
又称简单文件目录,它是一个线性表
每一个目录项中包含的信息:文件名、有关文件结构的信息、有关存取控制的信息、有关管理的信息等
目录项中具体包含哪些信息根据系统的要求而定
缺点
一旦文件名重复,就无法“按名索取”所需要的文件
二级目录
允许每个用户建立各自的名字空间,并通过相应的总文件目录来管理这些名字的空间
各个用户的名字空间组成了各个用户文件目录(UFD)
管理这些用户目录的总文件目录称为主目录(MFD)
二级目录结构解决了文件重名的问题,也可以解决文件的连接问题
只要把目录指针指向要连接的文件登记项即可实现文件共享
特点
提高了文件的检索速度
但对于同一用户,也不允许两个同名文件存在
多级层次目录
也称为树结构目录,是二级目录的推广
结构
有一个根目录和许多分目录
分目录不但可以包含文件,也可以包含下一级的分目录
优点
既可方便用户查找文件,又可以把不同类型、不同用途的文件分类
允许文件重名:不同用户和同一用户都可以使用相同名称的文件
利用多级层次结构关系,可以更方便地制定保护文件的存取权限
缺点
不能直接支持文件或目录的共享
无环图结构目录、图状结构目录
可以实现文件或目录的共享
存取权限
实现方式
访问控制表(ACL)
以文件为单位建立
存取权限表
以用户或用户组为单位建立
将他们要存取的文件集中起来存入一张表,每个表指明用户对相应文件的存取权限:读(r)、写(w)和执行(x)
大型文件的安全性保护
对文件和目录的权限设置
为不同用户完成共同任务提供基础
节省大量磁盘空间
对文件和目录进行加密
文件空闲区的组织
空闲文件项
空闲区与其他文件目录放在一张表中
在删除文件时,只要把文件名栏标记为空闲即可
空闲区表
将空闲区项抽出来单独构成一张表
优点
减少目录管理的复杂性
提高文件查找和空闲区查找的速度
空闲块链
将所有空闲块链接在一起
当文件被删除而释放空闲块时,只需将被释放的空闲块挂到空闲块链的链头即可
位示图
用若干字节构成一张表,表中的每个二进制位对应一个物理块,并依次顺序编号
位标记为“1”,表示对应的物理块已分配
位标记为“0”,表示对应的物理块空闲
存储分配时,只需找到空闲块并标记为1,释放标记为0同理
空闲块成组链接法
将所有的空闲块进行分组,在通过指针将组与组链接起来
8.操作系统
计算机资源
计算机系统中所有软件和硬件
操作系统的功能和任务
定义
最基本和核心的系统软件
计算机系统中不可缺少的组成部分
所有其他软件都依赖于操作系统的支持
主要作用
管理系统资源
提供资源共享的条件和环境,对资源的使用进行合理调度
提供I/O环境,简化用户I/O操作,提供良好用户界面
规定用户接口,发现、处理、报告计算机运行中出现的错误
操作系统是用以控制和管理系统资源、方便用户使用计算机的程序集合
功能任务
处理机(CPU)管理
充分发挥处理机的作用,提高他的效率
存储器管理
对有限的内存储器进行合理分配,满足多个用户运行程序的需要
设备管理
有效管理各种外部设备,使它们充分发挥效率
给用户提供简单、易用的接口
文件管理
实现唯一地标识计算机系统中的每一组信息,以便合理地进行访问、控制
有条理地组织这些信息,以便使用安全、方便
用户接口
子主题
操作系统发展过程
手工操作(无操作系统)
用户独占机器,CPU等待手工操作,CPU利用不充分
批处理系统
在监督程序的控制下,计算机成批地处理一个或多个用户的作业
分类
联机批处理系统
I/O由CPU处理
主机和输入机间增加存储设备—磁带机
批处理结果时,CPU处于空闲状态
脱机批处理系统
I/O设备脱离主机控制
主机与卫星机并行工作,主机计算能力充分发挥
中断机构和通道技术
硬件并行工作能力变强
驻留内存管理程序
提高了CPU和I/O设备的利用率
缩短作业的准备和建立时间
减少了人工干预的操作失误
多道程序系统
指允许多个程序进入内存并运行
多个程序可共享系统中的各种软、硬件资源
当一个程序因I/O请求而暂停运行,CPU立即转去执行另一个程序
提高了系统资源的利用率和系统吞吐量(单位时间内处理作业/程序的个数)
分时系统
UNIX系统
计算机/互联网行业的基石
个人计算机(PC)操作系统
Linux操作系统
支持众多CPU和不同架构
iOS操作系统
应用于iPhone和iPad等移动设备
Android操作系统
基于Linux的自由及开放源代码的操作系统
操作系统的分类
按计算机硬件规模大小
大型机操作系统
小型机操作系统
微型机操作系统
按用户的使用方式及访问方式
多道批处理操作系统
多道
计算机内存中存入多个用户作业
批处理
外存中存入大量后备作业
作业运行由系统控制
用户与作业间无交互作用
称为批操作或脱机操作
系统资源利用率高,信息吞吐量大,但用户不能自己干预程序运行
分时操作系统
允许多个用户同时使用一台计算机系统进行计算的操作系统
特点
多路性
又称同时性,终端用户独占计算机
交互性
独立性
终端用户彼此独立、互不干扰
及时性
快速得到响应
实时操作系统
指外界事件或数据产生时,系统能够接收并以足够快的速度予以处理和响应,能够控制所有任务协调一致的运行
分类1
过程控制系统
如:工业生产自动控制
信息查询系统
如:仓库管理系统
事务处理系统
如:银行管理系统、订票系统
分类2
硬实时操作系统
必须使任务在规定时间内完成
软实时操作系统
能使大多数任务在规定时间内完成
网络操作系统
定义
使计算机能方便地传送信息、共享网络资源并将计算机加入网络中
功能
网络通信
源和目标间无差错数据传输
资源管理
网络管理
安全控制、性能监视、故障管理等
网络服务
信息透明性
提供多种通信协议等
分布式操作系统
定义
由多台分散的计算机经网络互联网而成的系统
一个程序可以分布于多台计算机上并行运行
一个节点出错不影响其他节点的运行
主要优点
健壮性强、扩充容易、可靠性高、维护方便、效率较高
与集中式操作系统的主要区别
资源管理、进程通信、系统结构3方面
嵌入式操作系统
嵌入式系统
特点
微型化
具有多种多样的硬件平台
实时性
广泛应用于过程控制、数据采集、通信、信息家电等要求迅速响应的场合
定义
是运行于嵌入式系统之上的操作系统
一般要求占用内存小,根据系统是实际硬件资源对操作系统进行裁剪定制
4.计算机指令
格式
定义
能够被计算机识别并执行的二进制代码,规定了计算机能完成的某种操作
组成
操作码
指出该指令需要完成操作的类型或性质
是二进制代码
二进制位数决定了该种计算机最多能拥有的指令条数(操作种类)
若操作码所占的二进制位数为k,则该种计算机最多拥有2的k次方条指令
操作数(地址码)
按性质分类
源操作数
目的操作数
一般是存放数据的地址
有的指令中只有操作数而没有地址码,例如暂停指令、停机指令等
字节数
各不相同
单字节指令
只占一个字节
双字节指令
占两个字节
n字节指令
寻址方式
操作数的真实地址称为有效地址,由寻址方式和形式地址共同决定
寻址方式
指确定本条指令的数据地址以及下一条将要执行的指令的地址,与硬件结构密切相关
分类
指令寻址
顺序寻址
跳跃寻址
数据寻址
立即寻址
所需操作数由指令的地址码部分直接给出
直接寻址
指令的地址码部分给出操作数在存储器中的地址
隐含寻址
操作数的地址隐含在操作码或某个寄存器中
间接寻址
给出存放操作数地址的地址
寄存器寻址、寄存器间接寻址、堆栈寻址等
计算机指令系统
定义
某种计算机所有指令的集合
不同类型的计算机的指令系统(包括指令的条数以及每一条指令中的操作码和地址码)是不同的
不同计算机功能指令的共同点
数据传送指令
在内存之间、CPU与寄存器间、CPU的寄存器与内存间传输
数据处理指令
处理数据,包括算术运算、逻辑运算和关系运算
程序控制指令
控制程序中指令的执行顺序
输入/输出指令
实现外部设备与主机之间的数据传输
其他指令
对计算机的硬件进行管理、堆栈操作等
指令执行的基本过程
用程序计数器(PC)来决定程序各条指令的执行顺序
步骤
取指令
按程序计数器的地址,从内存中取出要执行的指令送到指令寄存器
分析指令
译码器对操作码进行译码,使操作码转换成控制信息,地址码确定操作数存放的地址
执行指令
由操作控制电路发出信息,由源地址码指出操作,存放在目的地址码指定的地方
修改程序计数器
若当前执行完的指令不产生转移地址,将程序计数器+n(当前为n字节指令)
若当前执行完的指令为转移指令,将转移地址送入程序计数器
指令执行的时序
CPU周期
背景:存储器的速度最慢,CPU访问一次内存所用时间较长
定义:用内存中读取一个指令字的最短时间来规定CPU周期,也称机器周期
取指令:必须访问存储器,占用1 个CPU周期
分析指令:无需一个完整的周期,在取指周期后期即可完成
执行指令
可能不访问存储器(无操作数)
访问一次存储器(单地址直接寻址等)
访问两次或多次存储器等
可能会是一个周期到几个周期
1.发展历程
第一台电子数字计算机——ENIAC
发展的四个阶段
电子管计算机时代
晶体管计算机时代
集成电路计算机时代
大规模集成电路计算机时代
2.体系结构
冯.诺依曼——存储程序控制思想
计算机(硬件)由运算器、存储器、控制器、输入设备和输出设备五大基本部件组成
计算机内部采用二进制来表示指令和数据
需将编好的程序和原始数据实现存入存储器中,再启动计算机工作
10.存储管理
功能和地址重定位
存储管理的功能
地址变换
把用户程序中的相对地址转换成实际内存空间的绝对地址
内存分配
根据用户程序的需要和内存空间的实际大小,按一定策略划分内存
存储共享与保护
一方面允许各用户程序能够共享系统或用户的程序和数据
另一方面要求各程序之间互不干扰或破坏对方
存储器扩充
由于多道程序共享内存,内存资源很紧张,在合理运用内存的情况下,除了当前需要的程序和数据在内存,其余部分暂时存储在外存中,等需要时再调入内存使用
地址重定位
相对地址
用户在编写程序时不知道自己程序存储的位置,所以不可能用内存中的实际地址(也称物理地址)来编写程序,只能相对于某个基准地址(通常为0地址)来编程、安排指令和数据的位置,这种在用户程序中使用的地址称为相对地址,也称逻辑地址
地址变换
当用户程序进入内存执行时,要把用户程序中的所有相对地址转换成内存中的实际地址,否则用户程序无法执行
地址重定位
在地址变换中,对用户程序中的指令地址以及指令中有关地址的部分进行调整的过程
作用
能够建立用户程序的逻辑地址与物理地址之间的对应关系
实现方式
静态地址重定位
在程序执行之前由操作系统的重定位装入程序完成
程序必须占用连续的内存空间
一旦装入程序后,程序不便于移动
动态地址重定位
在程序执行期间进行,由专门的硬件机构来完成
通常采用一个重定位寄存器(内容是程序装入内存的起始地址)
在每次进行存储访问时,将取出的逻辑地址加上重定位寄存器的内容形成物理地址
优点
不要求程序撞日固定的内存空间
在内存中允许程序再次移动位置,而且可以部分地装入程序运行
便于多个作业共享同一程序的副本而被广泛采用
存储管理技术
连续存储管理
也称为界地址存储管理
基本特点
内存空间被划分为一个一个区,一个作业占一个分区,即系统和用户作业都以分区为单位享用内存
在这种分配方式中,地址重定位采用静态地址重定位方法,分区的存储保护可采用上、下界寄存器保护方式
为实现地址转换,需要设置一个基址寄存器BR与限长寄存器LR,具体地址变换过程见P27
分页式存储管理
作业空间被划分为页,实际内存空间被划分为块,其中页的大小与块的大小相等
当某个作业被调入内存运行时,由重定位机构将作业中的页映射到内存空间对应的块上,从而实现地址的转换
地址重定位
页表
在内存管理中为每个作业开辟一块特定的区域,建立起作业的逻辑页与存储块之间的对应关系表,也称页面映像表
最简单的页表只包含页号和块号两个内容
起始地址和长度放在该作业的进程控制块PCB中
当前作业的页表由一个专用的控制寄存器(页表始止寄存器)来指定
在作业的执行过程中,由硬件地址分页结构自动地将每条程序指令中的逻辑地址解释成两部分——页号p和页内地址w,通过页号查页表得到存储块号b,与业内地址w结合在一起形成物理地址,访问内存后得到操作数据
分页式存储保护
实现方式
一是在地址变换时,产生的页号应小于页表长度,否则视为越界访问
二是可以在页表中增加存取控制和存储保护的信息,对每个存储块,可允许4种保护方式:禁止做任何操作、只能执行、只能读、能读/写
当要访问某页时,先判断该页的存取控制和存储保护信息是否允许
加了存取控制信息的页表表项结构为:页号+块号+存取控制信息
优点
能有效解决碎片问题,内存利用率高,内存分配与回收算法比较简单
缺点
采用动态地址变换机构增加了硬件成本,同时降低了处理机速度
分段式存储管理
作用
较好地解决了程序和数据的共享以及程序动态链接等问题
作业的地址空间由若干个逻辑分段组成,每一分段是一组逻辑意义完整的信息集合,并有自己的段名
每一段是以0开始的连续的以为地址空间,整个作业构成了二维地址空间
以段为基本单位分配内存,每一段必须分配连续的内存空间,但各段之间不要求连续
分段式存储管理的逻辑结构为:断号s+段内位移w
管理关键
在于如何将分段地址结构变成一维的地质结构
地址转换
采用动态重定位技术
优点体现在地址空间的管理上
段页式存储管理
将分页和分段式存储管理相结合,兼具两者的优点
特点
作业地址空间进行段式管理
将其分成若干个逻辑分段,每段都有自己的段名
每段内再分成若干大小固定的页,每段从零开始为自己的各页依次编写连续的页号
对内存空间的管理上,将其分成若干个与页面大小相同的物理块,对内存空间的分配以物理块为单位
作业逻辑地址结构:段号s+段内页号p+页内位移d(p+d=段内位移w)
地址变换
系统为每个作业建立一张段表,为每个段建立一张页表
段表表项中至少包括段号、页表起始地址、页表长度等信息
页表起始地址指出了该段的页表在内存中的起始存放地址
页表表项中至少包括页号、块号等信息
为了指出运行作业的段表起始地址和段表的长度,硬件需要有一个段表控制寄存器
虚拟存储器管理
根据用户需要的资源情况,将信息在内存和外存中来回转移位置,从而提供了一个比实际内存空间大的多的使用空间,这种存储其就是虚拟存储器
用于支持虚拟存储器的外存称为后备存储器,虚拟存储器是对主存(内存)逻辑的扩展
虚拟存储器使存储系统既具有相当于外存的容量,又有接近主存的访问速度
分类
请求页式存储管理
如果作业的所有界面不是一次性装入,而是根据作业实际运行要求只装入了目前运行所需要的一些页,其余的页仍保留在外存,等到需要时再请求系统调入的分页管理
状态位
用以表示当前页是否在内存中,N表示不在,Y表示在
地址变换
根据页号可查表
如果该页在内存,查找得到相应块号,转换为物理地址,执行程序指令
如果该页不在内存,则会引起缺页中断,发生后系统会处理中断,将该页由外存读入并修改页表项中的状态位,填入实际内存块号,之后再转换为物理地址,继续运行程序指令
需建立一些表来完成地址变换
它们既可以由硬件寄存器实现,也可以借助内存单元来实现
作业表JT
记录每个作业的状态和资源使用的信息
信息主要包括作业号、页表大小、页表地址等
每一个作业要有一个页表PMT
记录该作业每一页的页号(从第0页开始)以及该页是否在内存的标志
如果某页已经进入内存,则还记录该页在内存的块号
存储分块表MBT
记录内存空间中每一块的使用情况
系统会按照这个表的内容来具体分配或释放内存块
页面置换算法
最优算法(OPT)
从内存中移出以后不再使用的页面,若没有这样的页面,则移出以后最长时间内不再需要访问的页面
是最理想的页面置换算法,只有理论上的意义
先进先出算法(FIFO)
先淘汰那些驻留在内存时间最长的页面
即先进入内存的页面会被先置换掉,因为最先进入内存的页面不再被访问的可能性最大
最近最久未使用算法(LRU)
考虑程序局部性原理,当置换页时,选择最近一段时间最久未使用的页面予以淘汰
能够普遍地适用于各种类型的程序,但实现较为困难
优点
提供了大容量的虚拟存储器,用户的地址空间不再受内存大小的限制
可以容纳更多的作业进入系统,更有利于多道程序的运行
更有效地利用了内存
请求段式存储管理
采用程序局部性原理,段式逻辑地址空间中的程序段在运行时不需要全部装入内存,而是在需要时再调入内存
程序运行时,首先调入一个或若干个程序段运行,在运行过程调用其他段时,会产生段错误,操作系统会根据该段长度在内存分配一个连续的分区给该段使用
若内存中没有足够大的空闲分区,则考虑进行段的紧凑或将某个段或某些段淘汰出去
机器数
定点数(整数)
浮点数(小数)