Category Archives: 操作系统

[Linux内核完全剖析]第六章 引导启动程序(boot)总结

Linux0.11中设备命名方式:

1-内存、2-磁盘、3-硬盘、4-ttyx(串行终端)、5-tty(控制终端)、6-并口、7-匿名管道。
硬盘逻辑设备号命名方式:设备号*0x100+次设备号。
次设备号:(硬盘号-1)*5+分区号,如不带分区号则代表整块硬盘。
这种命名方式在0.95内核以后被[……]

继续阅读

Posted in 操作系统 | Tagged | 3 Comments

[Linux内核完全剖析]第五章Linux内核体系结构5.1-5.3总结 Linux内存空间分配

Linux内核是宏/单内核,分5个模块:进程调度模块、内存管理模块、文件系统模块、进程间通讯模块、网络接口模块。

三种地址概念:
虚拟地址(Virtual Address)、逻辑地址(Logical Address):是程序产生的。虚拟地址由段选择符和段内偏移两部分组成,段内偏移又称逻辑地址[……]

继续阅读

Posted in 操作系统 | Tagged | 2 Comments

[MIT6.828] 调试虚拟机OS时断点设置问题和总结

  在qemu+gdb的调试环境中,gdb的b命令生效地址必须是虚拟机的物理地址,但是OS中运行的程序大部分都是以虚拟地址出现的,所以计算出真实的物理地址才能下断点。
  MIT6.828的LAB1中的内核代码中,内核段基址为0x10000000(可由kern/entry.S中的mygdt标号下的数[……]

继续阅读

Posted in 操作系统 | Tagged | Leave a comment

[Linux内核完全剖析]第四章总结

第四章

本章主要讲述了IA32架构下的段页管理以及中断异常和任务的切换等基础知识。要点多,理解难度大。

要点1: 段描述符和门描述符的格式
要点2: 段选择和切换的时候进行的权限验证
要点3: 页目录和页表的格式以及权限设置
要点5: CR0-CR3 GTDR ITDR LTDR TR EFLAG[……]

继续阅读

Posted in 操作系统 | Tagged | Leave a comment