【读书笔记-《30天自制操作系统》-30】Day31

devtools/2024/10/18 4:23:37/

《30天自制操作系统》这部书的内容完结了,接下来是本书作者的后记部分和自己学习的一些体会。

在本书作者看来,这个操作系统其实还有诸多值得完善改进的地方。

首先是可以增加的功能。

比如当前的操作系统还不支持向磁盘写入,开发过程中完成的一些磁盘写入的动作其实是依赖于BIOS功能。如果实现了不依赖BIOS的磁盘写入功能,稍微改造就可以实现磁盘的读取功能。当前的操作系统在启动过程中是将所有内容都读入内存的,如果具备了磁盘读取功能,在启动过程中就不需要将全部内容都读入,可以加快启动时间。

而实现了对文件写入的功能之后,可以开发的东西就更多了。文本编辑器,画图编辑器,甚至移植了C语言编辑器后可以直接编译运行程序。

然后是需要优化的地方。

当前的操作系统内存管理没有考虑到内存不足的情况。启动多个程序可能会出现将内存耗尽的问题。这里需要进行处理,内存不足的情况下禁止再启动更多的应用程序。

大体总结一下这30天来学习的知识内容,涵盖了**使用32位模式的方法、内存段的使用方法、中断的处理方法、内存的管理方法、窗口和鼠标的处理、定时器的管理方法、命令行窗口的原理、API的方式、访问文件的方法等内容。**作者认为,书中给出的内容只是一种示例,并不是标准答案,读者更应该勇于自行探索更好的实现方式,不要被条条框框所束缚。

开发操作系统**不要一开始就想做的完美,这样会寸步难行。**先迈出一步,根据实现的情况不断进行调整,甚至将之前的工作完全推倒重来,这都是开发过程中的正常阶段。另外,基于什么样的目的进行开发也很重要。根据自己的目标,可以确定哪些是最重要的,而哪些是可以舍弃的。比如作者的目标在于让更多的读者能够读懂,因此在很多可以使用汇编语言的部分仍然选择了更易懂的C语言。如果有明确的目标,就可以排除不必要的干扰,更顺利地向目标迈进。

作者的话交代完了,接下来是自己的一些感受。

以前在阅读技术书籍的时候,总是读了前面的忘了后面的,很难整体掌握全书的知识。本书的主题很明确,结构上又很合理地分成了30天。但第一次读的时候看着前面的内容比较简单,就有轻视之心,结果越往后不明白的内容越多,终于导致读不下去了。

这一次采取的方法是步步为营。前面的部分都很基础,有些内容是反复读了几遍,直到自己完全理解为止。有了前面的基础,后面的内容也总算基本顺下来了。

此外每读完一讲的内容,还尽量把内容整合成几部分,然后用自己的语言重新解释一遍,形成一篇笔记。能把一件事情用自己的语言说明白,对于这件事情的理解也就达到了一定的程度。因此这种写笔记的方式对于学习这本书大有帮助。如果自己的笔记能对其他读者有些帮助,那就再好不过了。

但在实践方面,自己做的还不够好。对于作者提供的源代码,在看懂的基础上,只是抄写一遍了事,对于作者使用的方法和技巧还是不甚了了。不过这也没关系,毕竟这本书不会只读一遍。随着知识和技能的丰富,再读这本书一定会有新的体会。

虽然只是资质一般的普通人,但仍然可以有自己的进步方式。坚持下去,总会有自己的成绩。


http://www.ppmy.cn/devtools/126644.html

相关文章

高可用架构:负载均衡和集群管理

随着互联网技术的飞速发展,越来越多的应用需要处理大量用户请求。为了确保系统的稳定性和高可用性,负载均衡和集群管理成为了关键技术。本文将深入探讨这两者的原理、实现方式以及在实际运维中的应用,旨在为广大技术人员提供一份详细且通俗易…

《计算机视觉》—— 疲劳检测

文章目录 一、疲劳检测实现的思想二、代码实现 一、疲劳检测实现的思想 了解以下几篇文章有助于了解疲劳检测的方法 基于dlib库的人脸检测 https://blog.csdn.net/weixin_73504499/article/details/142977202?spm1001.2014.3001.5501 基于dlib库的人脸关键点定位 https://blo…

前端怎么实现电子签名

电子签名(e-signature)作为一种数字化的签署方式,广泛应用于合同、协议等文件的确认中。随着科技的发展,前端技术也为电子签名的实现提供了便利。本文将探讨在前端如何实现电子签名,包括技术选型、实现步骤及注意事项。…

Unity 从零开始的框架搭建1-2 事件的发布-订阅-取消的小优化及调用对象方法总结[半干货]

该文章专栏是向QFrameWork作者凉鞋老师学习总结得来,吃水不忘打井人,不胜感激 Unity 从零开始的框架搭建1-1 unity中对象调用的三种方式的优缺点分析【干货】-CSDN博客 原来 其实就是对上一节的事件发布订阅类的小优化,原来是这样子的 p…

【专题】计算机网络概述

1. 计算机网络的作用及其发展史 1.1. 计算机网络的作用 二十一世纪的一些重要特征就是数字化、网络化和信息化,它是一个以网络为核心的信息时代。 网络现在已经成为信息社会的命脉和发展知识经济的重要基础。 信息时代以网络为核心。 (1) 网络 “网络”是一个统称…

go语言中的template使用

在 Go 语言中,你可以使用 text/template 或 html/template 包来创建和执行模板。以下是一个基本示例,展示如何使用 Go 的模板语法: 1. 导入包 import ("os""text/template" )2. 创建数据结构 定义一个数据结构&#x…

如何识别并分类转录因子的家族

愿武艺晴小朋友一定得每天都开心 当我们有了差异表达的转录因子列表以后,接下来可能就想知道这些转录因子的家族分布情况是怎样的?有没有1-2个Family在其中起主要作用,占比较多。 基于这种需求,可以按以下几步来实现&#xff1a…

深度学习之残差网络ResNet

文章目录 1. 残差网络定义2. 数学基础函数类3. 残差块4.ResNet模型5.训练模型6.小结 1. 残差网络定义 随着我们设计的网络越来越深,深刻理解“新添加的层如何提升神经网络的性能”变得至关重要。更重要的是设计网络的能力。在这种网络中,添加层会使得网…