![](https://img-blog.csdnimg.cn/2019092715111047.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
操作系统
王道考研学习笔记,仅供大家学习
小小白学计算机
这个作者很懒,什么都没留下…
展开
-
九、操作系统——基本地址变换机构(详解)
一、概览重点理解、记忆基本地址变换机构(用于实现逻辑地址到物理地址转换的一组硬件机构)的原理和流程二、基本地址变换机构基本地址变换机构可以借助进程的页表将逻辑地址转换为物理地址。通常会在系统中设置一个页表寄存器(PTR),存放页表在内存中的起始地址F和页表长度M。进程未执行时,页表的始址和页表长度放在进程控制块(PCB)中,当进程被调度时,操作系统内核会把它们放到页表寄存器中。注意:页面大小是2的整数幂设页面大小为L,逻辑地址A到物理地址E的变换过程如下:①根据逻辑地址计算出页号、页内偏移量原创 2020-05-26 14:14:27 · 12703 阅读 · 4 评论 -
八、操作系统——基本分页存储管理的基本概念(详解)
一、思考:连续分配方式的缺点?考虑支持多道程序的两种连续分配方式:固定分区分配:缺乏灵活性,会产生大量的内部碎片,内存的利用率很低。动态分区分配:会产生很多外部碎片,虽然可以用“紧凑”技术来处理,但是“紧凑”的时间代价很高。如果允许将一个进程分散地装入到许多不相邻的分区中,便可充分地利用内存,而无需再进行“紧凑”。基于这一思想,产生了“非连续分配方式”,或者称为“离散分配方式”。连续分配:为用户进程分配的必须是一个连续的内存空间。非连续分配:为用户进程分配的可以是一些分散的内存空间。二原创 2020-05-25 17:29:44 · 11123 阅读 · 1 评论 -
七、操作系统——动态分区分配算法(详解)
一、引入动态分区分配算法:在动态分区分配方式中,当很多个空闲分区都能满足需求时,应该选择哪个分区进行分配?二、首次适应算法(First Fit)算法思想:每次都从低地址开始查找,找到第一个能满足大小的空闲分区。如何实现:空闲分区以地址递增的次序排列。每次分配内存时顺序查找空闲分区链(或空闲分区表),找到大小能满足要求的第一个空闲分区。三、最佳适应算法(Best Fit)算法思想:由于动态分区分配是一种连续分配方式,为各进程分配的空间必须是连续的一整片区域。因此为了保证当“大进程”到来时能有原创 2020-05-20 17:45:48 · 19214 阅读 · 4 评论 -
六、操作系统——内存管理的概念(空间的分配与回收、空间的扩充、地址转换、存储保护)
一、概述二、操作系统作为系统资源的管理者,当然也需要对内存进行管理,要管些什么呢?1. 内存空间的分配与回收2. 内存空间的扩充:利用操作系统的虚拟性早期的计算机内存很小,比如IBM推出的第一台PC机最大只支持1MB大小的内存。因此经常会出现内存大小不够的情况。后来人们引入了覆盖技术,用来解决“程序大小超过物理内存总和”的问题。覆盖技术:覆盖技术的思想:将程序分为多个段(多个模块)。常用的段常驻内存,不常用的段在需要时调入内存。内存中分为一个“固定区”和若干个“覆盖区”。需要常驻内存的原创 2020-05-20 11:50:56 · 3076 阅读 · 1 评论 -
五、操作系统——内存相关基础知识 和 进程运行的基本原理(详解)
一、概述二、什么是内存?有何作用?内存是用于存放数据的硬件。程序在执行之前,需要先放到内存中才能被CPU处理。平时,我们各种各样的软件都是存储在外存(辅存)里。电脑的话,一般是存储在硬盘里,但是硬盘是一种慢速的设备,而CPU是一种超快速的设备。所以,如果CPU要处理的程序、数据直接从硬盘(外存)当中存取的话,CPU会有大量的时间在等待外存的存取操作的完成。这里就出现了外存与CPU的速度矛盾,因此引入了内存。三、几个常用的数量单位四、进程的运行原理——指令可见,我们写的代码要翻译成CPU能原创 2020-05-20 10:34:23 · 717 阅读 · 0 评论 -
四、操作系统——读者写者问题(详解)
一、问题描述:二、需要满足的条件:写进程与写进程之间必须互斥的写入数据(因为如果两个写进程同时对共享数据中的区域A中的数据进行写操作的话,会导致数据错误覆盖的问题)写进程与读进程之间必须互斥的访问共享数据(因为写进程与读进程如果同时访问共享数据,可能会导致数据不一致的问题。比如:读进程A想要访问共享数据中的B数据,但是写进程C在读进程A访问B数据之前将B数据进行了更新,这就会导致读进程A读不到它想要读到的数据,从而出现数据不一致问题)读进程与读进程之间可以同时访问数据,不需要实现互斥的访问共享数原创 2020-05-18 16:31:12 · 27440 阅读 · 4 评论 -
三、操作系统——生产者-消费者问题(两个同步一个互斥)
一、问题描述信号量机制实现进程互斥的步骤:设置初值为1的互斥信号量在访问临界区之间进行P操作在访问完临界区之后进行V操作信号量机制实现进程同步的步骤:设置初值为0的同步信号量在前操作之后对同步信号量执行V操作在后操作之前对同步信号量执行P操作注意:前操作指的就是需要先进行的操作,比如:当缓冲区已满的时候,消费者先取走缓冲区的产品,生产者才能生产产品放入缓冲区。这里的“消费者先取走缓冲区的产品”就是前操作;而” 生产者生产产品放入缓冲区“就是后操作注意:生产者-消费者问题中原创 2020-05-16 21:36:44 · 8302 阅读 · 0 评论 -
二、操作系统——用信号量机制实现进程互斥、同步、前驱关系(详解)
一、什么是进程同步?二、什么是进程互斥?临界资源:一个时间段内只允许一个进程使用的资源为了实现对临界资源的互斥访问,同时保证系统整体性能,需要遵循以下原则:空闲让进。临界区空闲时,可以允许一个请求进入临界区的进程立即进入临界区;忙则等待。当已有进程进入临界区时,其他试图进入临界区的进程必须等待;有限等待。对请求访问的进程,应保证能在有限时间内进入临界区(保证不会饥饿);让权等待。当进程不能进入临界区时,应立即释放处理机,防止进程忙等待。注意:5. 进程同步也可以说是进程之间的直原创 2020-05-16 16:26:43 · 10163 阅读 · 6 评论 -
一、操作系统——处理机(作业)调度算法:先来先服务算法FCFS、最短作业优先算法SJF(非抢占式)、 最短剩余时间优先算法SRTN(抢占式)、最高响应比优先算法HRRN
各种调度算法的学习思路:调度算法的评价指标:一、先来先服务算法(FCFS):First Come First Serve二、最短作业优先算法(SJF非抢占式):Shortest Job First三、最短剩余时间优先算法SRTN(等价于抢占式SJF):Shortest Remaining Time Next注意几个小细节:如果题目中未特别说明,所提到的“短作业/进程优先算法”默认是非抢占式的很多书上都会说“SJF最短作业优先调度算法的平均等待时间、平均周转时间最少”严格来说原创 2020-05-15 16:49:48 · 14439 阅读 · 0 评论