SmlOS 概述
最初写这个的目的是想研究以下的操作系统的工作原理,这个小系统大概花费我四五个月的心血,想来也是费尽千辛万苦。
虽然只是个toy OS,不过能做出来还是一件很有成就感的事情。
github:https://github.com/daterlove/SmlOS
后面我将对这个小系统进行分模块的介绍,顺便也回顾下代码的思路。
不过如果你并没有接触过相关的知识,其实理解起来可能有一定困难。
不过,这也没有太大的关系,我会尽力表述的通俗易懂。
SmlOS主要实现以下功能:
- 1.对屏幕显示的控制,直接操作显存,支持多种屏幕分辨率
- 2.提供窗口化图形界面,可自由拖动关闭窗口,支持透明色
- 3.实现文字输出功能,完善的应用层接口支持,支持直接操作显存
- 4.提供内存管理功能,采用段式内存管理,借鉴页式管理思路,支持对内存的申请和释放,实现内存申请向上取整
- 5.对系统底层中断的处理控制
- 6.支持鼠标和键盘设备的控制,支持ps/2鼠标,键盘
- 7.内核使用休眠机制,在系统空闲的时候自动切换到空闲模式,降低CPU占用
- 8.对系统时钟控制,实现最多500个定时器,实现了毫秒级的定时器机制
- 9.支持多任务处理,使用时间片轮转机制,支持进程优先级功能
- 10.支持进程通信,使用消息队列机制
- 11.自定义加载背景图片,显示不同的背景图片
发表回复
要发表评论,您必须先登录。