摘要:搭这个实验环境主要是为了学习Linux 0.11的代码,那就需要修改代码再次编译来验证自己的想法。主要的实验环境来自实验楼,但是在那上面毕竟不方便,所以就以实验楼上的为基础在自己的虚拟机上搭建一个环境。 主要的实验环境和Linux 0.11的源代码已经打包在我的github上了: "Linux0.1 阅读全文
posted @ 2019-10-24 14:08 dejavudwh 阅读 (51) 评论 (0) 编辑
摘要:项目地址: "Regex in Python" 前两篇已经完成的写了一个基于NFA的正则表达式引擎了,下面要做的就是更近一步,把NFA转换为DFA,并对DFA最小化 DFA的定义 对于NFA转换为DFA的算法,主要就是将NFA中可以状态节点进行合并,进而让状态节点对于一个输入字符都有唯一的一个跳转节 阅读全文
posted @ 2019-09-25 08:48 dejavudwh 阅读 (120) 评论 (0) 编辑
摘要:项目地址: "Regex in Python" 在看一下之前正则的语法的 BNF 范式 上一篇构造了 term 的简单 NFA 构造复杂的 NFA factor 根据上面的 ,先进行 term 的 NFA 的生成,然后根据词法分析器来判断要进行哪个 factor 的 NFA 的构造 nfa_star 阅读全文
posted @ 2019-09-24 17:33 dejavudwh 阅读 (106) 评论 (0) 编辑
摘要:前言 项目地址: "Regex in Python" 开学摸鱼了几个礼拜,最近几天用Python造了一个正则表达式引擎的轮子,在这里记录分享一下。 实现目标 实现了所有基本语法 更多示例可以在 "github" 上看到 前置知识 其实正则表达式的引擎完全可以看作是一个小型的编译器,所以完全可以按之前 阅读全文
posted @ 2019-09-24 10:26 dejavudwh 阅读 (198) 评论 (0) 编辑
摘要:前言 从一开始的引导程序到现在的文件系统已经有十篇了,算是自己对操作系统的学习的一个笔记,原本是想结合自己之前写的玩具操作系统 "FragileOS" ,但是之后就转到了结合Linux 0.11的代码去写这个笔记。 因为现在是马上开学了,后劲不足,也有点焦虑,所以这个系列写得非常乱。没有之前那个 " 阅读全文
posted @ 2019-09-02 09:04 dejavudwh 阅读 (472) 评论 (0) 编辑
摘要:前言 这个应该是这个系列的尾声了,一个完整的操作系统可能最主要的也就是分成这几大模块:进程管理、内存管理和文件系统。计算机以进程为基本单位进行资源的调度和分配;而与用户的交互,基本单位则是文件 生磁盘 文件正是对生磁盘的抽象 磁盘的组成 一个磁盘由多个盘面串联而成,而一个盘面又被分为磁道,磁道又由扇 阅读全文
posted @ 2019-09-01 16:17 dejavudwh 阅读 (293) 评论 (0) 编辑
摘要:前言 多进程和内存管理是紧密相连的两个模块,因为运行进程也就是从内存中取指执行,创建进程首先要将程序和数据装入内存。将用户原程序变成可在内存中执行的程序,而这就涉及到了内存管理。 内存的装入 绝对装入。 在编译时,如果知道程序将驻留在内存的某个位置,编译程序将产生绝对地址的目标代码。绝对装入程序按照 阅读全文
posted @ 2019-08-30 21:43 dejavudwh 阅读 (351) 评论 (2) 编辑
摘要:前言 在多进程的运行环境下,进程是并发执行的,不同进程间存在着不同的相互制约关系。为了协调进程之间的相互制约关系,达到资源共享和进程协作,避免进程之间的冲突,引入了进程同步的概念。 临界资源 多个进程可以共享系统中的各种资源,但其中许多资源一次只能为一个进程所使用,我们把一次只允许一个进程使用的资源 阅读全文
posted @ 2019-08-29 11:33 dejavudwh 阅读 (354) 评论 (0) 编辑
摘要:前言 既然引进了多进程,其实也就是在进程之间来回切换,那么就会有进程之间的调度问题。实则是在可运行进程之间分配有限的处理器时间资源的内核子系统。 几个简单的CPU调度算法 First Come, First Served(FCFS) 其实就是一个先进先出队列了,也就是说先申请的进程,先执行。当CPU 阅读全文
posted @ 2019-08-28 10:25 dejavudwh 阅读 (363) 评论 (0) 编辑
摘要:前言 为什么取这个标题呢?一是进程和线程是作为操作系统里最重要最核心的一部分。二是确实吃冰棍拉冰棍,没话,强行凑标题和之前的标题差不多字数。 前一章写了系统调用的过程,算是一个小插曲,这个部分不管在哪里应该都是可以的。 现在的这个系列已经和之前的标题渐行渐远了,原本是想以之前写的一个玩具型操作系统 阅读全文
posted @ 2019-08-27 11:59 dejavudwh 阅读 (350) 评论 (0) 编辑