![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
操作系统
青衫憶笙
这个作者很懒,什么都没留下…
展开
-
哈工大李志军操作系统 —(四)设备驱动与文件系统—外设显示器与键盘L26.L27
L26 I/O与显示 I/O读写整体三步原理 cpu取址执行通过out指令向外设发送命令 将命令通过文件形成统一文件视图进行解释 外设执行完命令后返回给cpu进行中断处理(显示器:显示图像;键盘:读数据到内存) I/O读写整体框架 让外设工作起来,cpu发出指令给显卡中的一个寄存器(显存),显示器根据显卡中的信息来让显示器工作。所以让外设工作,只需要向对应的寄存器中发送指令,完成操作...原创 2019-03-09 17:10:00 · 1098 阅读 · 0 评论 -
哈工大李志军操作系统 —(四)设备驱动与文件系统—生磁盘与文件使用磁盘L28.L29.L30
磁盘与文件系统就是由4层抽象组成!!! 总结一下磁盘的使用:多进程需要读写→通过文件系统(第四层抽象)目录解析找到test.c文件,根据文件(第三层抽象)的FCB得到所需位置的盘块号→盘块号写入请求队列排队(第二层抽象)进行电梯算法→磁盘驱动根据盘块号(第一层抽象)算出C H S→相应扇区读写。下面开始一层一层的抽象开始讲解。 总结:用户删除文件的某一段字符→最终对应磁盘删除的全过程...原创 2019-03-10 16:55:33 · 656 阅读 · 0 评论 -
哈工大李志军操作系统 —(四)设备驱动与文件系统—目录与文件系统L31.L32
L31 目录与文件系统 file system 磁盘是一颗目录树,每个目录下一堆文件 文件系统,抽象整个磁盘(第四层抽象) 故事从多个文件开始 所有文件放在一层(大集合)--集合划分:分治处理 引入目录树 目录形成目录树 实现目录成为关键问题 根据树状结构查找文件目录路径,得到文件FCB的映射 如果存放目录下的所有文件的FCB吗?需要逐个匹配,这样查...原创 2019-03-10 17:11:08 · 416 阅读 · 0 评论 -
哈工大李志军操作系统 —(三)内存管理—内存分段分区与分页L20.L21
L20 内存使用和分段 内存如何使用: 内存使用就是放在内存中的程序能够按照正确的逻辑顺序执行 首先让程序进入内存: 问题引入 假设一段c代码 int main (int argc, char * argv[]) { ……………… } 编译之后形成的汇编代码如下: _entry: call _main call_exit _main: …………………… ret ...原创 2019-03-11 21:52:56 · 368 阅读 · 0 评论 -
哈工大李志军操作系统 —(三)内存管理—多级页表与快表L22
单级页表的缺点 前面说了为了提高内存的利用率,内存是分页管理的,并且有一个页表用来存储页号(逻辑地址)与页框号(物理地址)的对应关系。通过找页号就可以找到页框号。这个思想理论上是没有问题的,但是实际使用的时候就不行了,为什么? 为了更好的提高内存的利用率,每一页就应该做得足够小,但是每一页都要在页表里面有一项与页框对应,也就是说页数越多页表也就会越大,页表如果很大的话就会对内存造成浪费,因为存...原创 2019-03-11 22:26:06 · 1234 阅读 · 1 评论 -
哈工大李志军操作系统 —(三)内存管理—段页结合的实际内存管理L23
前言 前面说过用户程序喜欢分段来分配内存,但是实际的物理内存更加倾向于分页管理,因为这样可以使内存的利用率最大化。作为操作系统,既要向上负责,又要向下负责。操作系统在管理物理内存用分页,用户代码分段存储。这一篇博客主要谈谈用户程序需要的段和物理内存需要的页是如何结合到一起的。 虚拟内存 虚拟内存的引入 首先两个条件,第一:物理内存必须得是分页管理的;第二:对用户来说是分段的。但是用户程序最...原创 2019-03-11 22:54:01 · 383 阅读 · 0 评论 -
哈工大李志军操作系统 —(三)内存管理—内存的换入与换出L24.L25
L24 内存换入-请求调页与内存换入 前言 前面说过为了保证内存在用户程序看起来是分段,而实际是分页的效果,引入了虚拟内存。对于用户来说,虚拟内存是一个完整的内存,用户可以随意使用该“内存”,假设为4G,那么对于用户来说就有4G的空间可以使用,即使实际内存只有2G甚至1G。那么这是如何实现的呢?这就引出了换入和换出。 Swap in/Swap out 让用户使用,使用分段,...原创 2019-03-11 23:12:56 · 829 阅读 · 0 评论