一、学习操作系统的深度
- 层次一:从应用软件出发“探到操作系统”,主要讲解如何使用操作系统提供的接口如:
printf/fork/open/read
等。 - 层次二:从应用软件出发“进入操作系统”:了解操作提供的系统接口是如何实现的,可以自己给操作系统增加服务接口,为新的硬件写驱动程序等。
- 层次三:硬件出发“设计操作系统”,给一个硬件板子,通过查硬件手册,可以自己配一个操作系统,针对这个板子实现自己的操作系统。
二、从开机开始操作系统的工作原理
1)取指执行----CUP从磁盘0磁道0扇区中读入bootsect.c
2 )操作系统引导(总体做的:将操作系统读入内存 + 初始化 )
bootsect.s
setup.s
读取硬件参数
读取system到内存0x00位置
从16位模式 转到 32位模式,即从实时模式 转到 保护模式, 使得寻址方式发生了改变,跳转到0x00执行system,其实是转到head.s代码
实时模式: 地址翻译 CS<<4 + IP
保护模式 :根据CS查表 + IP
head.s
初始化GDT,IDT表
转到main()函数,main()是c函数
main()
各种初始化,包括mem_init 标记那些内存块被使用,哪些没有被使用
--------------------- 本文来自 Nick_24 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/nkltc/article/details/53293126?utm_source=copy