操作系统
文章平均质量分 80
本专栏从零开始实现一个简易的操作系统
shi789789789
这个作者很懒,什么都没留下…
展开
-
操作系统实现-外中断
博客网址:www.shicoder.top微信:18223081347欢迎加群聊天 :452380935这一次我们来对中断中的外中断进行讲解,先给下中断的分类和中断号分配把。中断号分类0x0-0x20异常和非屏蔽中断0x20-0x30I/O设备引发的可屏蔽中断,比如键盘、时钟等外中断0x30-0xff软中断,比如常说的int 80系统调用前面对异常进行了讲解,这次对外中断进行说明。我们下面以时钟中断举例,首先我们要知道的是,时钟中断是操作系统自己发.原创 2022-05-24 15:11:14 · 515 阅读 · 0 评论 -
操作系统实现-中断及任务调度
博客网址:www.shicoder.top微信:18223081347欢迎加群聊天 :452380935这一次我们来对内核进行完善,主要包括全局描述符的加载、任务调度、中断等全局描述符的加载我们回顾下,是不是在loader中有关于全局描述符的一些代码prepare_protected_mode: cli; 关闭中断 ; 打开A20线 in al, 0x92 or al, 0b10 ; 第1位置1 out 0x92, al ; 加载GDT .原创 2022-05-14 19:51:50 · 583 阅读 · 0 评论 -
操作系统实现-printk
博客网址:www.shicoder.top微信:18223081347欢迎加群聊天 :452380935这一次我们来实现最基础,也是最常见的函数print,大家都知道这个是可变参数函数,那具体怎么实现呢,我们慢慢来说吧大家都知道我们常见的格式化输出函数printf里面有很多参数,比如%[flags][width][.prec][h|l|L][type]%:格式引入字符flags:可选的标志字符序列width:可选的宽度指示符.prec:可选的精度指示符h|l|L:可选的长度修饰符.原创 2022-05-13 09:34:45 · 248 阅读 · 0 评论 -
操作系统实现-进入内核
博客网址:www.shicoder.top微信:18223081347欢迎加群聊天 :452380935这一次我们正式进入内核,编写相关的内核代码,也就是kernel代码数据类型定义因为我们在内核中会使用一些数据,因此先提前定义一些数据类型#define EOF -1 #define NULL ((void *)0) // 空指针#define EOS '\0' // 字符串结尾#define bool _Bool#define true 1#define false 0.原创 2022-05-12 09:40:09 · 447 阅读 · 0 评论 -
操作系统实现-loader
博客网址:www.shicoder.top微信:18223081347欢迎加群聊天 :452380935大家好呀,终于我们到了操作系统的loader部分了,loader也是操作系统中最重要的一个部分,承接上面的boot,启下下面的kernel,那我们就开始吧!!!内存检测在loader中,最重要的一点就是检测内存,检测一些系统参数,到时候给kernel使用,那么下面我们就介绍下loader中如何检测内存。还是一样,我们先看下检测内存的代码detect_memory: ; 置为0 .原创 2022-05-11 09:59:31 · 263 阅读 · 0 评论 -
操作系统实现-boot.asm实现
博客网址:www.shicoder.top微信:18223081347欢迎加群聊天 :452380935这一次我们进入操作系统实现的真实编码, 这一次主要是完善对boot.asm文件的全部实现,开始吧。。。首先我们先来理一下boot.asm需要干什么打印出Booting System...实现磁盘读写将后续的loader.asm所在的区域读入到0x1000处,然后跳转进入loader.asm程序开始执行loader.asm程序(这一节我们下次实现)实模式下的print在我们平时.原创 2022-05-07 10:18:31 · 845 阅读 · 0 评论 -
操作系统实现-简单热身
博客网址:www.shicoder.top微信:18223081347欢迎加群聊天 :452380935这次对上次的boot.asm进行代码讲解,也可以对汇编的相关理论进行补充boot.asm主引导扇区位于硬盘的0柱面0磁头1扇区处,首先BIOS加电后,就会将主引导程序加载进来,然后执行我们先看下boot.asm中有啥把[org 0x7c00]; 设置屏幕模式为文本模式,清除屏幕mov ax, 3int 0x10; 初始化段寄存器mov ax, 0mov ds, axm.原创 2022-05-06 19:08:16 · 100 阅读 · 0 评论