
操作系统
马各阿牛
这个作者很懒,什么都没留下…
展开
-
【操作系统】 - Operation System 总结
cpu组成: 运算器, 寄存器, 控制器, 缓存(Cache), 内存管理单元(MMU)连续内存分配:分区的动态分配 当一个程序准许运行在内存中时,分配一个连续的区间 分配一个连续的内存区间给运行的程序以访问数据 分区的动态分配策略首次适配 内容:现在想分配n字节,从低地址开始找,碰到的第一个空间比n大的空闲块就使用它。 要想实现首次分配,需要满足以下条件: 1.需要存在一个按地址排序的空闲块列表 2....原创 2020-11-03 14:37:20 · 794 阅读 · 0 评论 -
【操作系统】 - Operation System 第十二章 文件系统
12.1基本概念不同的操作系统,有不同的文件系统,还可能有多个文件系统一、文件系统与文件文件系统:一种用于持久性存储的系统抽象需要注意:一首音乐和一张图片都是一个文件,都是以文件的形式存放在硬盘上的,但是和桌面级不一样,但是读写命名创建的形式都是一样的。文件:文件系统中一个单元的相关数据在操作系统中的抽象二、文件系统的功能1、分配文件磁盘空间1)管理文件夹(那一块属于哪一个文件)2)管理空闲空间(哪一块是空闲的)3)分配算法(策略)2、管理文件集合1)定位文件及其内容用户如原创 2020-11-02 16:25:10 · 210 阅读 · 0 评论 -
【操作系统】 - Operation System 第十一章 死锁与进程通信
11.1死锁问题1、死锁现象出现的原因:进程并发运行11.2系统模型1、资源概念资源一旦是被使用状态,则其他的进程就不应该运用这个资源,有互斥性,如果没有互斥性,就不会产生死锁。 进程使用资源的有限的,资源恢复到空闲的情况。2、可重复使用的资源1)在一个时间只能一个进程使用且不能删除2)进程获得资源,后来释放有其他进程重用3)处理器,io通道,主和副存储器,设备和数据结构,如文件,数据库和信号量都可以看作是资源的一种形式4)如果每个进程拥有一个资源并且请求其他资源,死锁可能发生原创 2020-11-02 16:23:10 · 294 阅读 · 1 评论 -
【操作系统】 - Operation System 第十一章 - 死锁
来自:https://www.bilibili.com/video/BV1js411b7vg?p=782 系统模型 进程对资源的争夺才会产生死锁, 资源可以是CPU、内存、I/O等等。 当一个资源状态是free时,可以被一个进程get(获取), 资源就变成use/hold 状态,进程使用完资源后,需要release资源, 资源变回free状态。 资源状态如此往复循环,重复被其他进程使用。 资源状态: 死锁产生的情况: 资源分配图,用有向图...转载 2020-10-26 22:12:07 · 487 阅读 · 0 评论 -
【操作系统】 - Operation System 第十章 信号量和管程
以下内容全部是B站 的陈老师视频的课程总结,https://www.bilibili.com/video/av6538245?p=73,感谢UP主感谢陈老师10.1 信号量和管程10.1.1 为什么需要信号量 回顾一下lock能解决并发问题中竞争条件(竞态条件)对资源的争夺 但是lock不能解决同步问题,需要更高级的方式实现同步(包括多线程共享公共数据的协调执行;互斥与条件同步的实现(互斥是指同一时间只能有一个线程可以执行临界区)) 同步的实现需要高层次的编程抽象(例如锁)...原创 2020-09-30 14:54:12 · 444 阅读 · 1 评论 -
【操作系统】 - Operation System 第九章 同步
9.1 同步注意事项:无论多个线程的指令序列怎样交替执行,程序都必须正常工作->多线程程序具有不确定性和不可重现的特点->不经过专门设计,调试难度很高不确定性要求并行程序的正确性->先思考清楚问题,把程序的行为设计清楚->切忌急于着手编写代码,碰到问题再调试9.2 一些概念(1)竞态条件Race condition系统缺陷:结果依赖于并发执行或事件的顺序:不确定性,不可重现避免竞态:让指令不被打断9.3 一些概念待补充完整参考资料https:原创 2020-09-30 14:46:48 · 465 阅读 · 1 评论 -
【操作系统】 - Operation System 第八章 CPU调度
8.1 背景 CPU调度8.1.1 上下文切换:切换CPU的当前任务,从一个进程/线程转换到另一个进程/线程; 但是切换之前要保护现场,保存当前进程/线程在PCB/TCP中的执行上下文(也就是CPU的状态); 切换任务,当然要读取下一个进程/线程的上下文。8.1.2 CPU调度:从就绪队列中挑选一个进程/线程作为CPU将要运行的下一个进程/线程; 需要调度程序(挑选进程/线程的内核函数); 需要考虑的问题是 调度的时机。8.1.3 在进程/线程生命周期的什么时候进行调度? ..原创 2020-09-30 14:44:52 · 456 阅读 · 0 评论 -
【操作系统】 - Operation System 第七章 进程和线程
7.1 进程的定义 进程(process)描述 进程状态(state) 线程(thread) 进程间通信(inter-process communication) 进程互斥与同步 死锁(deadlock)(1)进程的定义 一个具有一定独立功能的程序在一个数据集合上的一次动态执行过程。7.2 进程的组成(1)一个进程应该包括 程序的代码 程序处理的数据 程序计数器的值,指示下一条将运行的指令 一组通用的寄存器的当前值,堆,栈...原创 2020-09-30 14:25:46 · 287 阅读 · 0 评论 -
【操作系统】 - Operation System 第六章 页面置换算法
6.1 最优页面置换算法 目录(1)功能目标 功能:当缺页中断发生,需要调入新的页面而内存已满时,选择内存当中哪个物理页面被置换。 目标:尽可能减少页面的换入换出次数(即缺页中断的次数)。把未来不再使用的或短期内较少使用的页面换出,通常只能在局部性原理的指导下依据过去的统计数据来进行预测。 页面锁定(frame locking):用于描述必须常驻内存的操作系统的关键部分或时间关键(time-critical)的应用进程。实现方法是,在页表中添加锁定标志位(lock...原创 2020-09-30 14:15:01 · 199 阅读 · 0 评论 -
【操作系统】 - Operation System 第五章 虚拟内存
5.1 虚拟内存的起因(1)目录 起因 覆盖技术(早期)/交换技术(早期)/虚存技术 虚拟内存技术:目标/程序局部性原理/基本概念/基本特征/虚拟页式内存管理(2)起因 经常出现内存不够了。程序规模的增长大于存储器容量的增长。 理想的存储器:更大,更快,更便宜,非易失性存储。 实际的存储器: 把硬盘的空间也用上(扮演内存的作用) 不常用的放在硬盘上,常用的放在内存上。(3)在计算机系统中,尤其是在多道程序运行的环境中,可能会出现内存不够...原创 2020-09-30 11:36:42 · 172 阅读 · 0 评论 -
【操作系统】 - Operation System 第四章 非连续式内存分配
4.1 非连续内存分配:分段 (1)非连续内存分配的原因 连续内存分配(上一节内容)的缺点: 分配给一个程序的物理内存是连续的 内存利用率低 有外碎片/内碎片问题 非连续内存分配的优点 分配给一个程序的物理内存是非连续的 更好的内存利用和管理 允许共享代码和数据(共享库等) 支持动态加载和动态链接 非连续内存分配的缺点 如何建立虚拟地址和物理地址之间的转换 软件方案(开销大) 硬件方案 两种硬件方案...原创 2020-09-29 16:41:56 · 327 阅读 · 0 评论 -
【操作系统】 - Operation System 第三章 连续式内存分配
3.1 计算机体系结构及内存分层体系 (1)计算机体系结构CPU 内存 I/O (2)操作系统在内存管理要完成的目标 抽象:逻辑地址空间 保护:独立地址空间 共享:访问相同内存 虚拟化:更多的地址空间 (3)操作系统实现内存管理目标的手段 程序重定位 分段 分页 虚拟内存 按需分页虚拟内存3.2 地址空间与地址生成 (1)地址空间的定义 物理地址空间:硬件支持的地址空间 逻辑地址空间:一个运行的程序...原创 2020-09-29 15:47:54 · 214 阅读 · 0 评论 -
【操作系统】 - Operation System 第一、二章 基础概念
顶会:osdi sosp原创 2020-09-29 10:05:59 · 800 阅读 · 0 评论