- 博客(5)
- 收藏
- 关注
原创 VFS
VFS 因为在一个操作系统中不单只有一种文件系统,要使操作系统能够支持不同的文件系统,让他们能够友好共存,这就是VFS(Virtaul Filesystem Switch)的使命。VFS将对各种不同文件系统的管理和操作纳入到一个统一的框架中,使得用户程序可以通过同一个文件系统调用,对各种不同的文件系统和文件进行操作,而无需关心文件属于什么文件系统。 接下来看看具体实现: //定义指向函数的指针
2015-07-30 00:46:21 328
原创 8259a pic 原理收集
8259a pic 原理收集最近在写一个简单的kernel, 中断弄得我很头疼, 查询了很多资料, 顺便整理下一些关于8259a pic的资料 1. 简介 8259A芯片是一个中断管理芯片,中断的来源除了来自于硬件自身的NMI中断和来自于软件的INT n指令造成的软件中断之外,还有来自于外部硬件设备的中断,这些中断是可屏蔽的。这些中断也都通过PIC(Programmable Interrupt
2015-07-30 00:44:54 964
原创 x86的控制寄存器
x86的控制寄存器状态和控制寄存器组除了EFLAGS、EIP ,还有四个32位的控制寄存器,它们是CR0,CR1,CR2和CR3. 1. CR0 0位是保护允许位PE(Protedted Enable),用于启动保护模式,如果PE位置1,则保护模式启动,如果PE=0,则在实模式下运行。 1 位是监控协处理位MP(Moniter coprocessor),它与第3位一起决定:当TS=1时操作码
2015-07-30 00:44:25 404
原创 LMA与VMA总结
ldscriptldscipt是gcc下的链接脚本, 顾名思义, 就是告诉别人, 这些代码该怎么链接. 链接就是,将多个目标文件合并为一个目标文件,称作可执行文件。 每个目标文件都包含一连串的section,最常见,最基础的至少有: .text,代码段,就是CPU要运行的指令代码; .data,数据段,程序中包含的一些数据,放在这个段里; .bss,未初始化段,记录了程序里有哪些未初始化的
2015-07-30 00:40:55 8809 1
原创 IDT与中断
1. IDT在实地址模式中,CPU 把内存中从0 开始的1K 字节作为一个中断向量表。表中的每个表项占4 个字节,由两个字节的段基址和两个字节的偏移量组成,这样构成的地址便是相应中断处理程序的入口地址。在保护模式下,中断向量表中的表项由8 个字节组成,如图3.2 所示,中断向量表也改叫做中断描述符表IDT(Interrupt Descriptor Table)。其中的每个表项叫做一个门描述符(Ga
2015-07-30 00:33:16 682
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人