08 2021 档案

摘要:文件系统 公众号:Rand_cs 本文继续来看 x v 6 xv6 xv6 的文件系统部分, x v 6 xv6 xv6 将文件系统的设计分为 7 层: 磁 盘 → 缓 存 区 → 日 志 → i n o d e → 目 录 → 路 径 → 文 件 系 统 调 用 磁盘 \rightarrow 缓存 阅读全文
posted @ 2021-08-30 19:31 Rand_CS 阅读(21) 评论(0) 推荐(0) 编辑
摘要:键盘驱动程序 公众号:Rand_cs 键盘如何工作的前文曾经说过,当时是以 Linux 0.11 为基础讲的但不系统,本文以 xv6 的键盘驱动程序为例来系统地讲述键盘是如何工作的。关于驱动程序前文磁盘那一篇说过了,它就是硬件物理接口的封装,所以了解键盘驱动程序,同样的还是先来了解键盘的一些物理接口 阅读全文
posted @ 2021-08-30 19:21 Rand_CS 阅读(49) 评论(0) 推荐(0) 编辑
摘要:日志 公众号:Rand_cs 本文来聊聊文件系统中的日志系统,来看一个简单的日志系统是如何实现的。本文是接着前面的 xv6 系列,用到的一些前导知识不再说明,没看的可以先看一下。 文件系统设计中通常要考虑错误恢复,这是因为文件系统会涉及对磁盘的多次写操作,如果在写的过程中系统崩溃了,就会使得磁盘上的 阅读全文
posted @ 2021-08-30 19:17 Rand_CS 阅读(9) 评论(0) 推荐(0) 编辑
摘要:键盘驱动程序 公众号:Rand_cs 键盘如何工作的前文曾经说过,当时是以 Linux 0.11 为基础讲的但不系统,本文以 xv6 的键盘驱动程序为例来系统地讲述键盘是如何工作的。关于驱动程序前文磁盘那一篇说过了,它就是硬件物理接口的封装,所以了解键盘驱动程序,同样的还是先来了解键盘的一些物理接口 阅读全文
posted @ 2021-08-22 10:49 Rand_CS 阅读(23) 评论(0) 推荐(0) 编辑
摘要:LOCK 公众号:Rand_cs 锁,大家应该很熟悉了,用来避免竞争,实现同步。本文以 xv6 为例来讲解锁本身是怎么实现的,废话不多说,先来看一些需要了解的概念: 一些概念 公共资源:顾名思义就是被多个任务共享的资源,可以是公共内存,也可以是公共文件等等 临界区: 要访问使用公共资源,肯定得通过一 阅读全文
posted @ 2021-08-16 16:45 Rand_CS 阅读(7) 评论(0) 推荐(0) 编辑
摘要:磁盘驱动程序 本文来聊聊磁盘驱动程序,驱动程序是硬件的接口,操作系统通过这个接口来控制硬件工作,所以驱动程序就好比是硬件和系统之间的桥梁。这是百科上给出的解释,可能看起来还是云里雾里,我来做做注解。 每个硬件都有自己的 “CPU”(控制器),寄存器,有着自己的一套执行逻辑。对外提供了一些列的物理接口 阅读全文
posted @ 2021-08-16 16:43 Rand_CS 阅读(34) 评论(0) 推荐(0) 编辑
摘要:Rand_cs 调度是操作系统里面一个很重要的概念,进程中有调度,页面置换有调度,磁盘访问也有调度,本文讲述的是进程之间的调度,以及多处理器之间的调度策略。废话不多时直接来看,先来简单了解各种概念: 各种概念简析 各种时间 到达时间:进程到达等待队列的时间 开始时间:CPU 开始执行进程的时间 完成 阅读全文
posted @ 2021-08-09 21:12 Rand_CS 阅读(15) 评论(0) 推荐(0) 编辑
摘要:前文讲述了 xv6 的启动过程,本文接着讲述 xv6 内存管理的部分,直接来看。 公众号:Rand_cs 启动部分完善 前文只是介绍了启动的过程,但是各类函数之间的调用,地址的变换,内存布局的变化并没有详细说明明,本节来完善。 BIOS 还是从 BIOS 开始,入口点是 0 x f f f f 0 阅读全文
posted @ 2021-08-09 21:11 Rand_CS 阅读(43) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示