linux 内核学习过程(1)-硬件特性和内核设计之间的联系

该贴用来作为自己学习linux内核的记录和笔记,很多东西都是自己理解后整理的内容,各位看官若觉得有问题的地方,可以留言或自行查阅。

linux内核在设计的过程中很多都是依据硬件芯片特性来设计,芯片在设计的过程中很多时候需要保持兼容性,这样就留下了很多令人费解的概念,比如分段和分页机制,实模式、保护模式和虚拟86模式。
下面记录一下三种工作模式:实模式、保护模式和虚拟86模式。80386处理器有3种工作模式:实模式、保护模式和虚拟86模式。实模式和虚拟86模式是为了和8086处理器兼容而设置的。在实模式 下,80386处理器就相当于一个快速的8086处理器。保护模式是80386处理器的主要工作模式。在此方式下,80386可以寻址4GB的地址空间,同时,保护模式提供了80386先进的多任务、内存分页管理和优先级保护等机制。为了在保护模式下继续提供和8086处理器的兼 容,80386又设计了一种虚拟86模式,以便可以在保护模式的多任务条件下,有的任务运行32位程序,有的任务运行MS-DOS程序。在虚拟86模式 下,同样支持任务切换、内存分页管理和优先级,但内存的寻址方式和8086相同,也是可以寻址1MB的空间。 而在linux中,只有机器启动或复位时使用实模式,而加载linux过程和linux启动之后都是采用的保护模式来运行。可以说保护模式是linux系统的主要运行模式。
最初的8086是16位CPU,寄存器也是16位的,可寻址20位地址空间:16位段基址+4位的段内偏移,启动或复位后为实模式,只能对内存进行分段管理进行,不支持对内存进行分页式管理。到了80386是32位的,可寻址4G的地址空间。分段式的内存管理是以单个程序为单位的,内存利用率不高。为了提高物理内存的利用率,需要更加小粒度的内存分割和映射方法,因此内存分页方式诞生了。
http://www.cnblogs.com/chengxuyuancc/archive/2013/05/12/3073738.html
(未完待续)

猜你喜欢

转载自blog.csdn.net/wwxxff28/article/details/44158505