Linux内核0.11学习

Linux内核0.11学习

文章目录

  • Linux内核0.11学习
    • 一、计算机开机的过程
      • 1、启动BIOS
      • 2、BIOS 在内存中加载中断向量表和中断服务程序

Linux内核最新已经版本已经到5.18了,代码量千万行的级别,一天看五百行也要看两万天,然而很多程序员能不能活到两万天都是个大问题,所以不可能看得完。

Linux 0.11内核虽然是三十多年前的产物,就像孙子兵法、黄帝内经等古书一样,不代表它们没有学习的价值。Linux 0.11内核代码约两万行,麻雀虽小五脏俱全,是一个不折不扣的现代化操作系统。

一、计算机开机的过程

实模式(Real Mode):Intel 80286和之后的80x86 兼容 CPU 的操作模式(应该包括8086)。实模式.的特性是个20位的存储器地址空间(2^20=1048576,即1MB的存储器
可被寻址),可以直接软件访问BIOS 以及周边硬件,没有硬件支持的分页机制和实时多任务
概念、。从80286开始,所有的80x86(PIU的开机状态都是实模式∶8086等早期的CPU只有
一种操作模式,类似于实模式。

RAM(Random Access Memory):随机存取存储器,常见的内存条就是一类 RAM,其特点是加电状态下可任意读、写,断电后信息消失。

1、启动BIOS

从硬件角度看,Intel 80x86系列的 CPU可以分别在16位实模式和32位保护模式下运行。为了兼容,也为了解决最开始的启动问题,Intel 将所有80x86 系列的 CPU,包括最新型号的CPU 的硬件都设计为加电即进入 16位实模式状态运行。同时,还有一点非常关键的是,将CPU 硬件逻辑设计为加电瞬间强行将 CS的值置为0xF000、IP的值置为 0xFFF0,这样CS∶IP 就指向0xFFFF0这个地址位置,如图:

Linux内核0.11学习_第1张图片

BIOS程序的入口地址恰恰就是 0xFFFF0 ,也就是说,BIOS程序的第一条指令就设计在这个位置。

2、BIOS 在内存中加载中断向量表和中断服务程序

你可能感兴趣的:(linux,学习,内核)