程序员之梦自制操作系统
文章平均质量分 97
30天自制操作系统(包含书籍, 可私聊我拿)
一周自制myos(文章中有连接到GitHub)
落子无悔!
念念不忘,必有回响.不积小流,无以成江海.
展开
-
myos3 大学生利用C++构建一个完整的操作系统之代码重构并实现键盘打字和鼠标移动
myos1 大学生利用C++构建一个完整的操作系统打印helloworldmyos2 大学生利用C++构建一个完整的操作系统之响应键盘中断myos3 大学生利用C++构建一个完整的操作系统之代码重构并实现键盘打字和鼠标移动1. 按键中断计算机自制操作系统(十六):中断—键盘驱动 - 知乎 (zhihu.com)在中断IDT 中 256个中断源产生的中断在IDT表中注册时, 全部指向了同一个中断服务程序 class InterruptHandler, 其实是不准确的, 因为并没有建立各自中断号和中原创 2021-12-05 19:34:43 · 2189 阅读 · 0 评论 -
mycompiler1 大学生利用C++构建一个编译器之词法分析器
文章目录定义语言编译器工作流程词法分析器的实现有限状态机(正则匹配)多个状态机合并成语法分析器不同状态机引号字符串关键字或者变量操作符注释判断之前有说过要实现一个myos的操作系统, 但是有了操作系统就需要在这系统上运行一些程序呀, 所以这里想着自己定义一个语言, 在做一个编译器, 最后生成可执行的代码放到myos上应该还是不错的; 注意: 不管是操作系统还是编译器, 都有很多人做了很多成熟的小型开源项目, 我也是基于这些项目拿过来学习一下, 并不是真的每一句都是自己的写的, 只能说就像小时候抄作业一原创 2021-12-02 01:03:59 · 1566 阅读 · 0 评论 -
myos2 大学生利用C++构建一个完整的操作系统之响应键盘中断
我们书接上回, 通过汇编和C++完成了一个引导程序, 实现系统启动并且打印helloworld的工作文章目录1. 类型统一 types2. IO读写之port2.1 通过C语言利用汇编指令对IO的读写控制2.2 port8bit的定义和实现3. 全局描述之GDT3.1 CPU的工作模式(寻址方式)和GDT的恩怨纠葛3.2 GDT的定义和实现4. 中断之IDTmyos1 中完成了引导和基础框架, 但是一个完整的OS还有很多的基础工具需要完成, 比如GDT和IDT, 本文主要的工作就是完成这俩核心技术,原创 2021-11-25 23:34:10 · 1958 阅读 · 0 评论 -
myos1 大学生利用C++构建一个完整的操作系统打印helloworld
文章目录1. 工具预备1.1 Ubuntu涉及到的编译工具1.2 VScode涉及到的插件1.3 virtual Box创建一个新的空虚拟机2. 文件目录3. 操作系统的引导 `loader.s`3.1 涉及到的知识点有3.2 程序执行的内存分配3.3 汇编指令引导开机4. C++编写的内核代码 kernel.cpp4.1 定义打印函数printf4.2 定义显示的主函数4.3 kernel文件5. Makefile 工程管理6. linker7. 激动人心的时刻到了很久以前, 就想尝试实现一个OS,原创 2021-11-19 11:10:31 · 4894 阅读 · 1 评论 -
30天自制操作系统 第一天
<30天自制操作系统> 第一天上机环境: win10 + 虚拟机VMware准备工作下载资料如下,PDF版课本和软件和自带的程序下载地址如下https://download.csdn.net/download/qq_32460819/10881850首先介绍一下文件和功能(1) !cons_nt.bat功能是打开命令行(2) install.bat ru...原创 2018-12-27 22:49:33 · 484 阅读 · 0 评论 -
30天自制操作系统 第2天
上机环境: win10 + 虚拟机VMware今天主要Makefile文件入门首先先看主.nas; hello-os; TAB=4 ORG 0x7c00 ; 指明程序装载地址 ;因为内存地址0是用来保存BIOS程序的,所以必须向后延长,所以伟大的开发们就定义了0x7C00; 以下是记叙标准FAT12格式软盘 JMP entry DB 0x90 DB ...原创 2018-12-27 23:25:51 · 313 阅读 · 0 评论 -
30天自制操作系统 第3天
上机环境: win10 + 虚拟机VMware本次制作真正的启动区IPLipl.nas文件; haribote-ipl 纸娃娃系统的的意思; TAB=4 ORG 0x7c00 ; 指明程序装载地址 ;因为内存地址0是用来保存BIOS程序的,所以必须向后延长,所以伟大的开发们就定义了0x7C00; 以下是记叙标准FAT12格式软盘 JMP entry ...原创 2018-12-28 10:35:47 · 501 阅读 · 0 评论 -
30天自制操作系统 第4天
上机环境: win10 + 虚拟机VMware成就:调用显卡显示条纹图案指针的应用需要文件及其功能ipl10.nas 读取10个柱面数据 作为启动区asmhead.nas 初始化寄存器,调用显卡等一些初始化,跳转到主函数naskfunc.nas汇编函数库,用于C语言无法实现的功能bootpack.c主函数首先在汇编函数库中naskfunc.nas文件添加另外一个写函数; n...原创 2018-12-28 21:45:51 · 714 阅读 · 2 评论
分享