哈工大L3操作系统启动流程与main.c探索
需积分: 0 93 浏览量
更新于2024-08-05
收藏 1.05MB PDF 举报
在哈工大操作系统-L3的课程中,关于操作系统启动过程的讲解深入到了汇编语言层面。首先,我们来看开机的第三步,即head.s文件。在这个阶段,操作系统进入了保护模式,这是从实模式向更高级别安全性和性能提升的关键步骤。
1. head.s的初始化:头文件head.s负责在内存中的定位和启动流程。它首先进行32位模式的初始化,使用GNUas汇编语言,因为此时系统已经处在保护模式下,这种32位的AT&T语法与早期的16位as86汇编有所不同。头文件确保操作系统的核心部分能够正确加载并从0地址开始执行。
2. 保护模式的地址翻译:进入保护模式后,地址空间的处理更为复杂。全局描述符表(GDT)用来映射不同段寄存器(如CS、DS、SS等)到物理内存的特定区域。每个GDT表项包含基地址和偏移信息,通过查找GDT来确定实际的内存地址。例如,当遇到指令jmpi0,8时,意味着CS的值为8,IP(指令指针)为0,需要找到GDT的第二个表项来确定具体的地址。
3. 主程序main.c的初步窥探:虽然汇编代码占据了主导,但理解main.c的作用同样重要。它是操作系统的核心入口点,负责管理和调度系统任务。在head.s初始化完成后,控制权会传递给main.c,进行后续的操作系统服务和功能调用。
4. L2+L3总结:L2和L3阶段可能是对操作系统核心模块(如内存管理、中断处理、设备驱动等)的深入学习。这部分内容涉及到了中断管理,可能参考了《x86汇编语言:从实模式到保护模式》一书的159页以后的内容,强调了中断处理在保护模式下如何协调硬件和软件之间的交互。
哈工大的这门操作系统课程详细讲解了从头文件初始化到保护模式的转换,再到主程序的调用,以及中断处理等关键概念。学习者将了解到操作系统如何利用汇编语言进行底层控制,实现内存管理、数据保护和系统响应等功能。通过这些深入的学习,学生能够更好地理解和构建自己的操作系统。
2020-04-27 上传
2010-11-05 上传
2019-05-24 上传
2022-05-18 上传
2021-08-19 上传
2012-08-21 上传
点击了解资源详情
点击了解资源详情
2024-10-22 上传
2024-10-22 上传
东方捕
- 粉丝: 20
- 资源: 310
最新资源
- 开源通讯录备份系统项目,易于复刻与扩展
- 探索NX二次开发:UF_DRF_ask_id_symbol_geometry函数详解
- Vuex使用教程:详细资料包解析与实践
- 汉印A300蓝牙打印机安卓App开发教程与资源
- kkFileView 4.4.0-beta版:Windows下的解压缩文件预览器
- ChatGPT对战Bard:一场AI的深度测评与比较
- 稳定版MySQL连接Java的驱动包MySQL Connector/J 5.1.38发布
- Zabbix监控系统离线安装包下载指南
- JavaScript Promise代码解析与应用
- 基于JAVA和SQL的离散数学题库管理系统开发与应用
- 竞赛项目申报系统:SpringBoot与Vue.js结合毕业设计
- JAVA+SQL打造离散数学题库管理系统:源代码与文档全览
- C#代码实现装箱与转换的详细解析
- 利用ChatGPT深入了解行业的快速方法论
- C语言链表操作实战解析与代码示例
- 大学生选修选课系统设计与实现:源码及数据库架构