设为首页收藏本站

天空语文 如皋  九华 作文  教学

 找回密码
 我要加入(register注册)

QQ登录

只需一步,快速开始

快捷登录

使用微信账号登录

最近看过此主题的会员

天空新人

李白202091

蓝兰的花朵

天晴朗

嘿嘿嘿

joycy

颂颂.g

酷土土土

用户已注销

Jeremy

ʚ贴贴ɞ

果子黑

H·princess

李苏楠

方大金

依灵灵灵.

金川兰

lulululu

lisunan18795762

清风拂过

楠大人

王悦

朴弟

赵珺琦

王佳慧

八5霍程

查看: 249|回复: 1
收起左侧

[数码知识] 从零开始开发一个操作系统

  [复制链接] TA的其它主题
来自- 巴西

Ta在天空论坛排行

积分:NO. 72 名

发帖:NO. 95 名

在线:NO. 48 名

杨宇婷 发表于 2020-3-3 10:09:30 | 显示全部楼层 |阅读模式 来自- 巴西
天空便利贴:这里是语文的天堂,也是文学的乐园。如有原创或喜欢的文章,可推荐发表,供坛友欣赏提高。您的热情和才华是天空论坛最大的财富。
来自- 巴西

加入天空更多精彩

您需要 登录 才可以下载或查看,没有账号?我要加入(register注册)

x
从零开始开发一个操作系统如歌链路 2020-02-19 15:26:51
在2019年的最后一天终于完成了整个系统的开发,并给它起名曰——Inios 。就如同文章名字一样,完全是从内核编写,非二次开发,从最初的“hello os”到初次有了系统的样子。主要用C语言编写,部分汇编语言。。整个操作系统完成后的大小为39.6 KB之所以这么小其实主要是语言的原因,另一个重要原因是在开发中对部分系统代码和字体库以及媒体的压缩。中间进行多次迭代,最终完成整个操作系统的开发Inios。
系统预览

开发环境及主要工具
  • win 8.1 x64 :用来开发Inios的“载体”
  • qemu 虚拟机:测试Inios
  • wxmedit:16进制编辑器
  • nsak:汇编器
  • Notepad++:代码编辑器
  • Git:除了提交代码外,还用来生成特殊文件
系统功能命令行终端
  • mem: 显示内存的使用情况
  • cls: 清空控制台内容
  • dir: 列出目录
  • type:查看文件内容
  • hlt:运行.hrb可执行程序
  • shift+F1:强制关闭程序
  • enter:关闭当前应用程序窗口
  • F11:将最下面的窗口置顶
  • Tab:切换窗口
  • 鼠标点击:切换窗口/移动窗口
  • shift+F2:打开终端/打开另一个终端窗口(支持多个)
  • exit:关闭当前终端窗口
  • ncst xx:一个终端可以运行多个程序
保护系统
主要做了“内存访问权限 ”、“异常”和“应用程序存入DS操作系统用的段地址”。
多任务
常用的多任务,如果一个系统只能运行一个程序的话,其实是缺少灵魂的。


文字显示
在原来的基础上,实现了中文显示,用到HZK16.fnt编码库。虽然字体库较大,但是经过压缩后,还是小了一半。


鼠标、键盘控制
一个操作系统常用的功能,需要说明的一点的是,在进行鼠标控制时,用现在的鼠标控制并不好用,可能是更改了协议,不过值得庆幸的是,用笔记本的触摸板进行测试,效果还是不错的。
窗口应用程序
可视化窗口程序支持。
媒体播放
这里的媒体主要是指“音频”,说是音频,其实不如说“蜂鸣器”演奏的好,因为我们的音乐都是用“蜂鸣器”来发声的。


压缩
采用的是作者自己做的压缩工具,前后权衡,既可以保证压缩率,也可保证解压速度——tek压缩。


图片预览
支持jpg和bmp格式图片预览。


初始开发文档
起初是想这每天都会记录,记录包括但不限于开发中的bug及容易忽略的问题和技巧。但是由于时间原因只是写了6天的文档,后面的会后续补充。仔细想想这6天其实也足够了,其中包括开发中所需要的初始流程及工具的介绍和使用。如果您也想试着开发玩玩,不妨看下这个简单的文档。文档链接:说明文档.pdf
写在最后
至此文章写完,虽然每次都进行测试。但难免有所疏漏,如有有问题,欢迎指正,我将不胜感激。项目开源,如果您对此有着兴趣欢迎继续开发。如果可以的话,可以点一个一个star支持项目地址或或者 免费评分。这将是对我最大的鼓励,拳拳谢意,无以言表。
参考文献




  • 这不就是日本一个人写的三十天自制操作系统吗

    回复15


  • CZC94 12天前

    《30天自制操作系统》,日本人川合秀实写的,图一右下角哪个双尾猫就是这个系统的吉祥物,当初读这本书时每章都有这个

    回复 ⋅ 1条回复9


  • 手机用户68000448678 11天前

    古时,操作系统底层是机器语言,以组合语言来编写。

    回复2


  • 数码牛哥 12天前

    牛逼

    回复12


  • 菜鸟runoob 12天前

    最简单的操作系统功能,你看的是川合秀实的《30天自制操作系统》吧?我这里还有这本书,UI什么的很像书里的OSASK






我知道答案 本帖寻求最佳答案回答被采纳后将获得系统奖励10 天空金币 , 目前已有1人回答

最近访客

来自- 巴西
天空便利贴:
到底了,觉得文章不错的,可以给作者评论或者打赏,这是创作者向前的动力。可以向上滑,或者转到相关热帖。使用过程中如有好的意见或建议,欢迎联系页面qq客服。天空论坛因你更精彩。
回复

手机扫码浏览
天空论坛,有你有我,明天更好!

主题推荐

    暂无主题推荐
来自- 巴西
来自- 中国江苏淮安

Ta在天空论坛排行

积分:NO. 129 名

发帖:NO. 122 名

在线:NO. 203 名

九2赵姝涵 发表于 2020-12-11 19:00:03 | 显示全部楼层 来自- 中国江苏淮安
来自- 中国江苏淮安
好文,鼓励。
来自- 中国江苏淮安
沙发 2020-12-11 19:00:03 回复 收起回复
B Color Smilies
还可输入 2000 个字符
回复
天空论坛,有你有我,明天更好!
来自- 中国江苏淮安
点评回复 支持 反对 来自- 中国江苏淮安

使用道具 举报 私信管理员来自- 中国江苏淮安

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

×天空论坛发帖友情提示:
1、注册用户在本论坛发表、转载的任何作品仅代表其个人观点,不代表本论坛认同其观点。
2、如果存在违反国家相关法律、法规、条例的行为,我们有权在不经作者准许的情况下删除其在本论坛所发表的文章。
3、所有网友不要盗用有明确版权要求的作品,转贴请注明来源,否则文责自负。
4、本论坛保护注册用户个人资料,但是在自身原因导致个人资料泄露、丢失、被盗或篡改,本论坛概不负责,也不承担相应法律责任。

QQ|手机版|我们的天空 ( 苏ICP备18048761号 ) |苏公网安备32068202000215号 |网站地图

GMT+8, 2024-5-14 15:19 , Processed in 0.299749 second(s), 64 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表