操作系统基础
文章平均质量分 92
基于陈渝教授B站操作系统视频进行的知识点整理。大多为基础知识,后续可能的话也会附加代码实验的相关日志
Chahot
合抱之木,生于毫末;九层之台,起于累土;驽马十驾,终至千里。
展开
-
【操作系统】第五章:虚拟内存(Part3:虚存管理的实现硬件MMU)
MMU-虚存管理硬件1. 什么是MMU2. MMU的产生3. MMU 作用4. MMU 工作过程5. MMU 的 TLB1. 什么是MMUMMU是 Memory Management Unit 的缩写,即内存管理单元。 针对各种CPU, MMU是个可选的配件. MMU负责的是虚拟地址与物理地址的转换. 提供硬件机制的内存访问授权.(现代 CPU 的应用中,基本上都选择了使用 MMU)现代的多用户多进程操作系统, 需要MMU, 才能达到每个用户进程都拥有自己的独立的地址空间的目标. 使用MMU, OS划转载 2021-05-19 17:41:51 · 407 阅读 · 0 评论 -
【操作系统】基础知识·学习日志全集
通过学习陈渝老师的操作系统课程,整理了详细的学习日志。可能作为知识点而言描述的不够简洁甚至过于繁琐,但是我认为对初学者理解操作系统上而言是很有帮助的。初心不是应付考试的填空题,而是理解操作系统。其中第一章过于絮叨,可以跳过。但是从第二章开始都是精心准备和整理,为了便于理解而设计的,希望能对操作系统有兴趣的朋友们提供帮助。章节链接第一章:操作系统概念.第二章:OS的启动和中断、异常、系统调用...原创 2020-05-04 07:32:14 · 726 阅读 · 0 评论 -
【操作系统】第十二章:文件系统和I/O设备
OS.StudyLog.Ch12.File Syste.文件系统原创 2020-05-03 16:49:15 · 975 阅读 · 0 评论 -
【操作系统】第十一章:死锁和进程间通信
OS.StudyLog.Ch11.Deadlock and interprocess communication.死锁和进程间通信系统模型一个进程需要一个被其他进程占用的资源,而另一个进程需要这一个进程已经拥有的资源。这种交叉就会产生所谓的死锁,谁都无法进一步执行。死锁的原因是因为进程的并发执行导致的。共享资源如果不加以某种约束和规则,就容易出现死锁问题。系统模型死锁里有需求方(进程)和...原创 2020-05-01 12:08:07 · 551 阅读 · 0 评论 -
【操作系统】第十章:基于信号量和管程的同步实现
OS.StudyLog.Ch10.Semaphore and tube pass.信号量和管程同步信号量(Semaphore)信号量的属性信号量的使用信号量的实现管程同步互斥问题典例读者-写者问题信号量实现读者优先管程实现写者优先哲学家就餐问题上章链接: 【操作系统】第九章:临界区的概念和互斥的理解.为了克服竞态条件(引入不确定结果的情况),引入Lock机制。锁机制可以实现互斥访问,但是光互斥...原创 2020-04-30 11:28:30 · 1118 阅读 · 0 评论 -
【操作系统】第九章:临界区的概念和互斥的理解
OS.StudyLog.Ch9.Synchronization and mutual exclusion.同步互斥问题背景同步互斥临界区的设计禁用硬件中断基于软件(同步)的解决方法小结更高级的抽象背景计算机系统里会有多个进程存在,这多个进程相互之间还会进行交互。交互会引起对共享资源的访问,如果对这些共享资源访问操作不当,就可能出现一些问题(死锁、饥饿)之类。这些问题出现的原因也和调度有关。...原创 2020-04-28 17:38:32 · 4563 阅读 · 0 评论 -
【操作系统】第八章:CPU调度的概念和算法简述
OS.StudyLog.Ch8.CPU Scheduling.CPU调度CPU调度的概念调度时机调度原则一般系统中的调度算法FCFS.先来先服务SJF.短作业优先HHRN.最高响应比优先Round Robin(RR)轮循MFQ多级反馈队列FSS公平共享调度实时调度多处理调度与优先级反转优先级反转CPU调度的概念进程都希望占用CPU去执行自己的工作,这就牵扯到上下文切换的知识。那么什么时候切,根...原创 2020-04-26 12:44:25 · 1176 阅读 · 0 评论 -
【操作系统】第七章:进程管理(Part4:进程管理)
OS.StudyLog.Ch7.Process management.进程管理上下文切换进程控制创建进程加载和执行进程等待和终止进程上下文切换当运行不同程序,程序以进程的形式在OS中运行。各个进程之间共享CPU资源,不同时间需要切换不同进程去CPU执行。上下文Context切换switch。进程的上下文切换就切换进程所用到寄存器,寄存器和CPU紧密相连,也就意味着如果在OS里实现进程切换的...原创 2020-04-24 10:36:04 · 422 阅读 · 0 评论 -
【操作系统】第七章:进程管理(Part3:线程管理)
OS.StudyLog.Ch7.Process management.进程管理线程(Thread)为什么要有线程?线程的定义线程控制块TCB进程需要的资源线程和进程的比较线程的实现进程间通信(In-Process Communication)进程的互斥与同步死锁线程(Thread)OS中进程一直被作为独立运行的基本单位来被OS调度。80年代后,线程引入。线程是更小的能够独立运行的基本单位。为...原创 2020-04-23 18:26:42 · 420 阅读 · 0 评论 -
【操作系统】第七章:进程管理(Part2:进程的状态)
OS.StudyLog.Ch7.Process management.进程管理线程(Thread)进程间通信(In-Process Communication)进程的互斥与同步死锁线程(Thread)进程间通信(In-Process Communication)进程的互斥与同步死锁...原创 2020-04-23 11:03:25 · 905 阅读 · 0 评论 -
【操作系统】第六章:页面置换算法(Part2:全局页面置换算法)
OS.StudyLog.Ch6.Page replacement algorithm.页面置换算法全局页面置换算法工作集和常驻集工作集页置换算法缺页率页面置换算法抖动问题全局页面置换算法工作集和常驻集局部页面置换算法都针对一个程序/进程来进行操作的,然而OS可以同时执行多个程序,如果每一个程序都采取一个固定的局部页面置换算法会带来一些问题,所以我们引入全局页面置换算法。程序的访问特征是可...原创 2020-04-22 17:53:49 · 953 阅读 · 0 评论 -
【操作系统】第七章:进程管理(Part1:进程的概念)
OS.StudyLog.Ch7.Process management.进程管理进程描述进程状态(State)线程(Thread)进程间通信(In-Process Communication)进程的互斥与同步死锁进程描述进程的静态表述部分。1.定义进程的概念比较抽象。某些角度上,我们可以把运行的程序看作进程,它代表程序在整个执行过程的描述。随着计算机的不断发展,程序开始出现多元化,一个程序...原创 2020-04-22 17:49:05 · 480 阅读 · 0 评论 -
【操作系统】第六章:页面置换算法(Part1:局部页面置换算法)
OS.StudyLog.Ch6.Page replacement algorithm.页面置换算法功能目标最优页面置换算法FIFO先进先出LRU最近最久未使用算法时钟页面置换算法二次机会法Enhanced Clock功能目标功能:当缺页中断发生,需要调入新的页但是物理内存已满,此时需要把当前一部分页换出去,空出空间。选择内存中哪一个页被替换目标:1.尽可能减少换入和换出的次数。具体来说,把...原创 2020-04-21 12:28:28 · 1490 阅读 · 0 评论 -
【操作系统】第五章:虚拟内存(Part2:虚拟内存管理技术)
OS.StudyLog.Ch5.Virtual Memory.虚拟内存程序的局部性原理虚存技术的基本特征虚存技术的实现虚拟页式内存管理缺页中断处理后备存储(二级存储)虚拟内存性能虚拟内存管理技术-简称虚存技术解决覆盖技术和交换技术弊端的技术区别:过程由OS完成,减轻程序猿负担。根据当前执行情况可以动态的导出导入,但是粒度更小,不只是程序间,还可以以页或者段为粒度来进行导入导出。如...原创 2020-04-16 18:47:40 · 680 阅读 · 1 评论 -
【操作系统】第五章:虚拟内存(Part1:交换[swapping]和覆盖[overlay]技术)
OS.StudyLog.Ch5.Virtual Memory.虚拟内存虚存的起源覆盖技术交换技术虚存的起源(从二维方块到3D和动画CG)电子游戏所占的内存越来越大,对计算机要求的性能也就越来越过。也就说程序规模的增长远大于储存器容量增长的速度。我们理想中的存储器:更大更快且非易失性存储器。实际的物理硬件是很难获取的。如图所示,快速访问的存储器都靠近CPU但是容量低且造价高。从下往上,意味...原创 2020-04-16 11:53:46 · 1652 阅读 · 0 评论 -
【操作系统】第四章:非连续内存分配(Part2:页表)
OS.StudyLog.Ch4.Non-Continuous memory allocation.非连续内存分配页表的结构页表的结构本质是一个大数组。索引就是页号,索引对应的内容就是帧号。特殊的bit:Flags(标志位)...原创 2020-04-15 18:45:56 · 1140 阅读 · 0 评论 -
【操作系统】第四章:非连续内存分配(Part1:基于分页-分段的物理/逻辑地址转换)
OS.StudyLog.Ch4.Non-Continuous memory allocation.非连续内存分配非连续内存的管理方式分段机制分页机制页帧Frame页Page非连续内存的管理方式引言:连续内存分配的缺点:1.分配给一个程序的物理地址是连续的2.内存利用率低3.有内碎片、外碎片问题且不论何种适配方式,都不能完全杜绝碎片问题引入非连续内存分配方法非连续内存分配方法:解决...原创 2020-04-15 10:59:08 · 694 阅读 · 0 评论 -
【操作系统】第三章:计算机体系结构及内存分层体系(Part2:连续物理内存分配)
OS.StudyLog.Ch3.Computer architecture and memory layering system.连续物理内存的分配本章大纲内存碎片问题本章大纲内存碎片问题当我们给一个运行的程序分配一块空间的时候,会出现一些无法进一步利用的空闲空间。这就是碎片,碎片分为两种(外碎片、内碎片)外碎片:分配单元之间的没法去使用的内存内碎片:已经分配给应用程序,但是应用程序无...原创 2020-04-12 11:53:28 · 402 阅读 · 0 评论 -
【操作系统】第三章:计算机体系结构及内存分层体系(Part1:计算机体系结构)
OS.StudyLog.Ch3.Computer architecture and memory layering system.计算机体系结构及内存分层体系操作系统对物理内存的管理计算机体系结构/内存分层体系计算机体系结构内存的层次结构操作系统在内存中的目标地址空间&地址生成地址空间的定义地址生成地址安全检查连续内存分配操作系统对物理内存的管理计算机体系结构/内存分层体系计算机体系...原创 2020-04-10 09:58:38 · 708 阅读 · 0 评论 -
【操作系统】第二章:OS的启动和中断、异常、系统调用
OS.StudyLog.Ch2.OS Startup and interruption, exceptions, system calls .操作系统的启动和中断、异常、系统调用本章学习目标计算机体系结构OS与设备和程序的交互中断、异常、系统调用的区别中断和异常的处理中断(Interrupt)的处理过程异常(Exception)的处理过程系统调用System Call系统调用的实现函数调用和系统调...原创 2020-04-06 17:35:25 · 1037 阅读 · 0 评论 -
【操作系统】第一章:操作系统概念
OS.StudyLog.Ch1.Concepts.概念代码实现学习思路与大纲操作系统实验:操作系统的定义Shell&Kernel概念的引入关注操作系统的细节,OS内部细化OS Kernel特征(4个特点)操作系统的重要性OS的基本要求操作系统的结构:MS-DOS(最早的OS)分模块如图示(unix初代)试验用OS微内核&外核VMM:虚拟机监控器拓展:历史批处理阶段:CPU重用个人电...原创 2020-04-06 11:08:48 · 927 阅读 · 1 评论