linux源码笔记

这部分能用本着想记就就记,想不起来就不记的原则。同是出于练习英文的目的,部分不重要内容计划用英文。

事先说明我读的是linux1.0,这里可以几乎不用怎么看到lock 前缀,都是单cpu,同时有引导程序。 首先说明cpu为什么会运转起来:

1:cpu上电后会从某一个地址开始顺序执行程序,当然此时是实模式(如果问什么是实模式,保护模式,简单怎么也该知道,不然拉去补课)

2:bios当然有一些基础磁盘操作和其他基本设备操作能力,例如int 0x13 int 0x10.此时要看ah等寄存器内容决定操作内容

3:于是bios检查了设备,把引导扇区考入内存,cpu上电开始执行了,大致如此,当然可能有更详细的内容 在1.0 自己把自己拷贝,完全由于自己小于512字节,还是256(opcodes 总字节数),反正是很小,然后把esp设在一个怎么也不可能到达的地址,于是把其他要装的装进来,不然自己太小了。装入setup.s的扇区,跳转检查设配,最后通知两个8259芯片,启动中断模式,每个8259芯片可以8个中断,于是我们有个16个可以用的了。开启保护模式,跳转

 

 

we can say something about idt here.The 16 irqs gived by 8259 often be in idt33-idt48。I read mem_init , and feel it is so simple about page-management.only pgd,pte at the address, and a strange memmap is 0 or 1 that dicide the the read mem is used or not.I see a lot of static,extern ,and feel that linux put thing simple and fixed.It's easy system,but big application may be a challenge to it at 1.0.

你可能感兴趣的:(linux,application,system,磁盘)