问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

写一个操作系统内核有多难?大概的内容,步骤是什么?

发布网友 发布时间:2022-04-23 22:07

我来回答

1个回答

热心网友 时间:2023-01-20 14:10

“一个好一点儿的计算机硕士毕业的学生。写一个操作系统的内核绝对是应该办到而且肯定可以办到的事儿。” ------这句话我们可以理解为”一个好的计算机硕士掌握的理论知识足够他搭建起一个简单的操作系统框架“。\x0d\x0a\x0d\x0a我上操作系统课(大二)的第一天就问我的老师,学完了这门课可以自己实现一个操作系统了吗?老师说:”你可以基本掌握操作系统中要处理的主要问题,但是即使实现最简单的五脏俱全的操作系统还需要掌握很多很多东西,而且前提是你已经有很不错的代码能力。“\x0d\x0a\x0d\x0a回到题目上来,我们要实现一个简单的操作系统,最先需要解决的是哪些问题?这个问题我相信翻开任何一本操作系统书都可以得到答案,一般都是操作系统书的前五,六章内容(第一章基本是操作系统概念及发展历史)。\x0d\x0a包括:\x0d\x0a\x0d\x0a进程管理\x0d\x0a存储管理\x0d\x0a文件系统\x0d\x0a输入/输出\x0d\x0a这些大部分是讨论理论类的书,比如我们上课用的书是西电汤子瀛老师的《计算机操作系统》,后来自己为了深入学习买了Andrew S. Tanenbaum的《Modern Operating Systems》。\x0d\x0a\x0d\x0a如果想写个操作系统,除了理论知识外,动手之前最好先看看操作系统源代码,Linux的代码都是开源的,可以先学习学习。不过对于我们这种初学者千万不要看最新的Linux内核代码,因为那是很多人的杰作,可能一辈子都看不完。最好先看看国内同济大学赵炯基于0.11的《Linux完全注释》,即使只看懂30%也至会让自己懂很多之前不知道的东西。\x0d\x0a\x0d\x0a理论类的书很少有提到Bootload问题的,就是加电之后从哪里开始执行的部分。仅仅是这个步骤也需要花不少时间去了解CPU知识,汇编语言知识等,相当不容易。不话说回来,这部分如果能处理好之后会发现组成原理,汇编语言,微机原理的知识被自己运用到了,成就感巨大。这部分内容,可以参看MIT的课程6.828 Operating System Engineering的课程,Google一下就能搜到不少大牛关于这门课的博客。如果英语不太好我记得华中科技大学有一个叫32位操作系统实践的课,资料都放到网上了,看起来很不错。\x0d\x0a\x0d\x0a过了这一关,用《深入理解计算机系统》加上《现代操作系统》看一下虚拟存储器的内容,这两本书这部分说得都很棒。虚拟存储器的概念贯穿所有,如果能弄懂,对很多方面都有很大的帮助,不仅仅是操作系统这块。有了虚拟存储器概念之后对于链接,加载等知识理解就会深刻许多。 不过,这部分内容也需要对硬件部分有所了解,又是一坑。\x0d\x0a\x0d\x0a之后回到进程上来之后,终于可以把工作重心从硬件部分转移过来了。但是我们又将面对进程创建,进程调度,进程通信三大问题,既然是简单实现,就先不考虑线程的事。算法书中会给很多,不过这些算法都是有一定的局限性,比如调度算法,对应的调度算法优劣差异很大,至于如何抉择就看个人需求。不过话说回来,操作系统里的”算法“和ACM里的算法在难度上差很多,还是比较容易实现的。\x0d\x0a\x0d\x0a内容太多了,就不完全展开了,后面就看自己“耐力”了,写操作系统是需要坚持很长实践+大量知识积累的。有些问题还涉及到哲学的观点,这里推荐上海交大邹恒明教授的《操作系统之哲学原理》。除了理论方面的书,现在市面上也有直接教如何实现一个操作系统的,比如《Orange'S:一个操作系统的实现》和《30天自制操作系统》(仅有的几本“XX天XX”而不是烂书的书),起步阶段跟着这些书来还是很不错的。\x0d\x0a\x0d\x0a总之,实现最最基本的功能也许可以做到。实现功能强大,鲁棒性强的操作系统极难。
写一个操作系统内核有多难?大概的内容,步骤是什么?

“一个好一点儿的计算机硕士毕业的学生。写一个操作系统的内核绝对是应该办到而且肯定可以办到的事儿。” ---这句话我们可以理解为”一个好的计算机硕士掌握的理论知识足够他搭建起一个简单的操作系统框架“。我上操作系统课(大二)的第一天就问我的老师,学完了这门课可以自己实现一个操作系统了...

分区讲解系统

"分区讲解系统是一种在展馆或展厅使用的讲解系统,也被称为团队智慧讲解系统、展厅分区讲解系统、展馆讲解系统、分区解说系统等不同称谓。它适用于讲解员向游客进行团队讲解的情况,讲解员可手持无线讲解发射器进行语音讲解,参观者无需佩戴耳机,也可以听到现场预先安装的分区扩音设备发出的声音。这种系统可实现同一场馆、多团队、多区域同时讲解,且区域间语音切换自然。技术优势包括采用RFID技术进行控制,所有安装设备的参数都可以通过无线遥控器进行控制调节。它还具有小巧轻便的主机,可迅速安装,并且分区数不受限制。这种系统普遍适用于各…团队分区讲解系统适用于讲解员向游客进行团队讲解的情况,讲解员可手持无线讲解发射器进行语音讲解,参观者无需佩戴耳机,也可以听到现场预先安装的分区扩音设备发出的声音,避免耳机对参观者造成的不适及分发和回收耳机的不便,或其他扩音设备...

写一个操作系统内核有多难?大概的内容、步骤是什么?

。有一本日本人写的书叫《30天自制操作系统》一步一步带你写出一个操作系统内核(可以写到光盘上,从光盘启动,第一节就叫你如何实现一个“hello,world”),一般计算机的本科生(就是会一点点C语言的那种理工科生),有点耐心的话,每天2~3小时,三个月基本能够看完,跟着撸出一个操作系统内核。

如何从零开始写一个简单的操作系统

在完成 Bran's 后,我又部分参考了 写一个操作系统内核有多难?大概的内容、步骤是什么? - To浅墨的回答 中推荐的:hurley25/hurlex-doc · GitHub 文档,完成了一些简单的调试函数和库函数,printk 和内存分配。事实证明,尽早写好调试函数诸如 panic, assert 和 printk 是非常重要的。 大量地使...

Linux 2.6.34内核编译

Load an Alternate Configuration File,导入.config文件 注:内核配置有两种方法,一种是直接置入内核* ;另一种是编成模块M ;两种方法各有优点;直接编入内核的,比如设备的启动,不再需要加载模块的这一过程了;而编译成模块,则需要加载设备的内核支持的模块;但直接把所有的东西都编入内核也不是可...

设计一个操作系统难吗?

操作系统有多种实现方法与设计思路,下面仅选取最有代表性的三种做一简单的叙述。 1.整体式系统结构设计 这是最常用的一种组织方式,它常被誉为“大杂烩”,也可说,整体式系统结构就是“无结构”。 这种结构方式下,开发人员为了构造最终的目标操作系统程序,首先将一些独立的过程,或包含过程的...

如何成为一个Linux内核开发者

- 子系统中间层(为了兼容性?)- 在不同操作系统间易于移植的驱动程序- 减缓(甚至阻止)内核代码的快速变化这篇文档对于理解Linux的开发哲学至关重要。对于将开发平台从其他操作系统转移到Linux的人来说也很重要。Documentation/SecurityBugs如果你认为自己发现了Linux内核的安全性问题,请根据这篇文档中的步骤来提醒其他...

操作系统的内核技术是什么

1 微内核系统调度技术 与传统的操作系统内核相比,微内核调度系统中最突出的特征是增加了处理机和处理机集及线程的管理,并且向用户提供了灵活的手段来控翩自己的程序在处理机上的运行.这{羊,微内核系统就能很好地支持多处理机体系结构.同时,线程为用户提供了细粒度的并行处理机制,使得同一个用户任务中的不同线程...

开发一个移动操作系统有多难

如果你要开发自己的内核,难度会进一步加大。其实,国内并不是没有自己的操作系统,在微软时代就出现过“国产系统”,但无法建立自己的生态,此外,市场是否能够接受都是一个问题。一般后来者是很难插足的,毕竟别的系统通过不断的优化和改进,而后来者是很难做到这一点的。而建立生态,首先得各个厂商的...

Linux操作系统的主要组成部分是什么?

1、内核 内核是操作系统的核心,具有很多最基本功能,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。Linux内核由如下几部分组成:内存管理、进程管理、设备驱动程序、文件系统和网络管理等。2、shell shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口...

请问什么是操作系统内核?

内核,是一个操作系统的核心。是基于硬件的第一层软件扩充,提供操作系统的最基本的功能,是操作系统工作的基础,它负责管理系统的进程、内存、内核体系结构 请点击输入图片描述 设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。 [2]现代操作系统设计中,为减少系统本身的开销,往往将一些与硬件...

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
郑州虎珂整形美容医院微博议政 1结合社会主义民主政治理论,谈谈大学生可以通过哪些方式参政议政... 个人简历表格怎么写最好 支部自查自纠工作台账怎么填 在日本做点心师吃相吗?是中点师吃相还是西点师吃相? 中点师证书取消了吗 我想学中点,学中点的女孩子多吗,以后在需要中点师的公司里有女孩子上班... 现在中点师月薪多少 ? ...出的沙子卖出的钱不够工人开支和中买锤头的钱如何扭亏为盈?_百度知 ... 如果你被别人冤枉了怎么办写辩论书 交通银行下属支行哪些部门收入高?业务拓展部是和公司部有何区别?谢谢。 求十五部御宅向网络小说(不是日轻)推荐有重赏,不要广告 长治市商业银行 下属支行 《御宅秘技大师》txt下载在线阅读全文,求百度网盘云资源 《御宅天国》txt下载在线阅读全文,求百度网盘云资源 请问银行系统中,什么叫 直属支行,分行营业部算直属支行吗? 求清枫聆心写的《御宅》全文加番外 工行的一级二级支行怎么区分 华夏银行重庆分行下属支行 中国工商银行北京分行下属的支行都有哪几家? 银行的支行是分行的下属分支? 直属支行与二级分行的区别? 成都市农业银行下属所有支行的地址与电话? 银行下设分行和支行什么区别? 国有商业银行其下属支行是否属于国有,还是与其个人采取股份制管理 建设银行黑龙江下属支行是二级分支机构 长期使用充气娃娃对身体有没有好处? 请问充*气@娃#娃做多了有什么害处吗?跟我说实话 经常用充气娃娃会影响以后生孩子吗? 充气娃娃是否对身体有害 御宅少年甜心喵小说全文 异界御宅系统全文免费阅读哪里有? 求推荐有御宅属性的受的小说,最好是甜文! 噬魂天书小说txt全集免费下载 《沉迷网游的御宅修士》txt下载在线阅读全文,求百度网盘云资源 《动物化的后现代》txt下载在线阅读全文,求百度网盘云资源 日本动漫的一些知识? 求 萌萌侵略者 百度云免费在线观看资源 求《不讲道理黄瓜桂圆漫画》全文免费下载百度网盘资源,谢谢~ 《小白凶猛,快回火星》御宅小八小说txt全集免费下载 什么是OVA 综漫之枫叶随想小说txt全集免费下载 路人女主的养成方法fine 百度网盘在线观看? 《圆桌学生会第五卷》txt下载在线阅读全文,求百度网盘云资源 求 妄想少女御宅系 百度云免费在线观看资源 女孩手脚冰凉吃什么食物好 女孩手脚冰凉吃什么 女性手脚冰凉怎样调理? 手脚冰凉吃什么好 适合手脚冷女性吃的食物 手脚冰凉是怎么回事女性多吃什么