操作系统学习|青训营笔记

129 阅读5分钟

这是我参与「第四届青训营 」笔记创作活动的的第7天

前言:复习一下操作系统,为面试更好的做准备

一,重点内容

1,进程线程

2,信号量

3,消费者生产者问题

4,银行家算法

二,详细知识点

前驱图

是一个有向无循环图

程序顺序执行的特征:1,顺序性 2,封闭性 3,可再现性

并发执行的特征:2,间断性 2,失去封闭性 4,不可再现性

进程

进程是进行资源分配和调度的一个独立单位

进错是程序的一个实例 是程序的一次执行 进程是活动的 程序是静态的

PCB是进程的一部分 是记录型数据结构

PCB作用

1,作为独立运行基本单位的标准

2,提高进程控制,3进程调度的信息

3,可实现间断性运行方式

4,与其他进程通信同步

进程创建过程

1,申请空白PCB

2,分配所需资源

3,初始化PCB

4,插入就绪队列

引入进程的目的

Ø\Ø使多个程序并发执行 提高资源利用率及系统吞吐量

2.2 进程是一个可拥有资源的独立单位

进程是一个可独立调度和分派的基本单位

线程

进程与线程的区别

1,进程是拥有资源的基本单位

2,线程作为调度与分配的基本单位

3,在同一进程中,线程的切换不会引起进程切换,在由一个进程中的线程切换到另一个进程中的线程时,将会引起进程切换

死锁产生的四个必要条件

1,请求与保持

2,不可抢占

3,循环等待

4,互斥

解决方法

预防死锁检测死锁解除死锁避免死锁

信号量

1.缓冲区(Buffer)就是在内存中预留指定大小的存储空间用来对I/O的数据做临时存储,这部分预留的内存空间叫缓冲区。

2.大多数进程都需要进行I/O操作(如从磁盘读入等)

3.一种资源只有一个缓冲区

4.资源数目代表缓冲区容量

5.访问临界资源的代码在进程创建的时候一般都会被调入到内存中

6.临界区(临界区是访问临界资源的代码)是指就绪队列的进程获得cpu后进入的状态

6,生产者消费者问题

mutex=1互斥信号量

empty=n 同步信号量 表示空闲缓冲区的数量

full=0 同步信号量表示产品的数量,及非空缓冲区的数量

P 产品--

V产品++

produce{
生产一个产品
P(empty);
P(mutex)
产品放入缓冲区
V(mutex)
V(full)
}

consume{
P(full)
P(mutex)
产品从缓冲区取出
V(mutex)
V(empty)
使用产品
}

银行家算法

image.png

安全性算法

image.png

进程同步

临界资源

Ø系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源或共享变量。

Ø诸进程间应采取互斥方式,实现对这种资源的共享。

整形信号量 记录型信号量区别

整型信号量被定义为一个用于表示资源数目的整型量S,wait操作中,只要信号量S<=0,就会不断地测试。因此,该机制并未遵循“让权等待” 的准则,而是使进程处于“忙等”的状态。

记录型信号量是不存在“忙等”现象的进程同步机制。除了需要一个用于代表资源数目的整型变量value外,再增加一个进程链表L,用于链接所有等待该资源的进程,记录型信号量是由于釆用了记录型的数据结构得名。记录型信号量可描述为:

管程进程区别

1.都有数据结构:进程是私有的,管程是公共的

2.都有操作:进程是顺序执行,管程是同步和初始化操作

3.目的不同:进程为了实现并发,管程是为了资源的互斥

4.工作方式不同:进程主动,管程被动

5.并发性不同:进程可以并发,管程不能并发

6.存在方式不同:进程具有生命过程,从创建到撤销,管程是系统中一个常驻的管理模块

批处理

批处理是指计算机系统对一批作业自动进行处理的技术,它不具有交互性,而是为了提高CPU的利用率而提出的一种操作系统。

实时分时

分时操作系统的核心原理在于将作业直接放入内存,并引入了时间片的概念,采用轮转运行的方式,规定每个作业每次只能运行一个时间片,然后就暂停该作业并立即调度下一个作业运行。在不长的时间内使所有的作业都执行一个时间片的时间,便可以使每个用户都能及时地与自己的作业进行交互,从而使用户的请求得到及时响应。这样就解决了在分时系统中最重要的及时接收、及时处理问题。

并发并行

并发性是指若干事件在同一时间间隔内发生,并行性是指若干事件在同一时刻发生。故在单处理机系统中,进程与进程之间只能并发执行