一个小型的操作系统
来源:互联网 发布:查看软件注册表 编辑:程序博客网 时间:2024/04/28 07:54
学了下汇编后自己写了个小型操作系统. 名字暂时叫做ISystem. 源代码见下面的地址.
该系统主要由一个启动程序(boot.bin, 会被放置到影像文件第0个扇区的位置)和一个核心文件(kernel.bin, 会被放置到影像文件第1~64扇区的位置)构成. 并且使用工具把这两个文件合并为软盘影像文件(isystem.img). 可以使用virtual box, VMware等虚拟机加载该映像文件.
程序的启动步骤
位于第0扇区的启动程序被加载到内存位于7C00H:0000H的地方并执行. 然后启动程序加载核心文件到内存位于1000H:0000H的地方并跳转到那里执行.
系统软盘影像文件结构
扇区
说明
0
Boot Loader(512字节)
1-64
Kernel(32768字节)
65-128
保留
129
系统参数
130~2879
用户文件
应用程序的启动
通过命令exec可以启动一个程序. 系统会把程序加载到内存位于3000H:0000H的地方执行. 应用程序可以使用NASM生成的bin文件(起始点必须为0H!!!).
ORG 0H
MOV SI, Message
MOV AH, 4
INT 21H
MOV AH, 0
INT 21H
Message DB 'Hello, World!', 0
现在正在尝试用TC2的编译器产生能够在该系统上运行的程序. 继续敲代码去了~~~
下载地址: http://www.vdisk.cn/down/index/12419439
- 一个小型的操作系统
- 基于STM8的小型操作系统
- 常见的小型嵌入式操作系统
- 一个小型的搜索引擎
- 小型多任务操作系统miniOS的实现
- 基于X86的小型内存Linux操作系统
- 自己写的小型嵌入式操作系统
- 一个小型的企业信息项目
- 一个小型的溢出实验
- 一个小型的安装脚本
- 一个基于X86的小型中文操作系统的设计、编码与调试http://www.mcuol.com/Tech/207/1289.htm
- 一个小型VC项目的开发
- 一个小型管理系统的pb实现
- 一个小型的http代理程序
- 一个小型的电子时钟模拟程序
- 最近想开发一个小型的讨论
- 一个小型公司员工的信息系统(控制台版)
- 一个小型数据库的核心组件
- SQL语句大全
- 在linux下使用c++线程池threadpool
- RMAN - 备份与恢复实践
- viewpager无限循环
- Java学习札记
- 一个小型的操作系统
- live555源码分析----H264的数据处理
- 项目选择 产品分析 效益分析 工具辨析
- threadpool
- 在特定数组中查找最小整数(生成id的o(n)方法)
- 虚拟机VMware的“Cannot connect virtual device floppy0”解决方法
- Linux进程地址空间的一步步探究
- django rest framework 入门5——Relationships & Hyperlinked APIs
- SQLServer语句 20130226