Liuqichun's Blog

操作系统|存储管理、文件系统、输入和输出系统

1、说一说程序的编译过程

以 C 语言为例:

预处理阶段->编译阶段->汇编阶段->链接阶段

  1. 预处理阶段:读取 c 源程序,对其中的伪指令(以#开头的指令)和特殊符号进行处理。如对 #include 及宏定义 #define 替换成其真正的内容
  2. 编译阶段:把预处理后的文件(.i 结尾)编译为汇编文件
  3. 汇编阶段:把汇编语言翻译为二进制机器指令(这个过程中把指令变成了可重定位程序)
  4. 链接阶段:把调用的库和函数合并到程序中

2、程序的链接方式

链接方式:

3、说一下地址重定位

重定位是指将程序中的逻辑地址转换为内存中的物理地址的过程。

重定位分为:

image.png

4、常用的内存分配算法

5、简述内存交换技术(内存对换(swaping)技术、虚拟内存技术)

因为内存容量与程序体积总是存在差异,内存空间总是无法满足程序整个的运行,为了节省、(逻辑上)扩大内存的容量、提高内存的利用效率,所以出现了内存交换技术。

交换技术分为:

6、说一说分页式存储管理、分段式存储管理

分页式管理把内存划分成多个大小相同页面,分页式是一维的且地址空间连续。分页式存储管理的页面划分与 IP 划分网段相似,前一部分代表页号,后一部分表示页内地址,例如一个 32 位字长的计算机,可以划分 2^20 页即 1M 页,2^12 即 4Kb 页内地址。

分段式存储区管理与分页式存储管理相似,但采用离散的方式管理空闲分区,分区管理依靠段表,段表包括:段号、段长、基址等内容。

二者的区别:


7、请求分页置换算法

最佳页面置换算法 Optimal 先进先出 FIFO 最久未使用算法 LRU、最少使用置换算法 Clock 及其改进 Clock 置换算法

8、设备驱动程序

是 I/O 高层与设备控制器之间的通信程序

9、简述 I/O 的层次结构

image.png

用户层软件:格式化 I/O 请求,SPOOLing 技术 设备独立性:这一层把物理设备抽象为一个“逻辑符号”,程序通过“逻辑符号”访问设备,操作系统通过设备表对物理设备进行管理。 设备驱动程序:设备驱动程序是系统高层与设备控制器之间的通信程序 中断处理程序: 通过中断向量表找到中断程序然后进行处理

10、I/O 设备的控制方式

11、计算机中设备独立性是如何实现的

设备独立性是在计算机中使用一个通用的设备逻辑名称代表一个物理设备,再配以设备分配表。使用时只需要使用逻辑设备名称,设备分配情况记录在设备分配表,这样就实现了物理设备的独立性。

12、SPOOLing(假脱机技术)

SPOOLing 即假脱机技术,

13、磁盘调度算法

14、外存的组织方式

外存的组织方式分为顺序组织、链接组织、索引组织(单级索引、多级索引、增量索引)

14、简述文件存储的组织方式

空闲表法、空闲链表法、位示图法、成组链接法

15、简述 FAT 文件系统

FAT 是 Windows 上的一个文件系统。 FAT 使用一张单独的表记录文件的空间分配。 FAT 支持将一个磁盘最多分成四个逻辑分区

<< Previous Post

|

Next Post >>