处理机管理

进程和线程

程序:是指令的集合,静态的代码
进程:进程是正在运行的程序,是资源分配的最小单位。基本特性:动态性,并发性,独立性,异步性
线程:每一个任务就是一个线程,进程由一个或多个线程组成,线程之间共享进程资源,是CPU调度最小单位

进程的三种状态:运行,就绪,阻塞

运行:进程占用处理机,并运行
就绪:进程准备好运行条件,等待系统分配
阻塞:又称睡眠态,指进程没用准备好,等待某个事件完成

进程同步和互斥

同步:多个相互合作的进程在某些确定点上协调工作顺序过程,如进程B需要得到进程A的数据才能进行后续工作

互斥:各种进程可以共享,但是有些资源一次只能提供一个进程使用(如打印机),也称临界资源

信号量机制和PV操作

信号量

信号量解决进程同步和互斥的工具

分两种:
公有信号量:实现进程间的互斥,初值等于1或资源数量
私有信号量:实现进程间的同步,初值等于0或正整数

信号量S>=0时,表示某资源的可用数量,S<=0时,表阻塞队列钟等待资源的进程数量

PV操作

PV操作用来实现进程同步和互斥,P操作表示申请一个资源,V操作表示释放一个资源

实现互斥的方法:
信号量设为1,当进程使用时执行P操作,释放资源时执行V操作

实现同步的方法:
将信号量S与消息关联,当S等于0时表示没用消息,当S不等于0表示有消息。
进程B调用P操作测试消息是否到达,进程A调用V操作通知消息已经准备好

信号量取值范围 = -(进程数量 - 可用资源数量) ~ 可用资源数量

进程死锁

当多个进程竞争使用资源时,资源已经全部被占用,于是没用任何一个进程能够继续运行,这种情况叫死锁

产生死锁的情况主要有:
进程推荐顺序不当、同类资源分配不当、PV操作使用不当

死锁预防:
打破互斥条件、打破不可抢占条件、打破占有且申请条件(保证至少有1个进程获取足够的资源)

不死锁公式:
设m是资源数量,n是进程数量,w是每个进程需要的资源数量
资源数量 >= 进程数量 * (每个进程需要的资源数量-1)+1
m=4,n=3,w=2,计算得到4>=4,不死锁
m=4,n=3,w=3,计算得到4>=7,死锁

进程调度算法

  1. 先来先服务算法
  2. 优先数算法
  3. 时间片轮转算法
  4. 分级算法

存储管理

存储地址

绝对地址
逻辑地址
地址重定位

计算寻址范围
若某计算机字长为32位,内存容量为2GB,按字节编址,则可寻址范围为512M

公式:容量/字长=2048MB/(32/8)Byte

计算芯片需求量

内存按字节编址,地址从90000H到CFFFFH,若用存储容量为16K*8bit的存储芯片构成该内存,需要的存储芯片为 16 片

地址数量:(CFFFFH - 90000H + 1) = 40000H
转换成10进制:262144
转换成KB:262144 / 1024 = 256
芯片数量:256 / 16 = 16

存储管理

分页存储:

将一个进程的地址空间划分成大小相同的块,称为页面
优点:页表是对程序员来说是透明的,地址变换快,调入操作简单
缺点:各页不是程序的独立模块,不便于实现程序和数据保护

分段存储

分段原理:地址空间被划分为可变长的块,称为段
优点是消除了内存零头,易于实现存储保护,便于程序动态装配
缺点是调入操作复杂,地址变换速度慢于页式存储管理

虚拟存储

虚拟存储是解决主存容量和存取速度矛盾的一种方法
原理是利用大容量的外存(通常是高速硬盘)来扩充内存,产生一个比物理内存空间大的多的逻辑虚拟内存空间,从而增强系统的处理能力

作业管理

作业是用户在一次上机过程中,要求计算机所做的工作的集合。

作业状态:
提交状态:用户向系统提交一个作业时
后背状态:用户作业等待进入内存时
执行状态
完成状态

信息系统开发

软件生命周期

计划 -> 分析 -> 设计 -> 实现 -> 测试 -> 运维

软件开发模型

瀑布模型:

明确了要求

原型化模型:

用户提出的问题进行总结,就需求达到一致意见,开发一个原型并运行。然后对原型进行反复修改完善。不适合大型系统。

演化模型:

根据用户需求,快速分析构造该第一个初始版本,然后根据用户在使用过程中提出的建议进行改进,产生新的版本,重复这一过程,使用户最终获得满意的软件。

增量模型:

整个软件产品被分解成若干个构件,开发人员逐个构件的交付产品。优点是适应变化,降低开发风险。

螺旋模型:

综合了瀑布模型和演化模型的优点,增加了风险分析。适用于大型复杂的系统开发。优点是支持用户需注的动态变化,降低风险,缺点是增加开发成本。

喷泉模型:

主要用于面向对象的开发过程,核心特点是迭代。所有开发活动没有明显边界,允许各种开发活动交叉进行。

多路复用技术

把多个低速信道组合一个高速信道的技术,使用多路器MUX进行多路复用和多路分配。

常见的五种如下:
频分多路复用
时分多路复用
波分多路复用
数字传输系统
同步数字系统

信道的有效带宽计算步骤:
传输数据的总带宽 = 子信道数量 * 子信道带宽 * 子信道利用率
主线路的有效带宽 = 传输数据的总带宽 / 主线路信道利用率

差错控制

海明码