4.1 存储器管理引言(P98)
* 内存:CPU能直接存取指令和数据的存储器,
由字或字节构成的一维数组。
* 内存在计算机系统中的地位:
CPU—内存—I/O系统—显示器、打印机。
4.1.1 存储器的层次
外存 |
——→ ←—— |
内存 |
——→ ←—— |
高速缓存器 |
能与内存交换程序和数据 |
|
能与CPU交换程序和数据 |
4.1.2 用户程序的主要处理阶段(P99)
用户 |
→ |
编辑 |
→ |
编译 |
→ |
连接 |
→ |
装入 |
→ |
进程 |
用vi编辑 |
编译源文件 |
连接目标文件 |
把可执行文件 |
执行内存中 |
4.装入阶段(P101)
* 相对地址(逻辑地址)
用户程序经编译后的目标模块以0为基地址顺序编排的地址。
* 绝对地址(物理地址)
内存中各物理存储单元的地址从统一的基地址顺序编排的地址。
* 重定位
把逻辑地址转变为内存的物理地址的过程。
4.1.3 重定位(P101)
* 逻辑地址空间(地址空间)
由程序逻辑地址组成的地址范围。
* 物理空间(绝对空间)
由内存中一系列存储单元所限定的地址范围。
* 程序A装入内存时的情况(P102)
地址空间 |
内存空间 |
||
0 |
|
0 |
|
|
|
|
|
100 |
LOAD 1,500 |
5000 |
|
|
|
|
|
500 |
12345 |
5100 |
LOAD 1,5500 |
|
|
|
|
700 |
|
5500 |
12345 |
|
|
|
|
|
|
5700 |
|
* 地址100号单元的指令LOAD 1,500。
把500号单元数据12345装到寄存器1。
* 程序装入内存后进行了地址变换。
地址5100号单元的指令LOAD 1,500。
把5500号单元数据12345装到寄存器1。
1.静态重定位
由装入程序把程序的逻辑地址都改成实际的内存地址,
装入时一次完成。
2.动态重定位
由硬件地址变换机构在程序执行期间
每次访问内存之前进行重定位。
0 |
|
|
|
|
重定位 |
|
0 |
|
|
|
|
|
|
↓ |
|
|
|
100 |
LOAD 1,500 |
—→ |
相对地址 |
—→ |
+ |
|
5000 |
|
|
|
|
|
|
| |
|
|
|
500 |
12345 |
|
|
|
| |
|
5100 |
LOAD 1,5500 |
|
|
|
|
|
| |
|
|
|
700 |
|
|
|
|
└ |
—→ |
5500 |
12345 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5700 |
|
|
|
|
|
|
|
|
|
|
4.2 存储管理基本技术
4.2.1 分区法(P104)
1.固定分区法
内存中分区的个数和分区的大小固定不变。
2.动态分区法
内存中的分区在作业进入内存时建立,其大小适应作业大小。
4.2.2 可重定位分区分配(P107)
* 碎片:内存中容量太小、无法被利用的小分区。
* 紧缩:集中已分配区,留出空闲区。
4.2.3 对换技术(P110)
* 对换技术:
在多道程序环境中,内存中保留多个进程。
系统把内存中暂时不能运行的进程换出到外存上,
把具备运行条件的进程从外存换到内存中。
4.3 分页存储管理技术
4.3.1 虚拟存储器的概念(P111)
* 虚拟存储器(Virtual Memory)
扩充内存物理的地址空间,把程序当前不使用的部分放在磁盘上。
* 虚拟存储器的基本特征
虚拟扩充、部分装入、离散分配、多次对换。
4.3.2 分页的概念
1.分页存储管理的基本概念(P114)
分页存储管理的基本方法
(1)逻辑空间分页:将进程的逻辑地址空间划分成大小相等的页面。
(2)内存空间分块:把内存划分成与页面相同大小的内存块。
(3)逻辑地址表示
31 |
12 |
11 |
0 |
页号(p):1M个页面 |
页内地址(d):4KB地址 |
* 逻辑地址的页号p和页内地址d的计算公式
页号p=INT[A/L]
页内地址d=[A] MOD L
其中:A为逻辑地址,L为页面大小。
已知:A=3456 L=1KB
求:页号p、页内地址d
逻辑地址A |
0 |
1024 |
2048 |
3072 |
3456 |
页号p |
|
p=1 |
p=2 |
p=3 |
页内地址d=384 |
(4)内存分配原则(P115)
进程的页分别装入物理上不相邻的内存块中。
地址空间 |
|
页表 |
|
内存空间 |
块号 |
|
0页 |
—→ |
0 |
3 |
|
|
0 |
1页 |
—→ |
1 |
5 |
|
|
1 |
3页 |
—→ |
2 |
6 |
|
|
2 |
4页 |
—→ |
4 |
10 |
|
作业1,0页 |
3 |
|
|
|
|
|
4 |
|
|
|
|
|
|
作业1,1页 |
5 |
|
|
|
|
|
作业1,2页 |
6 |
2.分页系统中的地址映射(P116)
* 把页号对应页表中的物理块号f装入物理寄存器,
页内地址d送入物理地址寄存器的块内地址字段。
|
|
逻辑地址 |
|
物理地址 |
|
内存空间 |
|||
|
|
|
┌— |
—————— |
——— |
—┐ |
|
|
|
CPU |
——→ |
页号p |
页内地址d |
|
块号f |
页内地址d |
——→ |
|
|
|
|
| |
|
页表 |
↑ |
|
|
|
|
|
|
| |
|
0 |
3 |
| |
|
|
|
|
|
| |
|
1 |
5 |
| |
|
|
|
|
|
| |
|
|
|
| |
|
|
|
|
|
└—— |
———→ |
p |
f |
—┘ |
|
|
|
自测题(P140)
3.名词解释(P281)
物理地址、逻辑地址、逻辑地址空间、内存地址、重定位、
静态重定位、动态重定位、碎片、紧缩、可重定位地址。
8.在分页系统中页面大小由谁决定?页表的作用是什么?
如何将逻辑地址转换成物理地址?(P282)
10.已知:每页为1kB,页号(0、1、2、3)
对应的块号(5、10、4、7),
求:逻辑地址0A5C(H)对应的物理地址?(P115)
13.已知:段表
求:逻辑地址对应的物理地址。(P126)
5.1 概述
5.1.1 文件及其分类(P143)
1.文件
文件(file):被命名的数据的集合体。
2.文件类型
按用途分类:系统文件、库文件、用户文件。
按数据形式分类:源文件、目标文件、可执行文件。
按存取权限分类:只读文件、读写文件、可执行。
按保存时间分类:临时文件、永久文件。
按文件构造和处理方式分类:普通文件、目录文件、特别文件。
5.1.2 文件系统的功能(P145)
* 文件系统:操纵和管理文件,实现文件的共享和保护,按名存取。
* 文件系统功能:文件管理、目录管理、文件存储空间的管理、
文件的共享和保护、提供方便的接口。
5.2 文件的逻辑组织和物理组织
5.2.1 文件的逻辑组织(P146)
1.有结构文件
定长记录文件、变长记录文件。
2.无结构文件
有序字符流,如源程序、可执行程序、库函数。
5.2.2 用户对文件的存取方法(P147)
* 顺序或随机存取方法。
5.2.3 文件的物理组织(P149)
* 连续文件、串连文件、索引文件、多重索引文件。
5.3 目录文件
5.3.1 文件控制块和文件目录(P153)
1.文件控制块
文件名、文件类型、位置、大小、保护信息、使用计数、时间。
2.文件目录
文件名——外存物理位置映射。
5.3.2 目录结构(P154)
* 单级和二级目录结构
* 树形目录:绝对路径、相对路径。
5.4 文件存储空间的管理(P159)
* 空闲空间表法、空闲块链接法、位示图法。
5.5 文件的共享和文件系统的安全性
5.5.2 文件的存取控制(P167)
文件主 | 同组用户 | 其他用户 | ||||||
读r | 写w | 执行x | 读r | 写w | 执行x | 读r | 写w | 执行x |
1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | 0 |
可以读写执行 | 可以读写 | 可以读 |
5.6 UNIX文件的主要操作及其命令
5.6.1 普通文件的操作
2.文件显示命令(P171)
cat显示或连接文件,如 $ cat a.c
more分屏显示文件,如 ls -l |more
head显示文件前几行,默认10行,如 head a.c
tail显示文件后几行
pr向屏幕输出,如 pr a.c
2.文件的复制、删除和移动(P172)
cp复制,如 cp a.c b.c
mv移动或重命名,如 mv a.c d.c
rm删除文件或目录,如 rm d.c
5.6.2 目录文件的操作
2.目录的创建和删除(P174)
mkdir, rmdir
3.目录的显示、复制和改变工作目录
ls, copy, cd,
4.改变文件存取权限(P175)
* 符号方式
格式:chmod 用户身份 操作符号 权限 文件名
举例:chmod o + r file1
说明:使其他用户对文件file1有读权限。
* 绝对方式
格式:chmod 权限数字 文件名
举例:chmod 754 file1
说明:将文件file1的存取权限置为754,即rwxr-xr--。
自测题(P184)
2.一般说来,文件系统应具备哪些功能?(P283)
4.什么是文件的逻辑组织和物理组织?文件的逻辑组织有几种形式?
(P283)
5.文件的物理组织形式主要有哪几种?各有什么优缺点?(P284)
7.什么是文件控制块?它与文件有何关系?(P284)
6.1 设备管理概述
6.1.1 设备分类和标识(P186)
1. 设备分类:
存储设备用于存储信息。
输入/输出设备用于输入/输出信息。
2. 设备标识:
设备绝对号是系统为设备指定的惟一代号。
设备相对号是用户自己规定的设备序号。
6.1.2 缓冲技术(P187)
1.缓冲技术的引入
缓冲技术的目的:
(1)缓和CPU与外设间速度不匹配的矛盾。
(2)提高CPU与外设之间的并行性。
(3)减少对CPU的中断次数。
2.缓冲区的设置
缓冲由硬件或软件来实现。有单缓冲、双缓冲、多缓冲。
6.1.3 I/O系统的结构(P189)
1.主机I/O系统
主机I/O系统的四级结构:主机、通道、控制器和外部设备。
控制器:交替控制几台同类设备的电子部件。
通道:专门处理I/O操作的机构。
2.微型机I/O系统
利用总线I/O系统结构连接CPU、内存、控制器和I/O设备。
6.1.4 设备管理的功能(P190)
1.设备管理的目标:
使用方便、与设备无关、效率高、管理统一。
2.设备管理的功能:
监视设备状态、进行设备分配、完成I/O操作、
缓冲管理与地址转换。
6.2 设备分配技术
6.2.1 设备分配技术(P192)
1.与设备分配相关的因素
设备的固有属性、分配算法、防止死锁、设备无关。
2.设备分配技术:
独占分配:分配独占设备(如打印机)。
共享分配:分配共享设备(如磁盘机)。
虚拟分配:
分配虚拟设备,使用SPOOLing系统(同时外围联机操作)。
利用共享设备模拟独占设备。
3.设备分配算法:
先来先服务法:以申请时间先后为序。
优先级高的优先服务:以优先级高低为序。
6.3 输入输出管理
6.3.1 处理输入输出请求的步骤(P196)
1.用户进程发出I/O请求
2.转去执行操作系统的核心程序
3.设备驱动程序是控制设备动作的核心模块
4.I/O完成后,由通道或设备产生中断信号
6.3.2 设备驱动程序功能
接受I/O请求,分配相应设备,启动设备工作,处理设备中断。
6.4 UNIX常用设备安装和管理
6.4.1 打印机的安装和管理(P199)
1.打印机的安装
端口设置:串口COM1,主并口设备名/dev/lp0。
添加打印机到系统中,打印机配置。
6.4.2 终端的安装和管理(P205)
1.终端的安装
连接终端,设置终端,开启终端。
2.终端的管理(P206)
终端配置文件,改变串行线特性,设置终端类型,
改变主控台,禁用终端。
自测题(P209)
1.什么是存储设备?什么是输入/输出设备?
UNIX系统中对设备怎样分类?(P286)
2.UNIX系统中主次设备号各表示什么含义?(P286)
3.为什么要引入缓冲技术?设置缓冲区的原则是什么?(P286)
4.操作系统中设备管理的功能是什么?(P286)
8.设备驱动进程主要执行什么功能?(P287)