操作系统
哪里的船迷醉了夕阳
这个作者很懒,什么都没留下…
展开
-
操作系统个人总结
文章目录1、用户态、核心态?1.1、哪些操作用导致用户态切换到核心态2、进程和线程2.1、二者区别?2.2、进程调度算法3、僵尸进程、孤儿进程4、死锁4.1、死锁产生条件4.2、处理死锁的基本策略和常用方法?4.2.1、预防死锁4.2.2、避免死锁(银行家算法)4.2.3、死锁检测和死锁解除学习博客1、用户态、核心态?二者是操作系统两种运行级别。操作系统的核心和服务(进程)运行在核心态,比如:进程管理、内存管理、设备管理、文件管理等。用户进程只能访问用户代码和数据,当用户进程要访问核心态级别的功原创 2022-01-05 10:49:36 · 957 阅读 · 0 评论 -
页面分配策略
文章目录1、总览2、驻留集3、页面分配、置换策略3.1、固定分配局部置换、可变分配局部置换、可变分配全局置换4、调入页面的时机5、从何处调页6、抖动现象7、工作集8、总结1、总览2、驻留集3、页面分配、置换策略3.1、固定分配局部置换、可变分配局部置换、可变分配全局置换4、调入页面的时机5、从何处调页6、抖动现象7、工作集8、总结...原创 2022-01-04 15:28:38 · 131 阅读 · 0 评论 -
页面置换算法
文章目录1、总览2、最佳置换算法3、先进先出置换算法4、最近最久未使用置换算法5、时钟置换算法5、总结1、总览2、最佳置换算法3、先进先出置换算法4、最近最久未使用置换算法5、时钟置换算法5、总结重点就是LRU算法,leetcode-LRU缓存...原创 2022-01-04 15:07:02 · 91 阅读 · 0 评论 -
请求分页管理方式
文章目录1、总览2、页表机制—请求页表与基本页表的区别3、缺页中断机构4、地址变换机构5、总结1、总览2、页表机制—请求页表与基本页表的区别3、缺页中断机构4、地址变换机构5、总结...原创 2022-01-04 11:53:21 · 174 阅读 · 0 评论 -
虚拟内存的概念
文章目录1、总览2、传统存储管理方式的特征、缺点3、局部性原理4、虚拟内存的定义和特征5、虚拟内存技术的实现6、总结1、总览2、传统存储管理方式的特征、缺点3、局部性原理4、虚拟内存的定义和特征5、虚拟内存技术的实现6、总结...原创 2022-01-04 11:27:27 · 148 阅读 · 0 评论 -
段页式管理方式
文章目录1、总览2、分页和分段的优缺点3、段页式管理3.1、段页式管理的逻辑地址结构3.2、段表、页表4、地址转换过程5、总结1、总览2、分页和分段的优缺点3、段页式管理3.1、段页式管理的逻辑地址结构3.2、段表、页表4、地址转换过程5、总结...原创 2022-01-04 11:07:55 · 85 阅读 · 0 评论 -
基本分段式存储管理方式
文章目录1、总览2、什么是分段3、什么是段表4、如何实现地址表换5、分段、分页管理的对比5.1、分段实现信息共享共享5.2、为什么分页不方便实现信息共享和保护?6、总结1、总览2、什么是分段分段的逻辑结构3、什么是段表4、如何实现地址表换5、分段、分页管理的对比5.1、分段实现信息共享共享5.2、为什么分页不方便实现信息共享和保护?6、总结...原创 2022-01-03 17:53:37 · 183 阅读 · 0 评论 -
操作系统-两级页表
文章目录1、总览2、单级页表的问题与解决3、两级页表的原理与逻辑结构4、如何实现二级页表的地址变换5、二级页表需要注意的几个小细节6、总结1、总览2、单级页表的问题与解决3、两级页表的原理与逻辑结构对页再次分组二级页表的地址结构及对应关系4、如何实现二级页表的地址变换5、二级页表需要注意的几个小细节6、总结...原创 2022-01-03 17:14:58 · 341 阅读 · 0 评论 -
具有快表的地址变化机构
文章目录1、总览2、局部性原理3、什么是快表?4、基本地址变换与快表地址变换的比较1、总览2、局部性原理3、什么是快表?4、基本地址变换与快表地址变换的比较原创 2022-01-03 16:57:25 · 138 阅读 · 0 评论 -
基本地址变换机构
文章目录1、总览2、页表寄存器2.1、转换过程2.2、例题3、对页表项大小的进一步讨论4、总结1、总览2、页表寄存器2.1、转换过程2.2、例题3、对页表项大小的进一步讨论4、总结原创 2022-01-03 11:45:14 · 151 阅读 · 0 评论 -
基本分页存储管理的基本概念
文章目录1、总览2、为什么要分页存储?3、基本分页存储管理的思想4、分页存储管理的基本概念5、如何实现地址的转换5.1、计算页号和页偏移量5.2、分页存储的逻辑结构5.3、如何知道页面在内存中的起始地址(页表)6、总结1、总览2、为什么要分页存储?3、基本分页存储管理的思想思想:把内存分为一个个相等的小分区,再按照分区大小把进程拆分成一个个小部分。4、分页存储管理的基本概念5、如何实现地址的转换5.1、计算页号和页偏移量为什么页面大小一般设为2的整数次幂?5.原创 2022-01-03 11:25:46 · 657 阅读 · 0 评论 -
动态分区分配的四种算法
文章目录1、总览2、首次适应算法3、最佳适应算法4、最坏(大)适应算法5、临近适应算法6、各个算法比较是对内存的分配与回收中提到的动态分区分配算法的补充1、总览2、首次适应算法3、最佳适应算法4、最坏(大)适应算法5、临近适应算法6、各个算法比较...原创 2022-01-01 21:55:16 · 1120 阅读 · 0 评论 -
内存的分配和回收
文章目录1、总览2、单一连续分配3、固定分区分配3.1、分区说明表4、动态分区分配4.1、系统要用怎样的数据结构记录内存的使用情况4.2、当多个空闲分区都能满足要求时,应该选择哪个分区进行分配4.3、如何进行分区的分配和回收操作4.3.1、分配4.3.2、回收5、内部碎片与外部碎片6、总结1、总览2、单一连续分配3、固定分区分配3.1、分区说明表4、动态分区分配4.1、系统要用怎样的数据结构记录内存的使用情况4.2、当多个空闲分区都能满足要求时,应该选择哪个分区进行分配4原创 2022-01-01 21:38:46 · 1848 阅读 · 0 评论 -
覆盖与交换
文章目录1、总览2、覆盖技术3、交换技术4、总结1、总览2、覆盖技术覆盖技术的思想:将程序分为多个段,常用的段常驻内存,不常用的段在需要的时候调入内存。举例:A模块会依次调用B模块和C模块,这两个模块只能在不同时间被A模块调用。3、交换技术思想:当内存空间紧张的时候,系统将内存中某些进程暂时换出外存,把外存中某些已经具备运行条件的进程换入内存(进程在内存与磁盘之间进行动态调度)。进程调度:4、总结...原创 2022-01-01 21:09:10 · 208 阅读 · 0 评论 -
内存管理的概念
文章目录1、内存空间的分配与回收2、内存空间的扩展(实现虚拟性)3、地址转换4、内存保护5、总结1、内存空间的分配与回收2、内存空间的扩展(实现虚拟性)3、地址转换4、内存保护5、总结...原创 2022-01-01 18:00:31 · 232 阅读 · 0 评论 -
内存的基础知识
文章目录1、内存的基础知识2、什么是内存,有什么作用?2.1、存储单元和内存地址2.2、常用的数量单位3、进程的运行原理3.1、指令3.2、逻辑地址和物理地址3.3、从写程序到程序运行3.4、装入模块装入内存3.5、装入方式3.5.1、绝对装入3.5.2、静态重定位3.5.3、动态重定位3.6、链接方式3.6.1、静态链接3.6.2、装入时动态链接3.6.3、运行时动态链接4、总结1、内存的基础知识总览2、什么是内存,有什么作用?2.1、存储单元和内存地址2.2、常用的数量单位3、进原创 2022-01-01 17:49:15 · 656 阅读 · 0 评论 -
死锁的处理策略-检测和解除
文章目录21、检测和解除21.1、死锁的检测21.2、死锁检测算法21.3、死锁的解除21.4、总结21、检测和解除总览21.1、死锁的检测P1进程是可以顺利的执行下去,执行完成之后,将资源归还给系统。P2进程的资源请求是可以被满足的。同时归还所有的资源。不能消除所有边的情况21.2、死锁检测算法21.3、死锁的解除21.4、总结...原创 2021-12-30 12:24:10 · 216 阅读 · 0 评论 -
死锁的处理策略-避免死锁(银行家算法)
文章目录20、避免死锁20.1、什么是安全序列20.2、银行家算法20.3、总结20、避免死锁总览:20.1、什么是安全序列银行家算法的核心思想:在资源分配之前预先判断这次分配是否会导致系统进入不安全状态。找不到安全序列的例子20.2、银行家算法20.3、总结...原创 2021-12-29 18:08:22 · 329 阅读 · 0 评论 -
死锁处理策略-预防死锁
文章目录19、预防死锁19.1、破坏互斥条件19.2、破坏不可剥夺条件19.3、破坏请求和保持条件19.4、破坏循环等待条件19、预防死锁总览19.1、破坏互斥条件19.2、破坏不可剥夺条件19.3、破坏请求和保持条件19.4、破坏循环等待条件那么剩下的8、9、10号资源都是空闲的,那么P3进程是可以顺利的获得这三个资源。...原创 2021-12-29 17:45:50 · 88 阅读 · 0 评论 -
死锁的概念
文章目录18、死锁的概念18.1、死锁18.2、死锁、饥饿、死循环的区别18.3、死锁产生的条件18.4、什么时候会发生死锁18.5、死锁的处理策略18.6、总结18、死锁的概念总览18.1、死锁定义:在并发环境下,各个进程因为竞争资源而造成一种互相等待对方手中的资源,导致各个进程都阻塞,都无法向前推进的现象。18.2、死锁、饥饿、死循环的区别18.3、死锁产生的条件18.4、什么时候会发生死锁18.5、死锁的处理策略18.6、总结...原创 2021-12-29 17:32:17 · 137 阅读 · 0 评论 -
操作系统-管程
文章目录17、管程17.1、为什么要引入管程?17.2、管程的定义和基本特征17.3、管程实现生产者消费者17.4、Java中类似管程机制17.5、总结17、管程总览17.1、为什么要引入管程?17.2、管程的定义和基本特征17.3、管程实现生产者消费者17.4、Java中类似管程机制public class NotifyWaitDemoReview { public static void main(String[] args) { //线程操纵原创 2021-12-29 17:06:58 · 365 阅读 · 0 评论 -
读者写者问题
文章目录16、读写问题16.1、描述16.2、分析16.3、实现16.3.1、使用count+mutex进行访问16.3.2、加一个新的互斥信号量w实现“读写公平法”16.4、总结16、读写问题16.1、描述读进程是不会改变数据的。写进程会改变数据。要求:可以有多个读同时对文件进行读操作。只允许一个写进程进行写操作。任意一个写进程完成操作之前不允许其他读进程或者写进程进行工作。写进程执行写操作之前,要让已有的写进程和读进程全部退出。16.2、分析rw表示此时是否有别的进原创 2021-12-29 15:42:14 · 396 阅读 · 0 评论 -
多生产者多消费者问题
文章目录15、多生产者多消费者问题15.1、描述15.2、分析15.3、实现15.4、总结15、多生产者多消费者问题15.1、描述15.2、分析那么,经过分析,有1个互斥信号量,3个同步信号量。15.3、实现有mutex儿子进程和女儿进程开始需要对各自喜欢的水果进行一个P操作,每次只要从盘子中取出对应的水果,那么此时就要对盘子进行一个V操作。同时各个进程访问盘子的时候要进行一个互斥的操作。没有mutex为什么有mutex和没有mutex都一样呢?因为本题中的缓冲区原创 2021-12-29 15:02:36 · 221 阅读 · 0 评论 -
生产者消费者问题
文章目录14、生产者消费者问题14.1、描述14.2、分析14.3、实现14.4、总结14、生产者消费者问题14.1、描述系统中有一组生产者进程和一组消费者进程,生产者进程每次生产一个产品放入缓冲区,消费者进程每次从缓冲区中取出一个产品并使用。(注: 这里的“产品”理解为某种数据)生产者、消费者共享一个初始为空、大小为n的缓冲区。只有缓冲区没满时,生产者才能把产品放入缓冲区,否则必须等待。只有缓冲区不空时,消费者才能从中取出产品,否则必须等待。缓冲区是临界资源,各进程必须互斥地访问。原创 2021-12-29 14:42:26 · 1263 阅读 · 0 评论 -
信号量机制实现进程的互斥、同步与前驱关系
文章目录13、信号量机制实现进程的互斥、同步与前驱关系13.1、实现进程互斥13.2、实现进程同步13.3、实现前驱关系13.4、总结13、信号量机制实现进程的互斥、同步与前驱关系13.1、实现进程互斥可以将临界区理解为特殊的资源,该资源只有一个,只能分配给一个进程。对于不同的临界资源需要设置不同的互斥信号量。设置互斥信号量初值为1。13.2、实现进程同步如何实现代码4一定要在代码2之后执行操作?设置同步信号量初始值为0.前操作之后执行V。后操作之前执行P。13.3原创 2021-12-29 12:07:14 · 226 阅读 · 0 评论 -
信号量机制
文章目录12、信号量机制12.1、什么是信号量机制12.2、整型信号量12.3、记录型信号量12.3.1、总结记录型信号量12.4、总结12、信号量机制总览:12.1、什么是信号量机制信号量本质就是一个变量,用来表示系统中某种资源的数量。使用系统提供的原语对信号量进行操作。P、V操作都是原语。12.2、整型信号量12.3、记录型信号量当P操作的时候发现资源不够的时候,会使用block原语让进程从运行态转到阻塞态,并挂在信号量S的等待队列中。V操作的时候,当该进程使用完资原创 2021-12-29 11:47:04 · 289 阅读 · 0 评论 -
进程的同步与互斥
文章目录10、进程的同步与互斥10.1、回顾异步10.2、进程同步10.3、进程互斥10.4、总结10、进程的同步与互斥总览:10.1、回顾异步异步性:进程的四大特性之一,是指各并发执行的进程以各自独立的、不可预知的速度向前推进。10.2、进程同步同步也叫直接制约关系。在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系。为了协调进程之间的相互制约关系,如等待、传递信息等,引入了进程同步的概念。进程同步是为了解决进程的异步问题。10.3、进程互斥原创 2021-12-29 10:48:10 · 250 阅读 · 0 评论 -
中断和异常
文章目录5、中断和异常5.1、外中断的处理过程5.2、总结5、中断和异常总览本质:发生中断就意味着需要操作系统介入,开展管理工作。由于操作系统的管理工作(比如进程切换、分配I/0设备等)需要使用特权指令,因此CPU要从用户态转为核心态。中断可以使CPU从用户态切换为核心态,使操作系统获得计算机的控制权。有了中断,才能实现多道程序并发执行。当中断发生的时候,CPU立刻进入核心态。当中断发生后,当前运行的进程会暂停运行,并由操作系统内核对中断进行处理。对不同的中断信号,会进行不同处理。中断是让原创 2021-12-28 18:16:57 · 84 阅读 · 0 评论 -
作业/进程调度算法(时间片轮转调度算法、优先级调度算法、多级反馈队列调度算法)
9、作业/进程调度算法(时间片轮转调度算法、优先级调度算法、多级反馈队列调度算法)总览:9.1、时间片轮转调度算法(Round-Robin)此时时间片为2:即:是按照就绪队列中的进程一次执行一个时间片,如果执行完一个时间片之后还没有完成,那么插入到就绪队列的队尾。时间片大小为5:与FCFS对比:9.2、优先级调度算法非抢占式:抢占式:补充9.3、多级反馈队列调度算法9.4、总结...原创 2021-12-28 18:01:20 · 4503 阅读 · 0 评论 -
作业/进程调度算法(先来先服务、短作业优先、高响应比优先)
文章目录9、作业/进程调度算法(先来先服务、短作业优先、高响应比优先)9.1、先来先服务(First Come First Serve)9.2、短作业优先(Shortest Job First)9.3、高响应比优先(Highest Response Ratio Next)9.4、总结9、作业/进程调度算法(先来先服务、短作业优先、高响应比优先)总览:9.1、先来先服务(First Come First Serve)按照到达的先后顺序进行调度,即:就是等待越久的越优先得到服务。9.2、原创 2021-12-28 16:11:39 · 2445 阅读 · 0 评论 -
调度算法的评价指标
文章目录8、调度算法的评价指标8.1、CPU利用率8.2、系统吞吐量8.3、周转时间8.4、等待时间8.5、响应时间8.6、总结8、调度算法的评价指标总览:8.1、CPU利用率8.2、系统吞吐量8.3、周转时间8.4、等待时间8.5、响应时间8.6、总结...原创 2021-12-28 15:20:03 · 154 阅读 · 0 评论 -
进程调度的时机、切换、过程、方式
文章目录7、进程调度的时机、切换、过程、方式7.1、进程调度的时机7.2、进程调度方式7.3、进程的切换与过程7.4、总结7、进程调度的时机、切换、过程、方式总览7.1、进程调度的时机不能进行进程调度与切换的情况操作系统内核程序临界区与普通临界区的进程调度情况。(这里重点关注一下什么是临界资源、临界区)这里错误的关键在于临界区(上面说的是操作系统内核程序临界区)为了增加系统的并发度,增加CPU利用率,在访问普通临界区的时候是可以进行进程调度和切换的。7.2、进程调度方原创 2021-12-28 15:02:08 · 467 阅读 · 0 评论 -
操作系统的运行机制和体系结构
文章目录4、操作系统的运行机制和体系结构4.1、运行机制4.1.2、处理器状态4.1.3、程序4.2、操作系统内核在计算机系统中的层次结构4.2.1、时钟管理1.4.2.2、中断处理4.2.3、原语4.3、总结4、操作系统的运行机制和体系结构总览:4.1、运行机制代码会经过编译翻译成机器语言指令,一条高级语言代码翻译之后可能对应多条指令。即:CPU能识别、执行的最基本的命令。分为特权指令和非特权指令:特权指令:如内存清理指令。(不允许用户程序使用)非特权指令:如普通的运算指令。原创 2021-12-28 11:45:16 · 421 阅读 · 0 评论 -
6、系统调用
文章目录6、系统调用6.1、体系6.2、系统调用与库函数区别6.3、系统调用的执行过程6、系统调用总览回顾:2. 系统调用是操作系统提供给应用程序(程序员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以发出系统用请求来获得操作系统的服务。6.1、体系6.2、系统调用与库函数区别6.3、系统调用的执行过程...原创 2021-12-28 11:44:18 · 81 阅读 · 0 评论 -
操作系统的运行机制和体系结构
文章目录1.5、中断和异常5.1、外中断的处理过程5.2、总结1.5、中断和异常总览本质:发生中断就意味着需要操作系统介入,开展管理工作。由于操作系统的管理工作(比如进程切换、分配I/0设备等)需要使用特权指令,因此CPU要从用户态转为核心态。中断可以使CPU从用户态切换为核心态,使操作系统获得计算机的控制权。有了中断,才能实现多道程序并发执行。当中断发生的时候,CPU立刻进入核心态。当中断发生后,当前运行的进程会暂停运行,并由操作系统内核对中断进行处理。对不同的中断信号,会进行不同处理。原创 2021-12-28 11:44:48 · 112 阅读 · 0 评论 -
操作系统的发展和分类
文章目录3、操作系统的发展和分类3、操作系统的发展和分类操作系统的分类及其特征优势操作系统的发展历程原创 2021-12-28 11:45:33 · 61 阅读 · 0 评论 -
操作系统的基本概念、功能、目标
文章目录1、操作系统概念、功能、目标1、操作系统概念、功能、目标计算机系统的层次结构用户和操作系统有一定交互的。大多数是通过软件进行交互的。操作系统介于纯硬件和软件之间:负责管理协调硬件、软件等计算机资源的工作。为上层应用程序、用户提供交单易用的服务。操作系统是系统软件(不是硬件)。定义:操作系统(Operating System,OS) 是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境,它是许算机系统中原创 2021-12-27 21:19:27 · 594 阅读 · 0 评论 -
操作系统的特征
文章目录2、操作系统特征2.1、并发2.2、共享2.3、虚拟2.4、异步2、操作系统特征2.1、并发并发:两个或多个事件在同一时间间隔内发生,这些事件在宏观上是同时发生的,在微观上是交替发生的, 操作系统的并发性指系统中同时存在着多个运行的程序。并行:指两个或者多个事件在同一时刻同时发生。一个单核(CPU)同一时刻只能执行一个程序,因此操作系统会协调多个程序使他们交替进行(这些程序在宏观上是同时发生的,在微观上是交替进行的)。操作系统是伴随着“多道程序技术出现的”,因此操作系统和并发是一同诞生原创 2021-12-27 21:18:50 · 531 阅读 · 0 评论 -
CPU调度的概念、层次
文章目录第二章2.1、进程的定义、组成、组织方式、特征2.1.1、进程的定义2.1.1.1、程序的概念2.1.1.2、多道程序技术2.1.1.3、定义2.1.1.4、进程和程序2.1.2、进程的组成2.1.3、进程组织方式2.1.3.1、链接方式2.1.3.2、索引方式2.1.4、进程的特征2.2、进程的状态与转换2.2.1、状态2.2.2、进程状态转换2.2.3、总结2.3、进程控制2.3.1、进程控制定义2.3.2、图解2.3.3、原语实现进程控制2.3.4、进程控制的五种原语2.3.5、总结2.4、进原创 2021-12-27 21:02:48 · 275 阅读 · 0 评论 -
线程的概念和多线程模型
文章目录5、线程概念和多线程模型5.1、为什么要引入线程5.2、什么是线程5.3、线程引入后带来的变化5.4、线程的属性5.5、线程的实现方式5.5.1、用户级线程5.5.2、内核级线程5.5.3、组合方式5.6、多线程模型5.6.1、多对一模型5.6.2、一对一模型5.6.3、多对多模型(及二者所长)5.6.4、总结5、线程概念和多线程模型总览:5.1、为什么要引入线程在没有引入进程之前,系统中各个程序只能串行执行。引入进程之后,可以同时边听音乐边玩QQ。但是QQ中的各个功能又如何可以原创 2021-12-27 20:54:46 · 509 阅读 · 0 评论