这个月主要就是写有一些开发之前需要准备的基础知识。今天本来没什么想法,要写什么有关于操作系统的知识。因为对于操作系统来说,还停留在大学课本所教的内容之上。记得那会在大学的时候,从图书馆借来一本日本人写的书,叫三十天自制系统,当时觉得印象深刻,虽然也尝试着去制作,但是后面我记得需要还原的环境好像有点古老(借口而已,就算制作的系统很简单,但也涉及从计算机架构、机器语言到c语言以及文件系统等等知识,并非那么容易),就放弃了,后来就没怎么有想法说自己去搞个操作系统。今天还想着没什么可写的,要不就写一写关于与国产操作系统相关的,然后发现自己使用的国产操作系统也不多,也不能瞎扯,突然脑子里就闪过最近有看过的关于自制操作系统的事,下面就来说说。
今天要说的主人公,是瑞典的一个程序员,就是他自制操作系统,关键还是从零到一。手搓操作系统已经够厉害了,关键他还是在戒毒期间写出来,到这我更震惊了。因为大家知道这肯定很难,这期间还能自制出来一个完整的操作系统,这真的是太太太(tigh)了。
所以先赶紧把地址贴在这,如果你有自制操作系统的想法,可以去看看这个代码,咱再接着说。
代码语言:javascript复制https://github.com/SerenityOS/serenityhttps://github.com/SerenityOS/serenity
现在看他博客已经找不到之前他发的说是辞去工作,全职开发系统的那篇博文了,但是现在至少知道,他可以靠着自己开发的操作系统谋生了。他在博客里写到如何靠着这款系统维持生活,感兴趣的朋友可以去看看。
这款操作系统叫serenityOS,中文翻译过来是宁静系统。作者说这款操作系统是一封写给那个90年代,喜欢类unix界面系统的用户的信。这个系统是基于我们的热爱,奉献给我们,由我们自己创作。这位作者在也通过视频从头到尾展示了制作操作系统的过程,从刚开始的简陋风,到一步步添加了各种功能,由此吸引了全世界各地的开源爱好者,大家都奉献出自己的一份力量帮助完善这个系统,现在已经有24.2k星星了。
操作界面如图所示,真的很像我小学时代上电脑课时的系统。但也不得不佩服这位前辈的毅力。在这款系统的代码仓库里,作者介绍这款系统具备的特性,我这里只是简单罗列下,感兴趣的朋友自行前往研究。
- 抢占式多线程的x86 64位内核
- 良好的POSIX兼容性
- 带有js的浏览器
- IPv4支持TCP、UDP、IMAP等协议
- 日常GUI程序和实用程序
- 类posix虚拟文件系统和ext2文件系统
- 统一风格和设计理念、灵活的主题系统
- 。。。等等
总之看了作者从一个简单的窗口到虚拟机运行,到首次启动GUI,多进程、支持壁纸、截图,以及到后面支持网页浏览等等功能实现,这真的太励志了,况且这开发过程只用了短短半年时间,所以说热爱真的有很大很大的力量!如果读我文章的朋友,你有所热爱的事情,那就努力去做吧,相信一定可以做到的。
那么,今天就聊到这,别忘了点个关注点个赞,让你收获更多干货。
END