<<30天自制操作系统>> linux版
- qemu(用于模拟运行)
- wine(用于运行编译工具)
略(初步入门)
制作启动区,使用Makefile
读取扇区(10柱面共180K),从启动区执行操作系统,32位模式的前期准备,导入C语言,并实行HLT
C语言实现内存写入,实现显示条纹图案,设定色号,绘制矩形,最终实现一个简易桌面图案
显示字符,增加字体,显示字符串,显示鼠标指针,也同时实现了GDT与IDT的初始化
初始化PIC,制作中断处理程序
使用FIFO缓冲区,加速键盘中断处理,接受鼠标数据
解读鼠标数据,实现移动鼠标,切换32位模式
实现内存检查,以及内存管理
实现叠加处理
实现画面外的支持,以及实现显示窗口
使用定时器,实现计量时间,以及超时功能
简化字符串显示,重新调整FIFO缓冲区,使用"哨兵"简化程序
提高分辨率,实现键盘输入,以及追记内容(字符串输入)
实现多任务切换
增加了任务管理自动化以及任务休眠,同时为系统加入了任务调度算法.此调度算法是非抢占式优先级调度算法,采用10个不同的优先级队列,队列优先级越高,越早执行.只有当优先级高的队列中的任务全部执行完后,才执行较低队列中的任务.当执行低优先级队列中的任务时,一旦有优先级高的队列中的任务到达时,下一次任务切换时转去执行那个任务.此外,同队列中的任务也可设置优先级大小,优先级越大执行时间越长.
创建了命令行窗口,同时实现了切换输入窗口,也加入了大小写字母与符号的输入,对各种锁定键的支持.
控制光标闪烁,支持回车,实现窗口滚动支持,同时实现了free,cls和ls命令
实现cat命令,支持FAT文件格式,同时实现了第一个应用程序hlt.ajs