我已经规范了系统代码风格,类似于按照linux分包,把各部分功能区分开了 Antz系统更新地址 Linux内核源码分析地址 Github项目地址 在之前的任务中,我们已经通过直接操作显卡驱动完成了简单的图形化. 需要了解之前的部分: 直接操作显卡请参考day03 简单图形化的实现请参考day09 Makefile 项目目录 console的图形化实现与规则均在main/bootpack.c中完成 interrupt/int.c 中实现了键盘中断处理,按键会中断两次,一次按下,一次弹起,在响应处理…
我已经规范了系统代码风格,类似于按照linux分包,把各部分功能区分开了 Antz系统更新地址 Linux内核源码分析地址 Github项目地址 在之前的任务中,我们已经通过直接操作显卡驱动完成了简单的图形化. 需要了解之前的部分: 直接操作显卡请参考day03 简单图形化的实现请参考day09 键盘按键中断响应请参考day10 Makefile 项目目录 一 . 如何实现命令缓存 在之前已经完成了键盘的响应工作,但这种响应却是有很大的问题,比如说对于一次按键的两次中断处理.后来我把两种中断都加…
Antz系统更新地址: https://www.cnblogs.com/LexMoon/category/1262287.html Linux内核源码分析地址:https://www.cnblogs.com/LexMoon/category/1267413.html 在前几天的任务中,我们已经简单实现了MBR,直接操作显示器和硬盘操作来加载其他扇区的程序,如今已经可以进入保护模式了,简单引入了C语言,接下来我们编写自己的内核. 0. 汇编生成ELF 完成实模式到保护模式跳转的这一任务是由load…
自制操作系统Antz day10——实现shell(上) AntzUhl 2018-10-10 16:25 阅读:192 评论:0   Linux内核源码分析 day01——内存寻址 AntzUhl 2018-08-05 13:38 阅读:111 评论:0   后端必备的Linux知识 AntzUhl 2018-08-05 09:45 阅读:190 评论:0   自制操作系统Antz day09——实现内核 (下) 实现图形化界面 AntzUhl 2018-08-03 13:22 阅读:485…
显示图片只是在多媒体课上看着bmp格式图片的突发奇想,然后就实现在了我自己的操作系统 Antz系统更新地址 Linux内核源码分析地址 Github项目地址 效果图: 显示图片的原理 在之前显卡操作时,屏幕上的像素点我们是直接赋予一个颜色值的. 0xa0000是显示屏左上角第一个像素的地址,我们只需要根据地址赋予相应图片的rgb值即可实现图片的显示.Antz使用的显卡模式只能支持255种颜色,也就是bmp中24色的图片. 所以我们需要先将一个24色bmp格式的图片进行rgb值读取,然后再将rgb…
Antz系统更新地址: https://www.cnblogs.com/LexMoon/category/1262287.htm Linux内核源码分析地址:https://www.cnblogs.com/LexMoon/category/1267413.html 0. 如果你不知道什么是保护模式 你可能不知道什么是保护模式,没有关系,在你知道之前让我们先来看一段代码,如果你没有接触过这些内容,可能会觉得一头雾水,不知所云,不要紧,我们可以一点一点来分析. os.asm : %include "…
0.引子 最近在看操作系统底层方面的东西,最开始的为什么是07c00h这个问题就让我对操作系统有了很大的兴趣.所以准备在看书之余顺便写一个操作系统(Anz).至于为什么这个系统会被叫做Antz,可以参考Antz Uhl Kone(某个日漫男主的名字), 日语为アインズ·ウール·ゴウン , 与之对应的还有接下来准备写的自制脚本语言AntzScript,因为准备是用Java实现解释器,所以如何把AntzScript运行在Antz上是一个很大问题(其实问题就是引入Java). Antz系统更新地址: …
我已经规范了系统代码风格,类似于按照linux分包,把各部分功能区分开了 Antz系统更新地址 Linux内核源码分析地址 Github项目地址 在之前的工作中,AntzOS已经从单调的界面,变得逐渐拥有自己的功能了. 真机运行情况 : 这个系统在我最初的目的中就是实现一个半图形半终端的轻巧OS. 完成了当前的工作后,Antz接下来需要实现的则是关于任务调度相关的. 目前实现的是在Terminal中对命令的响应,还有一个简易的vim,可以用于右边界面的文本编辑. 对于按键中断,对全键盘的响应改良…
Antz系统更新地址: https://www.cnblogs.com/LexMoon/category/1262287.html Linux内核源码分析地址:https://www.cnblogs.com/LexMoon/category/1267413.html 在前几天的任务中,我们已经简单实现了MBR,直接操作显示器和硬盘操作来加载其他扇区的程序,我们这些任务都是为了进入保护模式做准备,虽然我们已经给出了jmp到保护模式的方法,但是我们还是需要理解保护模式下的一些特性,才能更好的实现我们…
Antz系统更新地址: https://www.cnblogs.com/LexMoon/category/1262287.html Linux内核源码分析地址:https://www.cnblogs.com/LexMoon/category/1267413.html 目前已经完成了MBR的雏形,虽然有些简陋,比如我们的屏幕显示还是使用的BIOS中断,而在BIOS中断向量表只有在实模式下存在, 我们要进入保护模式之后就无法使用了.此次我们要完成直接操作显存来进行屏幕显示. 0.  关于显存 如果要…