网络工程师软考笔记-操作系统篇
第一章:计算机基础
第一节:数据表示
1、进制互转
进制表示
二进制只有0和1,所有指令都会转换成底层二进制代码。一个10进制由8位二进制组成,1-10如下:
二进制 | 十进制 |
|---|---|
00000001 | 1 |
00000010 | 2 |
00000011 | 3 |
00000100 | 4 |
00000101 | 5 |
00000110 | 6 |
00000110 | 7 |
00001000 | 8 |
00001001 | 9 |
00001010 | 10 |
十进制整数转二进制
方法1:熟练掌握2的幂次方的值,套表格直接转换:
2^x | x=7 | x=6 | x=5 | x=4 | x=3 | x=2 | x=1 | x=0 |
|---|---|---|---|---|---|---|---|---|
位权 | 2^7 | 2^6 | 2^5 | 2^4 | 2^3 | 2^2 | 2^1 | 2^0 |
对应数值 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
例子:
将(250)的10进制转换为二进制表示为
250=128+64+32+16+8+2=2^7+2^6+2^5+2^4+2^3+2^1
=11111010
方法二:用10进制除以2取余,直到商为0
二进制小数转十进制

方法一:小数转二进制从左到右依次展开,幂次方取负数
2^x | x=-1 | x=-2 | x=-3 | x=-4 | x=-5 | x=-6 | x=-7 |
|---|---|---|---|---|---|---|---|
位权 | 2^-1 | 2^-2 | 2^-3 | 2^-4 | 2^-5 | 2^-6 | 2^-7 |
对应数值 | 1/2 | 1/4 | 8/1 | 1/16 | 1/32 | 1/64 | 1/128 |
例:(0.1011)转换为十进制
(0.1 0 1 1 )
2^-1 2^-2 2^-3 2^-4
=1/2+1/8+1/16=(11/16)
方法二:十进制小数部分乘以2取整
二进制转八进制
从右往左起每三位二进制转一位八进制,不足三位的在最左边补0;反之转二进制码,每一位八进制转为三位二进制。
(100 011 110)=(436)
二进制转十六进制
从右往左起每四位二进制转一位十六进制,不足四位的在最左边补0;反之转二进制码,每一位十六进制转为四位二进制。
十六进制由1-9 大于9则是a-f(最大16) (1 0001 1110)=(11E)
2、反码、补码、原码
反码表示数要先转原码再计算。
+1 | -1 | 1+(-1) | +0/-0 | |
|---|---|---|---|---|
原码 | 0 0000001 | 1 0000001 | 1 0000010 | +0(00000000)-0(10000000) |
反码 | 0 0000001 | 1 1111110 | 1 1111111 | +0(00000000)-0(11111111) |
补码 | 0 0000001 | 1 1111111 | 0 0000000 | 00000000 |
原码1+(-1)运算
0 0000001
1 0000001
1 0000010 原码相加进位
原码、反码、补码的定义
正数 | 负数 | |
|---|---|---|
原码 | 最高位添加符号位0 | 最高位添加符号位1 |
反码 | 与原码相同 | 保持原符号位不变,数值位按位取反 |
补码 | 与原码相同 | 先保持原符号位不变,数值位按位取反再加1 |
示例:
若某整数16位补码为FFFFH(),则该进制十进制数值为多少
-先取二进制原码:1111 1111 1111 1111
1000 0000 0000 0000
补码是先取反再加1 所以最后一位为1表示为1000 0000 0000 0001
3、逻辑运算

第二节:计算机体系结构结构
1、冯-诺依曼体系结构
控制器主要组成部件包含:控制器、运算器、寄存器、输入设备、输出设备

控制器主要组成部分

运算器主要组成部分

存储器
存储器分为主存储器(简称主存或内存)和辅助存储器(简称辅存或外存)。主存是直接和CPU直接交换信息。外存需要先把信息读取到内存再由内存和CPU进行数据交换
主存储器(main memory)
存放指令和数据,并能由CPU直接随机存取
主存储器可以叠加,数据断电后会丢失。
辅助存储器
用于存放需要长时间保存的程序或数据,断电后不会丢失,容量较大,但存取速度慢
输入设备
用于向计算机输入数据的信息设备,是人机交互的桥梁。如键盘、鼠标、摄像头、扫描仪等
输出设备
用于接收计算机的数据输出设备,如显示器、打印机、音响等
2、计算机总线
总线的定义
是计算机各种功能部件之间传输信息的公共通信干线
计算机总线分类
按照传输信息种类可分为数据总线、地址总线、控制总线
- 数据总线宽度:指CPU种运算器和存储器之间互相连接的内部总线根数,也指代CPU一次读取的二进制位数。也是字长 - 地址总线宽度:也叫地址总线根数,决定了寻址的空间大小。
例如:数据总线宽度为16,说明字长为16bit
地址总线宽度为16,则说明CPU可寻址空间大小为2^16
3、指令系统
1、寻址方式
指令的组成
操作码:指明该指令要完成的操作,如取数,做加法或输出数据等
地址码:指明操作数的内容或所在的存储单元地址
寻址方式
指获得操作数的方法,在指令系统种可采用多种寻址方式,以实现扩大寻址空间并提高编程灵活性的目的

常见的寻址方式有:
1、立即寻址 2、变址寻址 3、直接寻址 4、间接寻址 5、寄存器寻址 6、寄存器间接寻址3.
常考的几种寻址方式:立即寻址(操作数在指令中。速度最快),直接寻址(操作数在内存中,访存一次)

考点二:多种寻址方式的目的
在指令系统中用多种寻址方式的目的是:扩大寻址空间并提高变成灵活性
2、指令系统的类型
类型分两种
指令系统类型 | 指令 | 寻址方式 | 实现方式 |
|---|---|---|---|
CISC(复杂) | 数量多,使用频率差别大,可变长格式 | 支持多种 | 微程序控制技术 |
RISC(精简) | 数量少,使用频率接近,定长格式,大部分为单周期指令,操作寄存器只有load/store操作内存 | 支持方式少 | 增加了通用寄存器;硬布线逻辑控制为主,适合采用流水线 |
3、flynn分类

4、流水线技术
计算流水线周期:各流水段中,执行时间最长的那一段。
n条指令,采用(t1+t2+t3)+(n-1)t
例 : 若指令流水线把一条指令分为取指、分析和执行三部分,且三部分的时间分别是取指2ns,分析2ns,执行lns。那 么,流水线周期是?100条指令全部执行完毕需要的时间就是?
解答:
流水线周期为:2ns
流水线执行100条指令的时间为:( 2 + 2 + 1 ) + ( 100 -1) × 2 = 203nS
流水线技术指标
吞吐率:单位时间内流水线完成的任务数量,Tp=n/Tkn表示指令条数,Tk表示处理n条指令所需要的时间。理论上最大的吞吐率是:1 / 流水线周期 。
加速比:不使用流水线所用的时间与使用流水线所用的时间比即为加速比。
S=Ts/Tk
效率:流水线的设备利用率称为流水线效率。(采用流水线完成n个任务占用的时空区域有效面积与所占区域总面积之比) 。
相关术语
MlPS(Million | nstructions Per Second): 表示每秒处理的百万级的机器语言指令数。
CPI(CIock cycle PerInstruction): 平均指令周期数,表示平均每条计算机指令执行所需的时钟周期。
考法1:
流水线周期t(各流水段中最长的一段)、计算公式(t1+t2+t3+(n-1)t)、理论最大吞吐率(1 / 流水线周期 。)
第三节、存储结构
1、存储系统
(1)、多级存储结构

cache缓存——主存层次和主存——辅存层次
层次 | 主要作用 | 实现方式 |
|---|---|---|
cache缓存——主存 | 缓和CPU和主存之间的速率矛盾 | 硬件 |
主存——辅存层次 | 逻辑扩大主存空间 | 软、硬件 |
局部性原理:是层次化存储结构的支撑
时间局部性:刚被访问的内容,立即又被访问。
空间局部性:刚被访问的内容,临近的空间很快就再次被访问
考点一:多级存储的速度/容量/目的
考点 | 描述 |
|---|---|
存储速度 | 寄存器>cache>主存>外存 |
存储容量 | 寄存器>cache<主存<外存 |
多级存储结构的目的 | 解决存储容量、成本和速度之间的矛盾 |
考点2:cache缓存——主存层次和主存——辅存层次(表格同上)
2、主存
(1)主存储器(Main memory)
简称主存,作用是存放指令和数据,并能由CPU直接随机存取。主要由随机存储器RAM和只读存储器ROM组成,主要为DRAM组成。
主存 | 可读可写 | 掉电丢失 | 需要动态刷新 |
|---|---|---|---|
ROM | 仅可读 | 否 | / |
RAM/SRAM | 是 | 是 | 否 |
RAM/DRAM | 是 | 是 | 是 |
(2)芯片类型
在微机发展初期,BIOS都是存放在ROM(Read Only Memory)中,另外还有:
闪存存储器(Flash Memory):简称闪存,在不加电的情况下能长期保存存储的信息,既有ROM的特点,又有很高的存取速度,而且易于擦除和重写,功耗很小,也可以用作固态大容量存储器的存储芯片。
芯片类型 | 可读可写 | 可擦除 |
|---|---|---|
ROM | 只读存储器 | 不可 |
EPROM | 可擦除可编程ROM | 紫外线可擦除 |
EPROM | 电可擦除可编程ROM | 电可擦除 |
Flash Memory | 易于擦除和重写 | EEPROM的升级 |
考点1、主存的组成(主存表格内容)
考点2、flash闪存的特点
flash闪存:可读可写,掉电不会丢失,属于非易失性存储器,以块为单位进行擦除和重写,可代替ROM,但不能代替RAM和主存。
(3)主存容量
采用随机存取的方式,需要对每个存储单元进行编址。
地址编号通常采用16进制表示。
主存容量=存储单元的个数*存储单元的容量

存储单元计算最后要加1:(5-0 +1)*8bit
(4)容量单位
位:用bit表示,一个二进制表示1bit
字节:用B表示,1B=8bit
字:通常为字节的整数倍,常见有:8/16/32/64bit实际表示CPU一次处理的二进制位数
K:1K=2^10=1024B
M:1M=2^10K=1024KB
G:1G=2^10M=2^20K=1024MB
举个例子:
内存按字节编址,地址从A4000H-CBFFFH,则总共有多少个存储单元,主存储容量为多少?
思路:可先转换为10进制运算,相对简单些。
16 C B F F F — A 4 0 0 0
10 12 11 15 15 15 — 10 4 0 0 0=27FFF+1=28000
答:根据编号范围,可知存储单元个数为:(CBFFF-A4000)+1=28000H个
将28000H转换为2进制: 10 1000 0000 0000 0000
转换为10进制:2^17+2^15(2^10=1K则2^17=2^7K)=2^7K+2^5K=128K+32K=160K
每个存储单元为1字节,及总共28000H个字节,即等于160KB
(5)芯片片数的计算
主存的总容量实际上是由一片或多片存储芯片配以控制电路构成的,因此:
存储芯片片数=主存容量/单个存储芯片容量

考点1:主存储容量的计算
主存容量=存储单元的个数*存储单元的容量
存储芯片片数=主存总容量/单个芯片容量
注意:存储单元的个数即地址编号个数,存储单元容量即子长
举例:1 、地址编号从80000H到BFFFFH且按字节编址的内存容量是()KB,若用16K × 4bit 的存储器芯片构成该内存,共需()片 。
计算:BFFFFH-80000H=11 15 15 15 15-80000=3FFFF+1=40000
转换二进制40000=0100 0000 0000 0000 0000=2^8K=256K
存储芯片
256KB/16*4b=32
举例2:
内存按字节编址,从A1000H到B13FFH的区域存储容量为()KB
B13FF-
A1000
103FF+1=10400
转换二进制 0001 0000 0100 0000 0000=2^6K+2^0K=65K
3、cache
cache高速缓冲存储器是位于CPU和主存直接,容量较小,但速度很高的存储器,通常由SRAM组成。
cache是利用局部性原理,将主存中可能被访问的内容调入速度更快 的cache中,以解决CPU和主存直接速度不匹配的问题。
cache和主存之间的映像方式
映射方式有三种:直接方式、全相连方式、组相连方式
映射方式 | 特点 |
|---|---|
直接相连 | 将一个主存块存储到唯一的一个cache行 |
全相连 | 将一个主存块存储到任意一个cache行 |
组相连 | 将一个主存块存储到唯一的一个cache组中任意的一个行 |
1、直接相连

2、全相连

3、组相连

cache命中率
指CPU在cache中访问命中概率
如果cache的访问命中率为h,二cache的访问周期是t1,主存的访问周期是t2,则整个系统的平均访问时间是:
t3=h*t1+(1-h) * t2
cache淘汰算法
先进先出
最近最少使用
随机算法
4、硬盘
SATA:使用SATA(serial ATA)接口 的硬盘,又叫串口硬盘,结构简单,支持热插拔拔。
SCDI(small computer system interface)小型计算机系统的接口,是一种广泛应用于小型机上的高速数据传输技术,成本高,SCSI硬盘主要应用于中高端服务器和高档工作站中。
SAS:(serial attached SCSI)即串行连接SCSI,是并行SCSI接口之后开发出来的全新接口,主要是为了改善存储系统的效能,可用性和扩充性,并且提供与SATA硬盘的兼容性
FC:(fiber channel)光纤通道,成本高,性能最好。
硬盘对比
SAS | NL SAS | SATA | FC | |
|---|---|---|---|---|
性能 | 高 | 较高 | 较高 | 非常高 |
可靠性 | 高 | 较高 | 一般 | 非常高 |
价格 | 一般 | 较便宜 | 便宜 | 非常贵 |
能耗 | 高 | 较低 | 较低 | 高 |
应用 | 适用于数据较为分散的高端用户 | 适合大数据块,业务压力不大的用户使用 | 适合较大数据块,业务压力不大的用户 | 适用于高端用户,频繁访问的数据 |
硬盘分类
HDD:传统机械硬盘
SSD:固态硬盘
固态硬盘SSD:由控制单元和固态存储单元组成的硬盘
各类存储器的存取方式:

可靠性指标
失效率:单位时间内发生故障的概率
平均无故障时间MTBF :一般指产品在两次故障之间的平均时间间隔
平均故障修复时间MTTR :一般指产品故障维修所需的平均修复时间
可用性:系统可以无故障运行的概率
可靠性计算

第二章:操作系统
第一节:操作系统概述
1、操作系统的定义:
操作系统(简称OS)是管理计算机硬件与软件资源的系统 软件,也是计算机中最为重要的基础性系统软件,可直接 运行在裸机之上,并提供人机交互的操作界面。

操作系统:DOS、Windows、Unix和Linux(开源)、Android和iCS(移动端)等;
数据库管理系统:Access,Oracle,MySQL等;
语言处理程序:汇编程序、编译程序和Java解释器等;
2、操作系统功能
五大功能:
进程管理:对处理机的执行时间进行管理,采用多道程序等技述将CPU的时间真正合理的分配给每个任务。
存储管理:是对主存储器空间的管理。包括存储分配与回收、存储保护、地址映射和主存扩充。
文件管理:主要包括文件存储空间管理、目录管理、文件的读写管理和存取管理。
设备管理:对硬件设备进行管理,其中包括输入输出设备备的分配启动、完成和回收。
作业管理:包括任务、人机交互和用户界面管理等。
第二节:进程
进程:是程序在一个数据集合上运行的过程,它是系统进行资原分配和调度的一个独立单位。它由程序块、进程控制块(PCB)和数据块三部分组成。
进程与程序的区别:
程序是完成某个特定功能的一系列程序语句的集合
进程是程序的一次执行过程,没有程序就没有进程
程序是静态的概念,而进程是动态的概念,它由创建而产生完成任务后因撤销而消亡
进程是系统进行资源分配和调度的独立单位,而程序不是
进程三态模型

死锁
如果一个进程在等待一个不可能发生的事(如无限等待另一进程所占有的资源),这种现象称为进程死锁。而如果一个或多个进程产生死锁,就会造成系统死锁。
产生死锁的四个必要条件
互斥条件:一个资源每次只能被一个进程使用(独占)。
保持和等待条件:一个进程因请求资源受阻时,对已获得的资源保持不放。
不可剥夺条件:不能强行剥夺其它进程占有的资源。
循环等待条件:多个进程之间形成一种环路等待资源的关系。

产生死锁的根本原因
竞争资源
进程间推进顺序不合法
解决死锁的四种方法
死锁预防:预防死锁产生的四个必要条件成立
死锁避免:银行家算法
死锁检测:检测是否有死锁发生
死锁解除:强行剥夺或进程撤销
死锁避免--银行家算法
基本原理:分配资源的原则
当一个进程对资源的最大需求量不超过系统中的资源数时可以
接纳该进程。
进程可以分期请求资源,但请求的总数不能超过最大需求量量。
当系统现有的资源不能满足进程尚需资源数时,对进程的请情求
可以推迟分配,但总能使进程在有限的时间里得到资源。
最少资源数计算
R≥m*(n-1)+1
其中,m为并发进程的数量,n为各进程需要的资源数量量。
进程的互斥和同步
在操作系统中,进程是占有资源的最小单位。
临界资源:一次只能被一个进程所占用的资源。典型的如丁印机。
进程互斥:指当一个进程访问某临界资源时,另一个想要认方问此临界资源的进程必须等待。
微信
支付宝