软考-操作系统(进程、存储)

进程

进程的基本概念状态转换:略

挂起状态:内存当中的进程映射到外存的一个过程

超时:超过用户可用的时间

 

进程死锁

避免死锁算法:银行家算法:避免死锁的算法。仿银行贷款业务,需审核,验是否有还款能力

 

前趋图:进程执行的先后顺序。有向无循坏图。类似于图的AOV网

同步互斥 ,pv操作的基础

互斥:如千军万马过独木桥,一人过完桥,才能过下一个

同步:二人一起从A到B,一人速度快,速度快的停下来等速度慢的,协作的过程。

A仓库货物搬到B仓库,甲负责A仓库搬到中转,乙负责中转搬到B仓库。

一开始乙休息,甲搬,中转满,甲休息,乙搬,中转有空闲,甲乙同事工作。

生产者消费者模型---经典同步

临界资源:进程间需要互斥方式对其进行共享的资源(打印机)

临界区:一段代码,专门用来访问临界资源

 

操作系统中,某些资源,在同一时刻,只能被一个进程使用

也会出现共同处理的情况,同步操作。  提出信号量

 

信号量:标志一个资源拥有的数量的一个变量(true or false)

P操作:down操作  S<0阻塞

v操作:up操作  S<=0 唤醒

 

读者写者问题 共享同一组数据区。(线程安全差不多概念)

 

针对PV操作的缺点提出管程概念

管程:有点类似于一个堡垒,给用户提供了操作的接口,内部的东西不向外面公开

有资源,有操作资源的代码。

其他进程只要调用管程当中的过程来实现就可以了

(有点类似于java工具类)

 

 

操作系统存储管理

 

实存

地址重定位:程序装入时地址转换,装入内存,程序内相对地址转换成内存地址。

静态重定位:一开始载入主存,就能转换成绝对地址

动态重定位:CPU执行指令时,相对地址取出来,与重定位寄存器中首地址相加

存储管理方式:分区存储管理

可变分区4种算法:最佳适应,最差适应,首次适应,循坏首次适应(申请的空间与主存的空闲区相比)

 

 

虚存:让执行比内存大一些的程序成为可能

 

页式存储:将进程的地址空间划分成若干大小相等的区域,称为页;将主存空间划分成与页大小相同的若干个物理块,称为块;

在为进程分配内存时,将进程中的若干页分别装入多个不相邻的块中。

根据页号查询物理块号,把物理块号与页内地址二进制进行拼接(对程序和实存都有划分的)

 

段式存储:从用户角度出发将程序分为多个段(逻辑上的概念)

段式存储各段之间大小不相等。

段式存储大小比页式存储容量大

 

分页是用来从虚拟内存到物理内存映射的,每页是最小的内存管理单元。

分段这个是用来区别代码,数据之类的,举例来讲代码段、数据段,比如因为代码和数据可以用不同的缓存策略,还有多进程可以共享代码段,但是数据不同,所以分开来管理。

 

段页式存储:先分段,段内再分页,一个程序一个段表一组页表

 

页面置换算法:利用策略将内存中的页面替换,实现执行比内存大的程序。

        最佳算法:后续页那个页不先被访问就淘汰那个页

        先进先出算法

        最近未用算法:已在内存中的页,最久未被访问淘汰

 

缺页:概念---只要内存没有就算缺页。

 

局部性原理

局部性原理是一个由经验得出的结论:“一个程序90%的时间运行在10%的代码上”。

局部性:频繁代码、指令

时间的局部性:最近被访问的内存内容(指令或数据)很快还会被访问

空间的局部性:靠近当前正在被访问内存的内存内容很快也会被访问

 

 

 

 

 

 

               学习笔记

 

 

猜你喜欢

转载自blog.csdn.net/zjy660358/article/details/84752367