操作系统
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 · 900 阅读 · 1 评论 -
一个操作系统的实现(四)
对应原书第五章,与原书步骤大致相同(注意部分代码及代码解释在原书中有所以没有贴出,本系列博客需结合原书食用)这一篇中编译链接时需要注意将默认64位改为32位,与原书有略微不同,具体见下编译代码 实验1:汇编版Hello World // 生成hello.o nasm -f elf hello.asm -o hello.o // 生成hello,注意转成32位,与原书不同 // 原书:ld -s hello.o -o hello ld -m elf_i386 -s hello.o -o hello 执行.原创 2020-06-06 21:31:22 · 888 阅读 · 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/floppy sudo cp loader.com /mnt/floppy sudo u.原创 2020-05-31 14:09:58 · 938 阅读 · 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 · 1104 阅读 · 1 评论 -
一个操作系统的实现(一)
在学操作系统,老师教的是清华的moocos操作系统,是根据一些基础代码填空式学习,个人不太习惯,故开始了自己探索的历程,也就有了这一系列博客(不定期更新) 一个操作系统的实现系列是按照Orange’S:一个操作系统的实现这本书一步步做的,这是案例1(所有案例基于linux系统,下面会有在虚拟机安装ubuntu教程) 在清华镜像下载ubuntu的镜像(我用的是最新版20.04) 在virtualBox安装ubuntu(虽然版本不同,但是操作基本一致) 然后再u’bu’nubun ...原创 2020-05-19 14:38:27 · 3106 阅读 · 1 评论
分享