分值:3-7
1. 计算机系统概述
2. 计算机组成结构
3. 存储结构
3.1. 层次化存储结构
一般用什么调什么,局部性原理
内存和外存可以统称为虚拟存储器
我们可以操作哪些:操作外存、内存、CPU寄存器。Cache具有透明性。
3.2. Cache
- Cache的功能:提高CPU数据输入输出的速率,突破冯诺伊曼瓶颈,即CPU与存储系统间数据传送带宽限制。
- 在计算机的存储系统体系中,Cache是访问速度最快的层次。
- Cache对程序员来说是透明的。【硬件】
- 使用Cache改善系统性能的依据是程序的局部性原理。
-
- 时间局部性
- 空间局部性
时间局部性:指程序中的某条指令一旦执行,不久以后该指令可能再次执行,典型原因是由于程序中存在着大量的循环操作。
空间局部性:指一旦程序访问了某个存储单元,不久以后,其附近的存储单元也将被访问,即程序在一段时间内所访问的地址可能集中在一定的范围内,其典型情况是程序顺序执行。
工作集理论:工作集是进行运行时被频繁访问的页面集合。
3.3. 磁盘管理
3.3.1. 磁盘基本结构与存取过程
存取时间 = 寻道时间 + 等待时间,寻道时间是指磁头移动道磁道所需的时间,等待时间为等待读写的扇区转到磁头下方所用的时间。
读取磁盘数据的时间应包括以下三个部分:
- 找磁道的时间。
- 找块(扇区)的时间,即旋转延迟时间。
- 传输时间
存取时间越小越好,通常不考虑。
相邻磁道需要10ms,相邻数据块移动10个磁道。每块旋转延迟时间。
3.3.2. 磁盘移臂调度算法
- 先来先服务(FCFS)
- 最短寻到时间优先(SSTF)
- 扫描算法(SCAM)【电梯】
- 循环扫描(CSCAN)算法 单项的,如:从外到到内,到对内部,再由外到内。
离他最近的柱面,只有15,15与51无从判断
4. 操作系统
4.1. 特殊的操作系统
5. 进程管理
5.1. 进程与线程的基本概念
进程是程序在一个数据集合上运行的过程,它是系统级性能资源分配和调度的一个独立单位。它由程序块、进程控制块(PCB)和数据块三部分组成。
PCB是进程存在的唯一标志。内容包含进程标识符、状态、位置信息、控制信息、队列指针(链接同一状态的进程)、优先级、现场保护区等。
进程与程序的区别:进程是程序的一次执行过程,没有程序就没有进程。
程序是一个静态的概念,而进程是一个动态的概念,它由创建而产生,完成任务后因撤销而消亡;进程是系统进行资源分配和调度的独立单位,而程序不是。
进程的2个基本属性:可拥有资源的独立单位;可独立调度和分配资源的基本单位。
5.2. 进程的状态
三态模型和五态模型
5.3. 信号量与PV操作
- 临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机、磁带机等。
- 临界区:每个进程中访问临界资源的那段代码称为临界区
- 信号量:是一种特殊的变量。。全局
注:P是荷兰语中的Passeren,V是荷兰语的Verhoog。
S<0 时,既能表示资源数,也能表示排队数。
信号量用来计数资源数,
P操作是对资源 -1,即锁定资源,申请占用
S<0 ,检查资源,如果资源不足,则排队领资源,如S=-1 S=-2等等。不需要申请资源则执行后续操作
S = S + 1,释放资源。
S <= 0,如果在S+1后S=0,表示之前有一个进程在排队。则资源释放(V操作)后,通知排队的进程。而该阻塞的进程不会直接执行,而是进入就绪状态。
注意:P操作是<0,V操作是<=0
5.3.1. PV操作与互斥模型
多个进程共享一台打印机问题(互斥模型):
互斥信号量S的初值为1。
5.3.2. PV操作
P操作检查资源是否充足
P(S1)检查的是空间是否充足,P(S2)检查的是产品是否充足
产品被取出,释放缓冲区资源V(S1)。产品送到缓冲区,释放产品资源V(S2)
上述为pv与同步模型的应用。
送产品和取产品不能同步操作,所以要加索。同步与互斥之间的应用。
5.3.3. 习题
互斥模型。用之前加锁,用之后解锁。
5.4. 前趋图
前趋图的表示:
- 1个箭头表示一个前趋关系
- A有箭头指向D,则记录为(A,D)
- 没有前趋进程的节点是起始进程,没有后继进程的结点是终结进程
还有前趋进程、后继进程
有前趋就有P操作(资源检查)
5.5. 前趋图与PV操作例题
相同字母的是间接制约,前面进程制约后面进程。直接制约是先后顺序关系。
流出的是V操作,流入的是P操作。
P1在操作之后有两个后继,所以有两个V操作来通知后继进程。
P2在操作之前有两个P操作。
P2完成有一个V操作
5.6. 死锁
考察概率较低。
进程管理是操作系统的核心,但如果设计不当,就会出现死锁的问题。如果一个进程在等待一件不可能发生的事,则进程就死锁了。而如果一个或多个进程产生死锁,就会造成系统死锁。
5.7. 银行家算法
6. 存储管理
从外存中调用数据到内存中供CPU使用。
6.1. 页式存储
页式存储:将程序与内存均划分为同样大小的块,以页为单位将程序调入内存。
高级程序语言使用逻辑地址;
运行状态,内存中使用物理地址。
逻辑地址 = 页号 + 页内地址
物理地址 = 页帧号 + 页内地址
例如,页式存储系统中,每个页的大小为4KB,4K = 2^11
逻辑地址:
10 1100 1101 1110
对应的物理地址为:
110 1100 1101 1110
页内地址1100 1101 1110与上方保持一致,页号10为二进制数值对应为2,页号2查表可得块号为6,转化为二进制为110
优点:利用率高,碎片小,分配及管理简单
缺点:增加了系统开销;可能产生抖动现象
淘汰原则:在内存中,及状态位为1,之后访问位为0,未访问过的。最后修改位为1,修改开销较大。
5148H 十六进制 12为二进制对应 3位六进制,则可变的只有5。
6.2. 段式存储
段式存储:按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长度可以不一样。
逻辑段地址:(段号(基址),段内偏移量)
优点:多道程序共享内存,各段程序修改互不影响
缺点:内存利用率低,内存碎片浪费大
地址益出
转换的时候才涉及物理地址。
6.3. 段页式存储
考察很少
段页式存储:段式与页式的综合体。先分段,再分页。1个程序有若干个段,每个段中可以有若干页,每个页的大小相同,但每个段段大小不同。
不同的段,段长可以不一样。
优点:空间浪费小、存储共享容易、存储保护容易、能动态连接。
缺点:由于管理软件的增加,复杂性和开销页随之增加,需要的硬件以及占用的内容页有所增加,使得执行速度大大下降。
7. 文件管理
7.1. 索引文件结构
直接索引,
通常题目会说明一个数据块(索引块)的大小,如固定为1KB,而每一个地址项占据4B。则每个地址项有256项
如从10开始 10~x,x-10+1 = 256,
二级间接索引:256 * 256 = 65536 个逻辑页,
直接索引:0、1、2、3、4、5
大小1KB,1KB/4B = 256个索引,一个一级索引节点,所指向的1级索引表可以放256个地址项,从5开始到x结束,x-5+1 = 256,x为260。
7.2. 位示图
位示图考察较多,其它未考察过
位表示比特位,bit
0-空闲,1-占用
1个磁盘1个bit位
300GB 每个物理块1MB 300*2^10 / 32
求 2048 号所占的字号和位号?
2048 + 1 = 2049 2049 / 32 = 64 余 1,则放在第65个字的位置
编号则为64,取的比特位应该为0号位置,如果要分配就将0置为1,回收1置为0
8. 性能指标
名词解释:
- 字长和数据通路宽度
-
- 字长:32位/64位
- 数据通路:数据传输过程中一次性通过的数据比特位
主频与CPU时钟周期
- CPU时钟周期 = 1 / 主频
CPI与IPC
- 平均每条指令的平均时钟周期个数(CPI,clock per instruction) = 总周期 / 总条数
- 每(时钟)周期运行指令条数(IPC,instruction per clock) = 总条数/总周期
- 每条指令完成的总时间 = CPI * 时钟周期 = CPI / 主频
- 百万条指令(MIPS,Million Instructions Per Second)
-
- IPS=总条数/总时间=1/每条指令完成的总时间=1/(CPI/主频)=主频/CPI=主频*IPC
- 【上述表达式注意需要单位转换为百万级别】
1 / 5 * 3us 得到IPS,转换为百万级,再除以 10^6。
主频 / 外频 = 倍频
9. 性能调整
10. 阿姆达尔(Amdahl)解决方案
11. 性能评价方法
识别方法的特点
12. Web服务器的性能评估
- 在Web服务器的测试中,反映其性能的指标主要有:最大的兵法连接数、响应延迟和吞吐量等。
- 常见的Web服务器性能评测方法有基准性能测试、压力测试和可靠性测试。
系统监控
进行系统监视通常有3种方式:一是通过系统本身提供的命令,如UNIX/Linux系统中的W、ps、last,Windows中的netstat等;二是通过系统记录文件查阅系统在特定时间内的运行状态;三是集成命令、文件记录和可视化技术的监控工具,如Windows的Perfmon应用程序。
13. 总结
14. 数据的表示
14.1. 进制转换
14.1.1. 按权展开
14.1.2. 短除法
14.1.3. 减法
14.1.4. 进制转换
三位二进制为一组,不足前面补0
15. 流水线
相关参数计算:流水线执行时间计算、流水线吞吐率、流水线加速比等。
流水线是指在程序执行时多条指令重叠进行操作的一种准并行处理实现技术。各种部件同时处理是针对不同指令而言的,它们可同时为多条指令的不同部分进行工作,以提高各部件的利用率和指令的平均执行速度
15.1. 吞吐率
流水线最大吞吐率:
15.2. 流水线加速比计算
完成同样一批任务,不实用流水线所用的时间与使用流水线所用的时间之比成为流水线的加速比。计算流水线加速比的基本公式如下:
15.3. 练习题
16. 磁盘管理
16.1. 磁盘优化分布存储
16.2. 磁盘单缓冲区与双缓冲区读取
17. CISC与RISC
识别和区分就可以了
复杂指令集计算机(CISC,Complex Instruction Set Computers)
精简指令集计算机(RISC,Reduced Instruction Set Computers)
18. 校验码
18.1. 奇偶校验
- 奇偶校验码的编码方法是:由若干位有效信息(如一个字节),再加上一个二进制位(椒盐味)组成校验码
- 奇校验:整个校验码(有效信息位和校验位)中“1”的个数为奇数。
- 偶校验:整个校验码(有效信息位和校验位)中“1”的个数为偶数。
奇偶校验,可检查1位的错误,不可纠错。
18.2. 循环校验码CRC
考的较多
CRC校验,可检错,不可纠错。循环冗余校验(CRC,Cyclic Redundancy Check)
- CRC的编码方法是:在k位信息码之后拼接r位校验码。应用CRC码的关键是如何从k位信息位简便地得到r位校验位(编码),以及如何从k+r位信息码判断是否出错。
- 循环冗余校验码编码规律如下:
-
- 把待编码的N位有效信息表示位多项式M(X);
- 把M(X)左移K位,得到M(X) X X^k,这样空出了K位,以便拼装K位余数(即校验位)
- 选取一个K+1位的产生多项式G(X),对M(X) X X^K做模2除;
- 把左移K位以后的有效信息与余数R(X)做模2加减,拼接为CRC码,此时的CRC码共有N+K位。
- 把接收到的CRC码用约定的生成多项式G(X)去除,如果正确,则余数为0;如果某一位出错,则余数不为0。不同的位数出错其余数不同,余数和出错位序号之间有唯一的对应关系。
什么是模2除法,它和普通的除法有何区别?
模2除法是指在做除法运算的过程中不计进位的除法。(异或运算)
例如,10111对110进行模2除法为:
18.3. 海明校验
18.4. 总结
19. 树形目录结构
文件属性
- R只读文件属性
- A存档属性
- S系统文件
- H隐藏文件
文件名的组成
- 驱动器号
- 路径
- 主文件名
- 扩展名
绝对路径:是从盘符开始的路径。
相对路径:是从当前目录开始的路径。
若当前目录为:D1,要求F2路径,则:绝对路径:/D1/W2/F2,相对路径:W2/F2
20. 数据传输控制方式
程序控制(查询)方式:分为无条件传送和程序查询方式两种。
方法简单,硬件开销小,但I/O能力不高,严重影响CPU的利用率。
程序中断方式:与程序控制方式相比,中断方式因为CPU无需等待而提高了传输请求的响应速度。
DMA方式:DMA方式是为了在主存与外设之间实现高速、批量数据交换而设置的。DMA方式比程序控制方式与中断方式都高效。
(DMAC向总线裁决逻辑提出总线请求;CPU执行完当前总线周期即可释放总线控制权。此时DMA响应,通过DMAC通知I/O接口开始DMA传输。)
通道方式
I/O处理机