《30天自制操作系统》一些tips

书中介绍的是window系统下进行开发,我的是mac M1芯片,而且考研时间比较紧,所以会缺少实践环节,有机会我再补上~但是,如果对操作系统结构本身比较感兴趣,建议你看下去。
备注:这本书虽然是2012年出版,但是关于操作系统的大体描述并不过时,而且笔者笔触非常幽默且平易近人。当时80286刚刚出来~

读书笔记:
1.选用c而不是c++,因为c++中new,delete这些函数使用时需要依赖操作系统。

参考:https://zhuanlan.zhihu.com/p/385376026
堆区
堆就是new出来的内存块,编译器不管释放,由应用程序控制,new对应delete。如果没释放掉,程序结束后,操作系统会自动回收。

分配方式
堆是动态分配的,栈有动态分配和静态分配之分:静态分配由编译器完成,动态分配由alloca函数完成,即使是动态分配,依然是编译器自动释放

c没有办法完成的部分,通过汇编语言完成。

2.bootstrap 有“自力更生完成任务”的意思,描述操作系统自启动机制。IPL启动程序加载器。

3.常见的操作系统引导程序:
参考:王道

1.激活cpu,开始执行BIOS指令 2.硬件自检 3.加载带有操作系统的硬盘 4.加载主引导记录MBR. 5.扫描硬盘分区表 6.加载分区引导记录PBR

“Basic Input Output System” ,“基本输入输出系统”,是一组固化到计算机内主板上一个 ROM 芯片上的程序。顾名思义,它保存着计算机最重要的基本输入输出的程序,还包括开机后自检程序和系统自启动程序。除此以外,它还可从 CMOS 中读写系统设置的具体信息。

4.c语言相关:

char *p 中p是地址变量;
p[i]等价于*(p+i),而不是数组p的第i个元素

5.cpu的管脚与内存相连。同时各种设备都需要连接到cpu上,cpu向这些设备发送电信号(IN,OUT等)。当处理机与外部设备处理速度相差较大时,可以通过缓冲技术来进行处理。中断机制,可以让cpu不用一直查询外部设备(鼠标,键盘等)的状态,而是把精力集中在处理任务上。

6.显示问题:rgb色号设置,鼠标显示

7.markfile工具
https://blog.csdn.net/weixin_38391755/article/details/80380786#:~:text=1%20Makefile%20%E4%BB%8B%E7%BB%8D
macos迅速上手markfile:https://zhuanlan.zhihu.com/p/235249478

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。