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.自定义加载背景图片,显示不同的背景图片

运行动态GIF:

image

好吧,开始了。