该项目为本人为熟悉操作系统所创建,总共分为两个部分
在准备阶段中,主要的内容和目标如下:
- 进入保护模式
- 进入和退出保护模式
- 熟悉段机制
- 调用门的使用
- 特权级的切换
- ldt的使用
- 熟悉分页机制
- 对等映射
- 非对等映射
- 在实模式下获得可用内存的信息
- 了解中断以及对8259a进行编程
- 设计一个用户自定义中断
- 设计时钟中断
- 了解fat12文件系统
- 创建引导镜像
- 从软盘加载loader
- 学习make的使用
- 使用make进行自动化编译
- 学习内联汇编
- 内联汇编基本格式
- 使用intel格式的内联汇编
在开发阶段中,主要使用C语言,涉及到汇编代码的部分尽量使用内联汇编完成,主要的内容和目标如下:
- 完成loader部分
- 加载内核
- 进入保护模式
- 开启页机制
- 设置8259a
- 时钟中断,进程调度模块
在操作系统的编写中,所有值得记载的部分都会在文档目录下创建相应的文件以记录.
操作系统为多进程,抢占式的。初始时只有用户进程(没有系统进程),进程没有优先级的区别
- 多进程的实现方式 所有进程共用同一个TSS, 每一个进程都有自己的ldt(因为短期内不打算使用分页机制,所以要想实现每个进程都有自己的 地址空间只能让每个进程都有自己的ldt,并设置其段基址不同)
操作系统在完成字符模式的显示后才会考虑是否进行图形化
在可预见的一段时期内,操作系统二进制文件不会太大,因此操作系统内核及相关二进制文件的储存介质均使用软盘.软盘为可引导软盘,引导扇区加载loader,loader加载内核...当内核的编写进行到了文件系统时,或许会编写一个应用于fat12(fat16或fat32?)格式的文件系统以管理文件。整个操作系统可能完全不会用到硬盘等储存介质.
- tel: 18360866878
- qq: 1965972530