摘要: 将内存划分为若干个大小相等的分区,叫做块;将逻辑空间划分出与块大小一致的分区,叫做页。作业运行时,通过地址重定位技术,实现页与块的对应。这样就以页的方式来管理存储块,就叫分页式存储管理。 在分配存储块时,会根据作业的逻辑地址的大小计算所需要多少个存储块,然后查找空闲块并更新空闲块的状态为占用;回收存 阅读全文
posted @ 2021-09-05 23:21 多元思维的开发者 阅读(462) 评论(0) 推荐(0) 编辑
摘要: 系统根据作业所需内存大小来动态分配内存,这也就是可变分区或动态分区。 因为动态分区数量是不固定的,所以用分区说明表来记录分区信息不太合适。所以,就采用了链表形式来组织并记录分区的信息。如下图: 通过链表的形式,将这些空闲且不连续的分区串联起来。因此,在给作业分配分区时,会遍历这条链表上的空闲分区,找 阅读全文
posted @ 2021-08-29 20:49 多元思维的开发者 阅读(1001) 评论(0) 推荐(0) 编辑
摘要: 系统将内存划分成若干个大小固定的存储区,这些存储区大小和数量都已经固定了,因此也叫固定分区或静态分区。如下图(a): 系统用分区说明表(上图(b))来记录固定分区的状态和位置信息,这样在分配内存空间时,会先判断状态为 0 (空闲)的分区,然后分配分区,并将状态更新为 1(占用)。 同理,在释放分区后 阅读全文
posted @ 2021-08-22 20:28 多元思维的开发者 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 存储管理的四大基本功能 1、内存分配与回收 当有作业进入系统时,存储管理模块就会根据当前内存情况来分配内存给它;当作业完成后,就会回收作业占用的内存,将这部分内存设置为可分配状态。 分配方式主要有两种: 静态分配:作业在运行之前,已经明确所需内存的大小,并且一次性分配;作业在运行的时候,不可以重新申 阅读全文
posted @ 2021-08-15 21:16 多元思维的开发者 阅读(2050) 评论(0) 推荐(0) 编辑
摘要: 一旦发生死锁,有以下四种方式来解除。 1、资源剥夺 产生死锁的条件之一就是:资源不可剥夺。如果允许进程可以剥夺其他进程的资源,那么就可以使得一个进程可以从其他进程剥夺足够的资源,从而解除死锁状态。 2、撤销进程 按照某种顺序,撤销进程并释放资源,直到释放出足够多的资源,并解除死锁。最极端的情况就是, 阅读全文
posted @ 2021-08-08 21:15 多元思维的开发者 阅读(534) 评论(0) 推荐(0) 编辑
摘要: 产生死锁的四个必要条件就是: 1、不可剥夺 资源不能被强占剥夺,只能被占有它的进程释放 2、互斥 对于独占资源,只能分配给一个进程。其他进程需要使用,就只能等待资源由占用状态变成空闲状态。 3、请求和保持 进程因为请求新的资源受阻,但不释放已经占有的资源 4、环路等待 至少有两个及以上的进程形成一条 阅读全文
posted @ 2021-08-01 21:43 多元思维的开发者 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 死锁是进程僵持的一种状态。 是因为进程推进不当,导致多个进程竞争有限的资源;在无外力的作用下,各个进程永远无法分配到所需要的资源,进而导致进程无限期地等待。 如下图: 进程 p1 获得文件 F 占用权,然后请求磁带机 T 占用权;但由于磁带机 T 已经分配给进程 p2,所以 p1 只能阻塞并等待进程 阅读全文
posted @ 2021-07-25 21:11 多元思维的开发者 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 进程调度,就是绪状态的进程获得 CPU 的使用权,进程由就绪状态转变成运行状态。 进程调度可以分为: 抢占式 系统会根据进程的优先级高低来进行调度,进程之间可以插队 非抢占式 系统按照先来先服务的方式来调度,进程间不能插队 进程调度算法有很多,比较常用的调度算法如下: 1、先来先服务 first c 阅读全文
posted @ 2021-07-18 20:24 多元思维的开发者 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 进程和线程的通讯方式都是一样的,一共可以分成两种 **1、共享存储** 一个进程(线程)将信息存储到一个所有进程(线程)都可以访问的存储区,那另一个进程(线程)就可以从这个存储区获取信息内容。 **2、网络通讯** 进程(线程)之间可以通过网络通讯来完成信息交换的目的。 阅读全文
posted @ 2021-07-11 22:27 多元思维的开发者 阅读(46) 评论(0) 推荐(0) 编辑
摘要: 进程和线程的同步方式: 进程和线程的同步方式基本一致,主要就是锁和信号量 1、锁 锁就是利用资源的独占性和互斥性来确保进程(线程)同步的。 简单来说,一个进程(线程)获得了一个资源的锁,相当于这个进程(线程)获得了该资源的使用权,并且拒绝被其他进程(线程)占用。不过其他进程(线程)可以获取,但是会被 阅读全文
posted @ 2021-07-04 22:32 多元思维的开发者 阅读(159) 评论(0) 推荐(0) 编辑