操作系统

作用

通过资源管理,提高计算机系统效率。

改善人机界面,向用户提供友好的工作环境。

特性

  • 并发性
  • 共享性
  • 异步性

image-20240429123939629

进程管理

概念

进程:

  1. 进程是程序的一次执行
  2. 进程是一个程序及其数据在处理机上顺序执行时发生的活动
  3. 进程是具有独立功能的程序在一个数据集合上运行的过程,是系统进行资源分配和调度的独立单位
  4. 也可以这么记,进程是进程实体的一次运行,是系统进行资源分配和调度的一个独立单位

程序:

​ 程序是一组有序指令的合集并存在某种介质上,本身不具有活动含义。

线程:

​ 线程是进程中的一个实体,是被系统独立调用的基本单位。 线程的资源用的是进程里面的。

简单的流程图(我的灵魂手绘图):

image-20240504112732155

进程控制

原语:控制程序的指令段,要么不执行,要么都执行,不可分割的。

同步:直接制约,是有顺序的。

互斥:异步制约,双方都可制约。

灵界资源:一次只能供一个进程使用的资源

临界区:使用临界资源的代码片段。

信号量机制

信号量:

  • 一个整数
  • S>=0 表示资源的可用数
  • S<0 S的绝对值就是等待队列或是阻塞队列的任务书

PV操作:

P操作就是占用一个资源,S -= 1

S操作就是任务结束了,释放一个资源S+=1

PV互斥模型

在一个程序段里,pv操作应该同时出现。

P(S):

使用XXX

V(S):

后续代码

互斥信号量s的初始值为1

PV同步模型

如单缓冲区的生产消费问题,其实也就是同一个信号量在不同的模型中进行控制

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
smophore mutex = 1 empty = n full = 0
producer(){
while(1){
p(empty);
p(mutex);
produce;
v(mutex);
v(full);
}
}
consumer(){
while(1){
p(full);
p(mutex);
consume ;
v(mutex);
v(empty);
}
}

一张PPT的图:
image-20240430003954753

存储管理

页式存储

优点: 利用率高,碎片小,分配及管理简单

缺点:增加了系统开销,可能产生抖动现象

image-20240430005646138

段式存储

段式存储主要是,程序段是完整的,不会和页式一样一个程序段被切成多块。

优点:多道程序共享内存,各段程序修改互不影响。

缺点:内存利用率低,内存碎片浪费大。

image-20240503232221396

段页式存储

优点:空间浪费小,存储共享容易,存储保护容易,可以动态链接。

缺点:由于管理软件的增加,复杂性和开销也增加,性能有所下降

image-20240503235441587

虚拟存储器

其实实现使用也就是上文的存储管理。

好像考试也不怎么考这些

页面置换算法

  • 先进先出FIFO
  • 最佳置换optimal
  • 最近最久未使用LRU
  • 最少使用LFU

文件组织结构

逻辑结构:流式文件,记录式文件。

物理结构:顺序结构,链接结构,索引结构。

好像考试也不怎么考这些

虚设备与SPOOLING技术

当只有一个物理设备的情况下,有多个用户需要进行使用,所以就需要一个作业井(其实也就理解为一个任务队列)

随便贴图一张基本上不会考的样子。

image-20240504112544771

习题

送分题:
image-20240429124040399

image-20240430004454017

image-20240504000120592

这个题的思路就是,先判断在不在内存里,然后判断有没有访问过,最后判断有没有被修改过。

实际上就是判断:去掉0访问,去掉0修改。

image-20240504012327600

这个地方如果是字,那就是根据cpu的字长来32就是除32.

如果是字节,那就是除8