![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
文章平均质量分 68
半斤三郎
这个作者很懒,什么都没留下…
展开
-
操作系统笔记(十一)
主要内容:死锁和进程通信死锁问题一组阻塞的进程持有一种资源等待获取另一个进程所占有的一个资源系统模型通常使用资源分配图表示死锁特征死锁的必要非充分条件互斥: 在一个时间只能有一个进程使用资源持有并等待: 进程保持至少一个资源正在等待获取其他进程持有的额外资源无抢占: 一个资源只能被进程资源释放,进程已经完成了它的任务之后循环等待: 存在等待进程集合{P0,P1,…,Pn},P0正在等待P1所占用的资源,P1正在等待P2占用的资源…Pn-1在等待Pn的资源,Pn正在等待P0所占用的资源原创 2021-10-18 17:00:20 · 110 阅读 · 0 评论 -
操作系统笔记(十)
主要内容:信号量和管程信号量信号量的抽象数据类型一个整形sem,具有两个原子操作p(),sem减一,如果小于0,则等待v(),sem+1,如果sem<=0,唤醒一个等待的进程信号量是被保护的变量初始化完成后,唯一改变一个信号量的值的方法是通过P V操作操作必须时原子P能够阻塞,V不会阻塞信号量的使用场景互斥条件同步信号量的使用互斥mutex = new Semaphore(1);mutex->P();...mutex->V();调原创 2021-10-10 13:47:07 · 118 阅读 · 0 评论 -
操作系统笔记(九)
背景前置学习 多道程序设计 并发 进程、线程 内存管理 进程调度 独立的线程 不和其他线程共享资源或状态 确定性:输入状态决定结果 可重现 调度顺序不重要 合作线程 在多个线程中共享状态 不确定性 不可重现 合作优点 共享资源 加速 I/O操作和计算可以重叠 多处理器 模块化 合作缺点 多线程程序具有不确定性和不可重现原创 2021-10-10 11:50:47 · 81 阅读 · 0 评论 -
操作系统笔记(八)
第八章主要内容:进程调度算法背景上下文切换 切换CPU的当前任务, 从一个进程/线程到另一个 保存当前进程/线程在PCB/TCB中的执行上下文(CPU状态) 读取下一个进程/线程的上下文 CPU调度 从就绪队列中挑选一个进程/线程作为CPU将要运行的下一个进程/线程 调度程序: 挑选进程/线程的内核函数(通过一些调度策略) 什么时候进行调度? 内核运行调度程序的条件 一个进程从运行状态切换到等待状态 一个进程原创 2021-10-10 11:49:55 · 59 阅读 · 0 评论 -
操作系统笔记(七)
第七章主要内容:进程进程描述进程定义进程:一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程进程的组成 程序的代码 程序处理的数据 程序计数器中的值,指示下一条将运行的指令 一组通用的寄存器的当前值,堆、栈 一组系统资源 进程和程序的联系 程序是产生进程的基础 程序的每次运行构成不同的进程 进程是程序功能的体现 通过多次执行,一个程序可以对应多个进程,通过调用关系,一个进程可包括多个程原创 2021-10-10 11:49:02 · 96 阅读 · 0 评论 -
操作系统笔记(六)
第六章主要内容:页面置换算法功能与目标功能 : 当缺页中断发生, 需要调入新的页面而内存已满时, 选择内存当中哪个物理页面被置换.目标 : 尽可能地减少页面的换进换出次数(即缺页中断的次数). 具体来说, 把未来不再使用的或短期内较少使用的页面换出, 通常只能在局部性原理指导下依据过去的统计数据来进行预测.页面锁定 : 用于描述必须常驻内存的操作系统的关键部分或时间关键的应用进程. 实现的方式是 : 在页表中添加锁定标记位(lock bit).局部页面置换算法最优页面置换算法原创 2021-10-10 11:47:31 · 47 阅读 · 0 评论 -
操作系统笔记(五)
第五章主要内容:虚拟内存管理技术为什么要用虚拟内存 使用硬盘/磁盘使更多的程序在有限的内存中运行 理想的存储器,更快更大更便宜和非易失性的存储区 发展历史覆盖技术如果程序太大,超出了内存的容量,可以采用手动的覆盖技术,把需要的指令和数据保存在内存中,将暂时不要使用的数据放到磁盘中目的:在较小的可用内存中运行较大的程序,常用于多道程序设计,与分区存储管理配合使用原理:把程序按照自身逻辑结构,划分成若干个功能上相互独立的程序模块,那些不会同时执行的模块共享一块原创 2021-10-10 11:46:23 · 88 阅读 · 0 评论 -
操作系统笔记(四)
第四章主要内容:非连续内存分配非连续内存分配的必要性连续性内存分配的缺点 分配给一个程序的物理内存是连续的 内存的利用率低 有外部碎片/内部碎片问题 非连续内存分配的优点 一个程序的物理内存空间是非连续的 更好的内存利用和管理 允许共享代码与数据(共享库) 支持动态加载和动态链接 非连续内存分配的缺点 建立虚拟地址和物理地址的转换难度大 软件方案 硬件方案:分段、分页 非连原创 2021-10-10 11:45:25 · 84 阅读 · 0 评论 -
操作系统笔记(三)
第三章主要内容:操作系统的物理内存管理内存分层体系运行内存(主存)、磁盘(虚拟内存),主存是运行程序时所需要保存数据的数据空间,磁盘是用于持久化数据的数据空间。层次寄存器cache主存磁盘内存管理目标 抽象:逻辑地址空间 保护:独立地址空间 共享:访问相同内存 虚拟:更多的地址空间 内存管理方法 程序重定位 分段 分页 虚拟内存 按需分页虚拟内存 地址空间地址空间原创 2021-10-10 11:44:40 · 54 阅读 · 0 评论 -
操作系统笔记(二)
第二章主要内容:操作系统的异常/中断/系统调用计算机启动过程作用解析Disk:存放os和BootLoaderBIOS:基本I/O处理BootLoader:加载OS,将OS放入内存开机流程BIOS开机后,寻找显卡和执行BIOS(此时,CS:IP= 0xF000:0xFFF0,CS/IP用于执行下次需要执行指令的位置)将BootLoader从磁盘的引导扇区加载到0x7C00(BootLoader一共占用512M字节的内存)跳转到CS:IP = 0x0000 : 0x7C00原创 2021-10-10 11:42:15 · 86 阅读 · 0 评论 -
操作系统笔记(一)
第一章操作系统是什么用户角度:操作系统是一个控制软件管理应用程序为应用程序提供服务杀死应用程序程序角度:操作系统是资源管理器管理外设、分配资源抽象将cpu抽象成进程将磁盘抽象为文件将内存抽象为地址空间操作系统层次硬件之上,应用程序之下操作系统界面和内核操作系统内部组件cpu调度器物理内存管理虚拟内存管理文件系统管理中断处理与设备驱动操作系统特征并发一段时间内运行多个进程(并行:一个时间点运行多个进程)需要os管理和调原创 2021-10-10 11:40:19 · 51 阅读 · 0 评论