- 博客(9)
- 资源 (5)
- 收藏
- 关注
原创 03 文法产生式的解析<1>
设计一门语言的时候,首先需要编写它的文法产生式,然后根据文法产生式得到词法、语法的解析规则。编译器工作的头两个步骤:词法解析、语法解析的功能如下:词法解析:解析输入字符串,将其转换为一个个有意义的符号(Token)。语法分析:解析上一步得到的符号,根据一定的规则,转换成一颗抽象语法树。而本文要做的,是这两步之前的一个动作:根据文法产生式,生成对应的编译器。在设计过程中,我的文法产生式可能会随时改变复杂度较高,而且容易出错我想设计一个通用的工具Rule:表示语法规则。
2022-10-14 20:51:14
654
1
原创 (06)从激情澎湃到放弃
写原创博客是一个很枯燥、很辛苦的工作,尤其是像操作系统这种特别冷门的技术文章。原本我是激情澎湃的开创专栏,想着分享我的心得体会,让更多的人收益,后面的章节我都定好了:中断处理、外设驱动、内存管理、进程管理、多核CPU协作……最终实现一个完整的操作系统。但是连续写作一个月之后,发现应者寥寥,于是心情也就慢慢冷淡了下来。现宣布本专栏暂时停更。...
2022-02-28 20:11:19
209
1
原创 (05)进入图形界面
到目前为止,每次运行的都是一个丑陋的字符界面。而我开发本操作系统的第一个目标就是具备图形界面,所以本节将完善此功能。调用VBE接口开启图形模式,显存地址映射,背景图案的显示,字符串的显示
2022-02-24 23:58:58
352
原创 (04)从引导进入内核<二>
仿照Linux2.4.36,从引导程序跳转到setup,开启保护模式,然后跳转到内核,开启页表,开启GDT,开启64位长模式(IA-32e),最后进入C程序入口。
2022-02-18 21:16:22
661
原创 (03)从引导进入内核<一>
一 前言前面已经准备好开发环境,并且写了一个简单的引导程序。从本节开始,就要真正的开发操作系统了。这里重新描述一下系统的启动流程:PC电源打开,CPU 将自动进入实模式加载BIOS程序并执行BIOS进行一些硬件检测配置BIOS将可启动设备的第一个扇区(磁盘引导扇区,512 字节)读入内存绝对地址 0x7C00 处,并跳转到这个地方开始引导启动机器运行。我们的程序从前面第四步开始介入,主要分为三块,功能如下:5. boot 引导程序代码,共512字节,需要写入硬盘的第一个扇区6. set
2022-02-14 20:22:23
604
1
原创 (02)第一个操作系统引导程序
文章目录前言代码废话不多说,先上代码:编译代码运行代码启动过程bochs配置1 配置文件生成2 运行自动化编译前言前面已经准备好开发环境,这里就开发一个最简单的引导程序。两个目的:验证开发环境是否好用熟悉各种工具(bochs、gcc、makefile)体验操作系统的加载过程本节源码位于: https://github.com/xqd-githup/xqd-os/tree/main/02代码引导程序由于其特殊性,必须使用汇编来编写。本专栏的汇编代码除特殊情况外,一律使用gas编译的AT&
2022-02-07 12:41:53
1083
原创 (01)开发环境准备
环境准备开发环境操作系统开发工具硬件模拟结束开发环境工欲善其事必先利其器,开发的第一步当然是准备开发环境操作系统为方便开发,建议使用Linux桌面系统,原因有两个:Linux有很多现成的开发工具,安装也方便,尤其是GCC对Linux非常友好。开发过程中会有图形界面交互,所以必须使用Linux桌面系统我这里使用的是xubuntu: https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cdimage/xubuntu/releases/20.04/releas
2022-02-06 21:29:20
8383
jquery 1.4 + 中文+英文API
2010-04-04
java swing做的画图程序
2010-01-10
DWR中文文档.pdf
2010-01-10
jsp+DAO+servlet 注册 验证码 仿照网上多数网站的注册
2010-01-10
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人