操作系统
文章平均质量分 89
yiye_01
这个作者很懒,什么都没留下…
展开
-
实验1前篇——BIOS编程空间
从此篇开始更多的注重技术细节了。细节决定成败的故事太多了,而且对于编程者肯定都有这样的经历——自信满满的认为自己写得程序天衣无缝,但是当运行调试之后,才发现bug无处不在,更可气的是很多的bug却是因为语法细节或者指尖上的失误导致。而且编码效率的提升,更多的是建立在已经存在的可信代码的基础上,而可信代码却是经历过无数次的折腾的结晶。 实验1的内容是“启动PC原创 2015-09-27 20:18:38 · 4505 阅读 · 0 评论 -
实验3正篇——用户进程
进入实验3的实验过程了,在实验2中我们实现了操作系统基本模块的内存管理部分,然后需要实现的部分就是进程管理的部分了。而对于进程管理实验其实分为两个实验——实验3与实验4,实现集中在创建进程,而实验4则集中于调度进程。从硬件接口的观点来看,本实验是对处理器中断机制进行封装,然后以此为基础,实现用户进程的创建与操作系统的交互。 本实验的主要任务是实现一个保护模式下的用户模原创 2015-11-20 21:14:18 · 1120 阅读 · 0 评论 -
实验2正篇——内存管理
经过这么久的准备终于进入正题了。本实验主要介绍的是我们实现的操作系统中的内存管理。实验将以两部分内容进行讲解——内核与操作系统我们将互用,请根据实际情况理解: 第一部分是内核的物理内存分配器,内核能够分配内存并且能够释放之。分配的内存单元为4k,被称之为内存页。 我们需要实现的任务是维护数据结构用于记录那些内存被使用(分配或者释放),在此基础上实现一个内存分配器原创 2015-11-01 21:45:28 · 1563 阅读 · 0 评论 -
实验1后篇——引导linux与uboot命令仿真
经过了实验1的“洗礼”,会让人感觉只是只是打开了一个“玩具操作系统”的模拟过程,虽然能让人由一个直观与形象的理解,但是还是没有实在的用途。当然了,可以这么说了。所以如上所调侃而言,我们为了让我们的实验进行的更有意义,进而推出后篇,主要将实验1所学到的内容与实际使用相结合,达到融会贯通的地步,进而能够更理解实验内容。 现在的开源代码有两个很有用的部分而且原创 2015-10-13 21:22:16 · 918 阅读 · 0 评论 -
实验3前篇——X86的中断管理
实验3主要内容是用户进程的创建,运行,销毁;从操作系统的角度来看用户进程,可以看作是动态加载可运行的程序,然后进行不断地动态切换,这里我们当然也可以从虚拟机的角度来考察操作系统——操作系统其实是在硬件上为用户进程创建虚拟机,每个虚拟机都是单独运行在整个硬件平台上的;而从用户进程看操作系统,则是固定的程序部分,并且提供硬件接口的程序。当我们需要理解该实验的内容时,可以想象一下,程序运原创 2015-11-11 21:34:33 · 1847 阅读 · 0 评论 -
实验2前篇——X86内存管理
实验1“洋洋洒洒”的写了那么多的内容,看起来很丰富;但其实没有进入主题。然而它们却是实现与理解操作系统的必要步骤与开端。纯粹的操作系统的理论总是让人无法身临其境的去理解而且实用性不是很强 ,而且我觉得操作系统的相关理论都是经验的总结,而无其他,实际中使用的往往是实践跑在前面,然后被总结为理论,最后被无休止的进行复制。这样确实一个好的软件发展模式,不断以代码的方式沉淀,从而让软件发展原创 2015-10-27 21:12:04 · 1115 阅读 · 0 评论 -
实验2后篇——内存管理算法
实验2介绍了操作系统的基本内存管理,或者说是系统内存管理的软件接口实现。这对于我们实际上碰到的内存管理操作有一些差距,所以我们这一节补充一些内容,来详细介绍一些内存管理技术。 这里要对实验2进行一些补充说明,实验2的代码实现主要参考源码中给的提示信息,而代码实现是否正确,这里没有老师检查也没有任何可参考的代码,而原课程设计有一个很巧妙的方法,使用assert机制来检测原创 2015-11-09 21:50:15 · 1411 阅读 · 0 评论 -
实验1正篇——引导PC
讲了这么久,终于进入主题了。为了让读者更深入的理解整个系统,做一些必要的铺垫是必需的;这样不仅能做到有理有据,更能让人知其然,而且知其所以然。题目所谓“正”篇,就是要从正面去描述该实验的内容,当然是对其进行意译,同时根据其内容,结合源码,提出自己的理解,相当于为实验1的内容进行翻译的基础上,进行注解。 实验1的主要内容是“引导PC”,主要讲述的是从PC一开机到运行内原创 2015-10-09 21:20:25 · 1524 阅读 · 0 评论 -
磨刀不误砍柴工——实验工具准备
写在最前面的话: 后面的一系列博客主要围绕MIT-OS的学习课程来创建; 为什么会学习mit-os? 1)对于复杂的事物,一种常见的思维就是从简单到复杂的思维。根据这种思维去学习原始的os,透过它去熟悉os的基本概念与核心构造,从而以此作为基础去学习现代os的各项技术,能够去更新创造与优化它们。 2)一种典型的西方逻辑思维——原子思想原创 2015-09-13 20:14:39 · 858 阅读 · 0 评论 -
linux用户进程分析
经过实验3的介绍,我们需要来点实在的,所以将我们理解的流程用于linux系统的分析。换句话说,通过类比的方式去进行描述与理解linux相关的部分。本节的内容很详实,而且也分析了很久,所以长话短说,静静的去感受与理解linux内核代码的实现。当然,我们实验的系统代码很简单而且直接,但是linux内核经过20多年的发展,更有成千上万的开发者共同维护,所以对于代码的书写会更加精练,对于基原创 2016-03-31 17:57:51 · 1802 阅读 · 0 评论