OS入门堂
魔芋
卫道士技术洁癖
展开
-
操作系统入门(一)痛并学习中
;; 文件:boot.asm;; 作用:从7c00h处启动,显示载入系统信息"Loading System...";; 没有文件系统,1.44M 512bits/80sec 软盘启动,;; 创建日期:2004/01/30 flyback;; fly-back@163.com;; ===================================原创 2005-05-26 08:45:00 · 2213 阅读 · 1 评论 -
操作系统入门(五) - 载入32位保护模式代码为c做准备
操作系统入门(五) - 载入32位保护模式代码为c做准备 经过上千次的试验,终于还是没有能够在vmware实现用一段程序载入kernel.img然后执行32位的kernel代码,无数次的跳出无奈呀,后来知道实际上是因为gdt全局描述表没有正确载入造成的问题,至于能跳出这样提示的代码,我想没有人愿意去看吧,错的有什么好看的? 于是乎找来了鼎鼎大名的Bochs来帮忙http原创 2006-04-24 23:21:00 · 2129 阅读 · 0 评论 -
操作系统入门(六) - kernel.asm
; ==================================;; 文件: KERNEL.asm;; 作用: 系统在进入保护模式之前;; 要进行的初始化操作包括:; 1.载入32位系统文件system.img; 2.设置GDT和中断(空的)在32位的时候再设置;; 创建日期:2006/04/30 flyback;; 修改日期:2006/05/07 flyback;; ht原创 2006-05-07 01:59:00 · 1596 阅读 · 0 评论 -
操作系统入门(六) –pnt.asm
; ==================================;; 文件: pnt.asm;; 作用: 需要调用的显示部分子程序;; 创建日期:2006/04/30 flyback;; 修改日期:2006/05/07 flyback;; http://blog.csdn.net/flyback;; fly-back@163.com; =========================原创 2006-05-07 02:00:00 · 1501 阅读 · 0 评论 -
操作系统入门(六) –readdisk.asm
; ==================================;; 文件: readdisk.asm;; 作用: 需要调用的读读磁盘文件子程序;; 创建日期:2006/04/30 flyback;; 修改日期:2006/05/07 flyback;; http://blog.csdn.net/flyback;; fly-back@163.com; ==================原创 2006-05-07 02:01:00 · 1736 阅读 · 0 评论 -
操作系统入门(六) - system.asm
现在还没有进入保护模式所以随便写一些作测试就可以了[bits 16]mov ax, 0xb800mov es, axmov bye[es:0x0],shlt原创 2006-05-08 14:30:00 · 1213 阅读 · 0 评论 -
操作系统入门(六) – 多汇编文件的整合
操作系统入门(六) – 多汇编文件的整合 我们的带文件分配表的boot已经做好了,并且可以把kernel.img文件装入内存执行起来,但是在进入保护模式之前还有一些初始化的准备工组要做,那么就必须在kernel里面下文章了,可能有的人会说这个kernel应该只是一个loader而已,没错,不过随便吧。由于东西可能很多,所以把它拆分成几个文件,方便管理,主文件只需要像调用子程序那原创 2006-05-07 01:57:00 · 2159 阅读 · 0 评论 -
操作系统中任务调度的实现
操作系统中任务调度的实现 作者:谢煜波Email:xieyubo@126.comQQ:139168302004-5-31简介说起任务调度,我想我们大家都非常熟悉,任何一本操作系统教程,都对此描述得非常详细,不过,他们大多数都是站在理论高度,然而具体到某台实际的机器上,某个实际的操作系统当中,它们具体是怎样用代码去实现的,描述却相对较少。本报告将站在一个编写实际操作系统的角度,去研究一下在Int转载 2006-05-06 11:08:00 · 13648 阅读 · 1 评论 -
做一个有基本printf和clearscreen函数的简单c内核
该教程演示了如何制作一个简单的内核。让我们从例子文件kernel_start.asm的开始进入内核。[BITS 32][global start][extern _k_main] ; _k_main 在c程序里start:call _k_maincli ; 禁止中断hlt ; 暂停cpu 这些是32位的代码([BITS 32]表示)调用k_main函数,这个函数翻译 2006-05-06 10:45:00 · 2091 阅读 · 0 评论 -
使用C编译器产生清晰的二进制文件 (i386+)
Cornelis Frank April 10, 2000 翻译:湖北武汉华中师范大学(CCNU) 城市与环境科学学院 陈斌 Email:sunwen@aspcn.com 邮编:430079 引言: 这是一篇深入剖析GCC编译器产生的汇编码的文章,非常精彩.对于初学者来说,这篇文章是进阶的好材料,它可以让你深刻地体会到C的内部机制.对于高级开发者和系统开发人员来说,这是非常好的资料,因为它可以让你转载 2006-05-06 10:50:00 · 3576 阅读 · 0 评论 -
操作系统入门(五) - 混合C和汇编的kernel
需要配合的汇编部分;; =================;; 文件: ;; k_.asm;; 作用: ;; 在0x90000处启动;; 调用c的k_main;; 显示一串信息;; 创建日期:;; 2006/04/26 flyback;; http://blog.csdn.net/flyback;; mailto:fly-back@163.com;; ======原创 2006-04-26 00:21:00 · 1494 阅读 · 0 评论 -
Bochs常用调试指令翻译
执行命令 c 继续执行 stepi [count] 执行一定count数量的指令, 缺省值为1 si [count] 执行一定count数量的指令, 缺省值为1翻译 2006-04-26 00:05:00 · 2155 阅读 · 2 评论 -
操作系统入门(二)痛并学习中
上一个版本的boot在显示了一串字符后就进入了死循环。 操作系统的定义是一个架设在硬件层和用户层的管理软件,我必须扩展boot使它逐步接近意义上的操作系统。 IBM-PC兼容系列的电脑在启动时载入从软盘的0磁道开始的512个字节,放入0x7c00的内存,然后从那里开始执行。 你的操作系统不可能才512个字节吧!为此我们在执行这512个字节的程序里必须加入原创 2005-05-26 08:48:00 · 1973 阅读 · 0 评论 -
操作系统入门(三)痛并学习中
之前的boot启动镜像文件在需要改变后继文件(kernel.img)时要用partcopy,并且要计算文件的长度,使用起来不方便,现在我们可以引入微软的软盘FAT格式,如果我们使用软盘来作为测试的介质,那么在使用起来会很方便。;; 文件:boot.asm;; 作用:从7c00h处启动,显示载入系统信息"Loading System...";; 没有文件系统,1.44M 512bits/80se原创 2005-05-31 22:28:00 · 1881 阅读 · 0 评论 -
配置EditPlus为汇编的编辑工具
#TITLE=ASM; Assemble syntax file written by LuoYunBin#DELIMITER=,(){}[]-+*%/="~!&|#QUOTATION1=#QUOTATION2="#CONTINUE_QUOTE=n#LINECOMMENT=;#LINECOMMENT2=#COMMENTON=#COMMENTOFF=#COMMENTON2=#COMMENTO原创 2005-05-26 10:12:00 · 2437 阅读 · 0 评论 -
配置EditPlus为汇编的编辑工具(图片)
原创 2005-05-31 23:10:00 · 2068 阅读 · 0 评论 -
在window2000下搭建一个测试操作系统的平台
有必要说一下,我不管到底哪个操作系统比较先进和高效,我用的是window2000,毕竟还是使用方便和习惯。 编译工具:EditPlus + nasm + gcc 测试环境:VMWare/VitrualPC/Bochs(推荐使用VMWare)这些工具自己找吧 nasm、bochs和gcc是免费的 EditPlus、VMWare和VitrualPC要破解原创 2005-05-26 09:46:00 · 1597 阅读 · 0 评论 -
一些操作系统的链接
http://www.osdev.org http://asmcos.51.net 中国操作系统 http://www.minicore.net 中国基础软件论坛 http://www.mega-tokyo.com/os/os-faq.html 操作系统问答 http://gro.clinux.org GRO http://newdos.yginfo.net/doswaref.htm 新DOS时代原创 2005-05-26 11:22:00 · 1588 阅读 · 0 评论 -
操作系统入门(三)图示
原创 2005-05-31 22:47:00 · 1406 阅读 · 0 评论 -
操作系统入门(四)痛并学习中
前面的教程已经说了怎么由机器启动然后转到执行我们自己的代码,现在已经可以显示出一个粗糙的图形界面了,我们的程序可以先启动loader,然后再由loader里面的代码把放在磁盘里面的kernel文件载入到一个指定的位置,再转到kernel里面执行,这样一来,代码就可以突破512个字节的限制,任意由你爱写多长就写多长了,但是如果所有的代码都用汇编来写的话,我想你首先尝到的是身体上病痛的折磨,而不是完成原创 2006-04-19 16:27:00 · 2031 阅读 · 0 评论 -
配置dos窗口更好的调试我们的操作系统
原创 2006-04-25 21:49:00 · 1145 阅读 · 0 评论 -
操作系统入门(六) - 2 - 加入中断在保护模式试试看
加入中断试试看2006-5-20 blog.csdn.net/flyback fly-back@163.com一直都没有考虑中断,现在在保护模式下把中断加上去看看是怎么回事现在的文件有:kernel.asmfatboot.asmpnt.asmreaddisk.asmsystem.asmkernel.ldbuild.batstart.txtstart.原创 2006-05-20 23:20:00 · 2727 阅读 · 0 评论