随笔分类 -  操作系统

完成小型的操作系统
摘要:操作系统——内存管理(十七) 2020-10-02 16:06:04 hawk 概述 这篇文章,我们将会接着前面的步骤,实现简单的内存管理。 字符串操作 实际上这里和内存管理关系并不是很大,但是这些字符串操作函数又确实是后面操作系统的基石,因此这里我们单独插入这一章,用来实现一下和字符串相关的操作函 阅读全文
posted @ 2020-10-05 13:27 hawkJW 阅读(440) 评论(0) 推荐(0)
摘要:操作系统——ASSERT(十六) 2020-10-01 20:49:38 hawk 概述 这篇我们,我们接着前面实现的中断处理的基础上,增加assert机制,并且加深对于中断的理解 断言 assert,断言,是程序员断定程序运行在此处时,某数据的值一定为多少多少。 在这个系统中,实际上会实现两种断言 阅读全文
posted @ 2020-10-01 23:51 hawkJW 阅读(619) 评论(0) 推荐(0)
摘要:操作系统——中断实现(十五) 2020-09-28 18:33:33 hawk 概述 前面讲了许多关于中断的基础知识,这里我们将在前面的基础上,给操作系统添加上中断处理,并不断进行优化。 这次仓库链接点此进入。这里面有几个版本,根据log可以回滚到。 简易中断处理程序 前面一直写理论,把我自己都看吐 阅读全文
posted @ 2020-10-01 19:40 hawkJW 阅读(847) 评论(0) 推荐(0)
摘要:操作系统——中断(十四) 2020-09-27 10:29:23 hawk 概述 这篇博客主要介绍一下中断相关的基础知识,如果有基础的话或者不敢兴趣的可以跳过,在实现的时候需要的时候再回过头查看。 中断知识 中断概念 首先我们给出宏观的中断的概念——由于CPU获知了计算机中发生的某些事,CPU暂停正 阅读全文
posted @ 2020-09-28 18:33 hawkJW 阅读(1184) 评论(0) 推荐(0)
摘要:操作系统——内联汇编(十三) 2020-09-26 17:33:27 hawk 概述 这里我们简单介绍一下内联汇编这项技术,方便我们后面再内核的c代码中直接添加汇编部分指令。这部分还是比较枯燥,对于有基础的或不感兴趣的,可以先行跳过,等到需要的时候在重新进行查阅即可。 定义 内联汇编称为inline 阅读全文
posted @ 2020-09-26 21:14 hawkJW 阅读(869) 评论(0) 推荐(0)
摘要:操作系统——打印函数(十二) 2020-09-25 20:32:00 hawk 概述 这章主要完善一下内核的相关功能,实现一个简单的打印功能 函数调用 实际上,函数调用约定,即调用函数时的一套约定,是被调用函数的接口,体现在 1. 参数的传递方式 2. 参数的传递顺序 3. 保存寄存器环境的方式 为 阅读全文
posted @ 2020-09-26 14:43 hawkJW 阅读(737) 评论(0) 推荐(0)
摘要:操作系统——特权级(十一) 2020-09-24 19:46:18 hawk 概述 这篇博客主要讲述一下特权级相关的知识,为后边内核的实现奠定基础。这里也主要是相关的基础知识,如果已经有相关知识或者不太感兴趣的可以跳过,等需要的时候再回头看也可以。 特权级概述 特权级简介 实际上,整个计算机可以大体 阅读全文
posted @ 2020-09-25 20:29 hawkJW 阅读(1286) 评论(0) 推荐(0)
摘要:操作系统——加载内核(十) 2020-09-23 18:16:58 hawk 概述 这一篇博客就是简单的介绍一下将要实现的内核在内存中的布局,然后写一个简单的内核(没有实现任何功能,仅仅悬挂程序表示成功加载),并将其完成加载。需要注意的是,之后我们的实验,也就是内核功能的编写,基本就是用c语言进行编 阅读全文
posted @ 2020-09-24 18:40 hawkJW 阅读(1140) 评论(0) 推荐(0)
摘要:操作系统——ELF文件格式(九) 2020-09-21 18:02:00 hawk 概述 因为后面我们实现的内核主要通过c语言进行编写,其通过gcc编编译器产生的文件格式就是elf文件格式。因此这里我们将会简单介绍一下elf文件格式。这一节也是比较枯燥的知识点。如果不感兴趣或者已经有基础的可以直接跳 阅读全文
posted @ 2020-09-22 18:59 hawkJW 阅读(752) 评论(0) 推荐(0)
摘要:操作系统——内存分页(八) 2020-09-19 23:48:03 hawk 概述 这一篇博客和后面的几篇博客,将会在保护模式的基础上,接触到更多的硬件,并对其进行相关的操作。这一篇博客主要完成对于虚拟内存的相关介绍和实验。 虚拟地址 实际上,虽然通过loader程序,我们已经从实模式成功进入了保护 阅读全文
posted @ 2020-09-21 13:56 hawkJW 阅读(942) 评论(0) 推荐(1)
摘要:操作系统——内存段的保护(七) 2020-09-19 09:12:41 hawk 概述 因为前面已经大体介绍了一下GDT中段描述符所设置的内存段的属性位,但是对于其效果和保护检查还不是很清楚。这里再次通过实验进行测试和验证,方便我们更加深入的理解GDT的作用。 段寄存器中选择子保护 判断是否超越GD 阅读全文
posted @ 2020-09-19 14:30 hawkJW 阅读(538) 评论(0) 推荐(0)
摘要:操作系统——全局描述符表(六) 2020-09-17 10:43:27 hawk 概述 前面简单介绍了一下保护模式下相关的一些基础知识,下面会进一步对于保护模式做更为详细的分析和讲解。这篇博客主要讲述保护模式的重要组成部分——全局描述符表。 全局描述符表基础 实际上,顾名思义,保护模式要比实模式相对 阅读全文
posted @ 2020-09-18 23:18 hawkJW 阅读(1114) 评论(0) 推荐(0)
摘要:操作系统——保护模式(五) 2020-09-16 21:14:09 hawk 概述 这篇博客主要涉及保护模式相关的基础知识,为后边程序的编写做知识铺垫。毕竟是基础知识的记录,会比较枯燥,对于有基础的或者对这些基础不是很感兴趣的,大家可以自行跳过,等需要的时候再回过头来翻看即可。因为我比较菜,所以先记 阅读全文
posted @ 2020-09-17 10:43 hawkJW 阅读(1633) 评论(0) 推荐(0)
摘要:操作系统——MBR与硬盘(四) 2020-09-14 15:56:14 hawk 概述 这一篇博客主要介绍一下硬盘基础知识,然后学习CPU如何与硬盘进行沟通,最后完善前面写的MBR程序,完成对磁盘的操作。 磁盘机制 磁盘工作原理 实际上对于磁盘的工作原理,我们如果弄懂了下面这张图,磁盘的工作机制对于 阅读全文
posted @ 2020-09-15 12:41 hawkJW 阅读(1329) 评论(0) 推荐(0)
摘要:操作系统——MBR与显存 2020-09-11 14:50:02 hawk 概述 因为上一节我们已经简单学习了汇编语言中访问内存以及一些跳转的基础指令,因此这节中我们学习通过CPU直接与外设进行通信,从而避免通过使用BIOS的终端功能来进行交互。 IO接口 随着计算机的不断发展,当前的外部设备种类繁 阅读全文
posted @ 2020-09-12 13:39 hawkJW 阅读(1463) 评论(0) 推荐(0)
摘要:操作系统——汇编基础(二) 2020-09-09 18:31:39 hawk 概述 实际上这节主要简单介绍一下汇编方面的基础知识,为后面完成MBR程序做铺垫,主要包括汇编指令的规则讲解,会比较枯燥,有基础的或者对于这些没有兴趣的可以直接跳过,把这个当作汇编手册即可。 CPU的实模式 前面已经分析过了 阅读全文
posted @ 2020-09-10 21:56 hawkJW 阅读(1086) 评论(0) 推荐(1)
摘要:操作系统——初识MBR(一) 2020-09-06 15:30:21 hawk 这里填补一下计算机基础方面缺失的基础知识,为之后的信息安全学习打基础。这部分主要是阅读和学习《操作系统——真象还原》这本书,按照书籍内容完成相关实验,从而对于计算机操作系统有一个更为完成的了解。所有相关的代码都会放在我的 阅读全文
posted @ 2020-09-09 12:26 hawkJW 阅读(1977) 评论(0) 推荐(0)