摘要: 文件系统调用 本文接着上文系统调用,也是接着 x v 6 xv6 xv6 文件系统的最后一层,讲述各种具体的文件系统调用是怎么实现的,文件描述符, i n o d e inode inode,文件之间到底有什么关系,创建打开关闭删除文件到底是何意义,文件删除之后数据就不存在了吗,链接又作何解释等等问 阅读全文
posted @ 2021-09-21 22:08 Rand_CS 阅读(46) 评论(0) 推荐(0)
摘要: INTERRUPT 中断是硬件和软件交互的一种机制,可以说整个操作系统,整个架构都是由中断来驱动的。中断的机制分为两种,中断和异常,中断通常为 I O IO IO 设备触发的异步事件,而异常是 C P U CPU CPU 执行指令时发生的同步事件。本文主要来说明 I O IO IO 外设触发的中断, 阅读全文
posted @ 2021-09-21 22:01 Rand_CS 阅读(146) 评论(0) 推荐(0)
摘要: 公号:Rand_cs SYSCALL 系统调用就是调用操作系统提供的一系列内核功能函数,因为内核总是对用户程序持不信任的态度,一些核心功能不能直接交由用户程序来实现执行。用户程序只能发出请求,然后内核调用相应的内核函数来帮着处理,将结果返回给应用程序。如此才能保证系统的稳定和安全。本文采用 x v 阅读全文
posted @ 2021-09-21 21:51 Rand_CS 阅读(23) 评论(0) 推荐(0)
摘要: 文件系统 公众号: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 阅读(41) 评论(0) 推荐(0)
摘要: 键盘驱动程序 公众号:Rand_cs 键盘如何工作的前文曾经说过,当时是以 Linux 0.11 为基础讲的但不系统,本文以 xv6 的键盘驱动程序为例来系统地讲述键盘是如何工作的。关于驱动程序前文磁盘那一篇说过了,它就是硬件物理接口的封装,所以了解键盘驱动程序,同样的还是先来了解键盘的一些物理接口 阅读全文
posted @ 2021-08-30 19:21 Rand_CS 阅读(57) 评论(0) 推荐(0)
摘要: 日志 公众号:Rand_cs 本文来聊聊文件系统中的日志系统,来看一个简单的日志系统是如何实现的。本文是接着前面的 xv6 系列,用到的一些前导知识不再说明,没看的可以先看一下。 文件系统设计中通常要考虑错误恢复,这是因为文件系统会涉及对磁盘的多次写操作,如果在写的过程中系统崩溃了,就会使得磁盘上的 阅读全文
posted @ 2021-08-30 19:17 Rand_CS 阅读(14) 评论(0) 推荐(0)
摘要: 键盘驱动程序 公众号:Rand_cs 键盘如何工作的前文曾经说过,当时是以 Linux 0.11 为基础讲的但不系统,本文以 xv6 的键盘驱动程序为例来系统地讲述键盘是如何工作的。关于驱动程序前文磁盘那一篇说过了,它就是硬件物理接口的封装,所以了解键盘驱动程序,同样的还是先来了解键盘的一些物理接口 阅读全文
posted @ 2021-08-22 10:49 Rand_CS 阅读(29) 评论(0) 推荐(0)
摘要: LOCK 公众号:Rand_cs 锁,大家应该很熟悉了,用来避免竞争,实现同步。本文以 xv6 为例来讲解锁本身是怎么实现的,废话不多说,先来看一些需要了解的概念: 一些概念 公共资源:顾名思义就是被多个任务共享的资源,可以是公共内存,也可以是公共文件等等 临界区: 要访问使用公共资源,肯定得通过一 阅读全文
posted @ 2021-08-16 16:45 Rand_CS 阅读(23) 评论(0) 推荐(0)
摘要: 磁盘驱动程序 本文来聊聊磁盘驱动程序,驱动程序是硬件的接口,操作系统通过这个接口来控制硬件工作,所以驱动程序就好比是硬件和系统之间的桥梁。这是百科上给出的解释,可能看起来还是云里雾里,我来做做注解。 每个硬件都有自己的 “CPU”(控制器),寄存器,有着自己的一套执行逻辑。对外提供了一些列的物理接口 阅读全文
posted @ 2021-08-16 16:43 Rand_CS 阅读(46) 评论(0) 推荐(0)
摘要: Rand_cs 调度是操作系统里面一个很重要的概念,进程中有调度,页面置换有调度,磁盘访问也有调度,本文讲述的是进程之间的调度,以及多处理器之间的调度策略。废话不多时直接来看,先来简单了解各种概念: 各种概念简析 各种时间 到达时间:进程到达等待队列的时间 开始时间:CPU 开始执行进程的时间 完成 阅读全文
posted @ 2021-08-09 21:12 Rand_CS 阅读(25) 评论(0) 推荐(0)