操作系统
Zcmmma
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
一个操作系统的实现(五)
对应原书第六章,与原书步骤大致相同(注意部分代码及代码解释在原书中有所以没有贴出,本系列博客需结合原书食用)与之前实验过程相同,生成kernel.bin后挂载到a.img(相较于第五章代码多了kernel/main.c、include/proc.h、include/sconst.inc),由于第五章最后讲过makefile了,之后的实验不再一步步展示编译链接挂载过程(有特殊情况会说明),直接执行make命令即可。make出现不兼容错误是因为没有把64位转为32位,需要在对应FLAGS后加对应转32位.原创 2020-06-15 15:51:49 · 876 阅读 · 1 评论 -
一个操作系统的实现(四)
对应原书第五章,与原书步骤大致相同(注意部分代码及代码解释在原书中有所以没有贴出,本系列博客需结合原书食用)这一篇中编译链接时需要注意将默认64位改为32位,与原书有略微不同,具体见下编译代码实验1:汇编版Hello World// 生成hello.onasm -f elf hello.asm -o hello.o// 生成hello,注意转成32位,与原书不同// 原书:ld -s hello.o -o hellold -m elf_i386 -s hello.o -o hello执行.原创 2020-06-06 21:31:22 · 861 阅读 · 0 评论 -
一个操作系统的实现(三)
对应原书第四章,与原书步骤大致相同(注意部分代码及代码解释在原书中有所以没有贴出,本系列博客需结合原书食用)1.加载最简单的loader,与一个操作系统的实验(二)步骤基本相同# 编译nasm loader.asm -o loader.com# 复制pmtest2.com到pm.img(这个pm.img用的是chapter3/i中的pm.img)sudo mount -o loop pm.img /mnt/floppysudo cp loader.com /mnt/floppysudo u.原创 2020-05-31 14:09:58 · 900 阅读 · 0 评论 -
一个操作系统的实现(二)
对应原书第三章,与原书步骤大致相同阅读chpter3/a/pmtest1.asm,源码如下:==========================================pmtest1.asm编译方法:nasm pmtest1.asm -o pmtest1.bin==========================================%include "pm.inc" ; 常量,宏,以及一些说明org 07c00h jmp LABEL_BEGIN[SE.原创 2020-05-24 22:06:12 · 1061 阅读 · 1 评论 -
一个操作系统的实现(一)
在学操作系统,老师教的是清华的moocos操作系统,是根据一些基础代码填空式学习,个人不太习惯,故开始了自己探索的历程,也就有了这一系列博客(不定期更新)一个操作系统的实现系列是按照Orange’S:一个操作系统的实现这本书一步步做的,这是案例1(所有案例基于linux系统,下面会有在虚拟机安装ubuntu教程)在清华镜像下载ubuntu的镜像(我用的是最新版20.04)在virtualBox安装ubuntu(虽然版本不同,但是操作基本一致)然后再u’bu’nubun...原创 2020-05-19 14:38:27 · 3053 阅读 · 1 评论
分享