linux 2.6 内核学习小结(1)---硬件相关概念
2006-06-11 00:10
519 查看
1、特权级
Intel体系结构引入特权级是为了实现保护。所谓386保护模式就是在此基础上建立起来的。系统中每个段(CS、DS、SS)都有自己的特权级,系统中每个任务或程序也都有自己的特权。
2、操作模式
处理器加电或重启后,首先进入实模式,操作系统初始化部分负责从实模式到保护模式的切换。
3、段、段描述符
段是一块连续的内存区域,是基本的内存保护单位。用段描述符来描述。
4、全局和局部描述符表(GDT、LDT)
为了段的管理和查找方便。
5、门描述符
一种特殊的段描述符,属于系统段描述符。因为仅按段级保护,应用程序就无法使用操作系统段中的过程,为此,操作系统就把这些需要公开的过程建成门,从而应用程序可以通过这些门使用操作系统的过程。(这里的过程可以简单理解为函数调用),一个门对应一个过程或者任务。
6、分页机制
Intel体系结构提供两种内存管理机制:分段和分页。段是一种基本的内存管理机制,它把处理器的线性地址空间划分为小的地址段。段与段相互独立,对段的访问要受到严格的检查和保护。段可以再分为页,从而实现对虚拟内存的基本支持。
Intel按页目录和页表两级结构组织一个任务的页。页目录是一个数组,其元素叫页目录项(PDE)每个PDE描述一个页表,PDE占4个字节。页目录的大小为4KB,所以一个页目录中有1024个PDE。
页表也是数组,其元素叫页表项(PTE),每个PTE描述一页,PTE占4个字节。页表的大小为4KB,所以一个页表中有1024个PTE。
故系统中可以表示1024*1024个4KB的页,即线性地址范围0-4GB。
由逻辑地址到线性地址要用到描述符表,而由线性地址到物理地址转换要用到页目录和页表。
// 下图为页地址的格式:
// 10bits 10bits 12bits
// ||----dir----||-----page-----||-------offset--------||
Intel用寄存器CR3存放当前使用的恶页目录的物理地址,从而可以实现到物理地址的转化。
系统中可以只有一个页目录,所有任务共享;也可以有多个页目录,每个任务一个,任务页目录的机制地址保存在任务的TSS段中(CR3域)
6、TLB
由于每次访问存储器都要存取页目录和页表,大大降低了内存访问速度,所以Intel处理器加了一个CACHE,用于存储最近使用的页目录项和页表项,即DTLB和ITLB(Translation Lookaside Buffers)
TLB存取权限为0特权级,所以刷新TLB必须由操作系统完成。
Intel体系结构引入特权级是为了实现保护。所谓386保护模式就是在此基础上建立起来的。系统中每个段(CS、DS、SS)都有自己的特权级,系统中每个任务或程序也都有自己的特权。
2、操作模式
处理器加电或重启后,首先进入实模式,操作系统初始化部分负责从实模式到保护模式的切换。
3、段、段描述符
段是一块连续的内存区域,是基本的内存保护单位。用段描述符来描述。
4、全局和局部描述符表(GDT、LDT)
为了段的管理和查找方便。
5、门描述符
一种特殊的段描述符,属于系统段描述符。因为仅按段级保护,应用程序就无法使用操作系统段中的过程,为此,操作系统就把这些需要公开的过程建成门,从而应用程序可以通过这些门使用操作系统的过程。(这里的过程可以简单理解为函数调用),一个门对应一个过程或者任务。
6、分页机制
Intel体系结构提供两种内存管理机制:分段和分页。段是一种基本的内存管理机制,它把处理器的线性地址空间划分为小的地址段。段与段相互独立,对段的访问要受到严格的检查和保护。段可以再分为页,从而实现对虚拟内存的基本支持。
Intel按页目录和页表两级结构组织一个任务的页。页目录是一个数组,其元素叫页目录项(PDE)每个PDE描述一个页表,PDE占4个字节。页目录的大小为4KB,所以一个页目录中有1024个PDE。
页表也是数组,其元素叫页表项(PTE),每个PTE描述一页,PTE占4个字节。页表的大小为4KB,所以一个页表中有1024个PTE。
故系统中可以表示1024*1024个4KB的页,即线性地址范围0-4GB。
由逻辑地址到线性地址要用到描述符表,而由线性地址到物理地址转换要用到页目录和页表。
// 下图为页地址的格式:
// 10bits 10bits 12bits
// ||----dir----||-----page-----||-------offset--------||
Intel用寄存器CR3存放当前使用的恶页目录的物理地址,从而可以实现到物理地址的转化。
系统中可以只有一个页目录,所有任务共享;也可以有多个页目录,每个任务一个,任务页目录的机制地址保存在任务的TSS段中(CR3域)
6、TLB
由于每次访问存储器都要存取页目录和页表,大大降低了内存访问速度,所以Intel处理器加了一个CACHE,用于存储最近使用的页目录项和页表项,即DTLB和ITLB(Translation Lookaside Buffers)
TLB存取权限为0特权级,所以刷新TLB必须由操作系统完成。
相关文章推荐
- linux 2.6 内核学习小结---硬件相关概念
- linux设备驱动学习(一):内核的相关基础概念
- 学习linux内核相关文章
- Linux2.6内核启动流程学习
- Linux 入门记录:六、Linux 硬件相关概念(硬盘、磁盘、磁道、柱面、磁头、扇区、分区、MBR、GPT)
- 学习linux多必须知道的硬件概念
- Linux内核学习笔记六——并发和同步概念
- 内核:Linux2.6内核启动流程学习
- linux2.6内核驱动开发学习(1)
- 小结一下linux 2.6内核的四种IO调度算法
- 建议CSDN开一个linux内核学习模块,和linux相关也可以。
- linux中的内核模块以及模块操作工具modprobe|insmod|rmmod|depmod|lsmod|modinfo等学习小结
- 【嵌入式Linux学习七步曲之第四篇 Linux内核移植】详解Linux2.6内核中基于platform机制的驱动模型
- Linux内核学习笔记六——并发和同步概念
- linux 2.6内核 字符设备驱动 相关函数
- Linux学习内核移植相关笔记第2部分
- Linux2.6内核启动流程学习
- 【linux学习】--子shell的相关概念
- Linux学习第二节课-VMware虚拟机安装及Centos安装相关概念
- Linux 内核clk 硬件相关层