计算机基础知识复习9.13

驻留集:指请求分页存储管理中给进程分配的物理块的集合

在采用了虚拟存储技术的系统中,驻留集大小一般小于进程的总大小

若驻留集太小,会导致缺页频繁,系统要花大量的时间来处理缺页,实际用于进程推进的时间很少,驻留集太大,又会导致多道程序并发度下降,资源利用率降低,所以应该选择一个合适的驻留集大小。

固定分配:操作系统为每个进程分配一组固定数目的物理块,在进程运行期间不再改变,即驻留集大小不变。

可变分配:先为每个进程分配一定数目的物理块,在进程运行期间,可根据情况做适当的增加或减少,即驻留集大小可变

局部置换:发生缺页时只能选进程自己的物理块进行置换

全局置换:可以将操作系统保留的空闲物理块分配给缺页进程,也可以将别的进程持有的物理块置换到外存,再分配给缺页进程

链接分配采取离散分配的方式,可以为文件分配离散的磁盘块,分为隐式链接和显示链接两种

隐式链接

隐式链接:除文件的最后一个盘块之外,每个盘块中都存有下一个盘块的指针。文件目录包括文件第一块的指针和最后一块的指针

优点:很方便文件拓展,不会有碎片问题,外存利用率高

缺点:只支持顺序访问,不支持随机访问,查找效率低,指向下一个盘块的指针也需要耗费少量的存储空间

显式链接

显式链接:把用于连接文件各物理块的指针显示地存放在一张表中,即文件分配表(FAT)。一个磁盘只会建立一张文件分配表。开机时文件分配表放入内存,并常驻内存。

优点:很方便文件拓展,不会有碎片问题,外存利用率高,并且支持随机访问。相比于隐式链接

缺点:文件分配表的需要占用一定的存储空间

文件系统的层次结构

以某用户删除文件"D:/工作目录/学生信息.xlsx"的最后30条记录

1.用户需要通过操作系统提供的接口发出上述请求-用户接口

2.由于用户提供的是文件的存放路径,因此需要操作系统一层一层地查找目录,找到对应的目录项-文件目录系统

3.不同的用户对文件有不同的操作权限,因此为了保证安全,需要检查用户是否有访问权限-存取控制模块

4.验证了用户的访问权限之后,需要把用户提供的记录号转变为对应的逻辑地址-逻辑文件系统与文件信息缓冲区

5.知道了目标记录对应的逻辑地址后,还需要转换成实际的物理地址-物理文件系统

6.要删除这条记录,必定要对磁盘设备发出请求-设备管理程序模块

7.删除这些记录后,会有一些盘块空闲,因此要将这些空闲块回收-辅助分配模块

I/O软件的层次

I/O请求->用户层软件->设备独立性软件->设备驱动程序->中断处理程序->硬件

用户层软件:实现与用户交互的接口,向上提供方便易用的库函数

设备独立性软件:向上层提供统一的调用接口(如read/write系统调用),设备的保护,差错处理,设备的分配与回收,数据缓冲区管理,建立逻辑设备名到物理设备名的映射关系,根据设备类型选择调用相应的驱动程序

设备驱动程序:设置设备寄存器,检查设备状态

中断处理程序:进行中断处理

硬件:执行I/O操作,有机械部件,电子部件组成

I/O设备分类

按传输速率分类:低速设备-键盘 中速设备-激光打印机 高速设备-磁盘

按信息交换单位分类:字符设备(信息交换以字符为单位,传输速率低,不可寻址,通常采用中断控制) 块设备(信息交换以块为单位,传输速率高,可寻址,通常采用DMA控制方式)

按设备的共享属性分类:独占设备 (一段时间内只允许一个进程访问,属于临界资源,可能导致死锁)

共享设备:一段时间内允许多个进程访问,但是每个时刻只有一个进程访问(可并发,不可并行)

不会导致死锁,必须是可寻址,可随机访问的设备

虚拟设备:将一台独占设备虚拟为若干台逻辑设备,物理上是独占设备,但逻辑上是共享设备

相关推荐
wuminyu5 小时前
JVM规范学习总结:解释器与JIT编译器如何处理JVM字节码
java·linux·c语言·jvm·c++
ZhengEnCi5 小时前
模型训练完整流程:从数据准备到模型上线的 10 个关键步骤(全文可跑)
后端·算法
王中阳Go5 小时前
后端转 Agent 岗面试怎么答:8 个高频问题与应答口径
人工智能·后端·python·大语言模型
程序猿DD5 小时前
OctaFuse Gateway 2.18.0:MCP 接入支持 OAuth,供应商粘性绑定可视化管理
后端
IMPYLH6 小时前
Linux 的时间为什么会被拨回去
linux·运维·服务器
蒸蒸yyyyzwd6 小时前
AI应用相关可能的面试问题
笔记
ZhengEnCi7 小时前
Agent 规则管理:让 Memory 做索引、让 Skill 存规则——上下文上限实测与分工方案
后端
叼烟扛炮7 小时前
[Git 实战] 学习笔记:从生成 SSH 密钥到解决 TortoiseGit 推送报错全指南
linux·运维·笔记·git·学习
nice_lcj5208 小时前
深入理解 Java 反射:从 Class 对象到方法调用(含性能实测 + 迷你 IOC 实战 + 面试考点)
java·开发语言·后端·面试
xbzb8 小时前
OpenStack 网络管理(理论):Linux 网络虚拟化是 Neutron 的地基
linux·服务器·网络·openstack·network·neutron