
手搓OS
文章平均质量分 88
easyLinux
nobody cares, goto work
展开
-
linux中断模块
操作系统是中断驱动的,首先,操作系统是个死循环。其实,这个死循环本身做不了什么大事,仅仅是保证操作系统能够周而复始地运行下去,而运行的目的是为了等候某些事情发生。原创 2024-03-08 14:13:09 · 1848 阅读 · 1 评论 -
文件系统中的inode与文件描述符
inode用于描述文件存储相关信息,文件结构用于描述“文件打开”后,文件读写偏移量等信息。文件与 inode一一对应,一个文件仅有一个 inode,一个 inode 仅对应一个文件。一个文件可以被多次打开,因此一个inode 可以有多个文件结构,多个文件结构可以对应同一个 inode。原创 2024-03-02 16:47:20 · 1443 阅读 · 0 评论 -
MBR(Main Boot Record)及保护模式
在实模式里段中存储的是段基地址,而保护模式中的段基地址已经在段描述符中被描述,所以保护模式中的段中存放的是选择子,可以理解为是一个索引值,用此索引值在段描述符表中索引相应的段描述符,这样,便在段描述符中得到了内存段的起始地址和段界限值等相关信息。是告诉编译器以新的数字作为后面数据的地址的起始值,它本身没改变数据本身在文件中的地址(相对于文件开头的偏移),vstart 只是按照开发人员的意愿安排新的起始地址,不再以文件开头。(2)用户程序所引用的地址都是指向真实的物理地址,也就是说逻辑地址等于物理地址;原创 2023-12-29 14:00:02 · 888 阅读 · 1 评论 -
BIOS启动流程
按 DOS 1.0 要求的最小内存 32KB 来说,MBR 希望给其他程序尽可能多的预留空间,这样也是为了保护自己,免得过早被覆盖。MBR 本身只有 512 字节,但还要为其所用的栈分配点空间,所以其实际所用的内存空间要大于 512 字节,估计 1KB 内存够用了。如果此扇区末尾的两个字节分别是魔数 0x55 和 0xaa,BIOS 便认为此扇区中确实存在可执行的程序(即主引导记录MBR),便加载到物理地址 0x7c00,随后跳转到此地址,继续执行。在开机的一瞬间,即接电的一瞬间,CPU。原创 2023-12-27 13:38:24 · 537 阅读 · 1 评论