linux 2.6 内核学习小结(1)---硬件相关概念

原创 2006年06月11日 00:10:00

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必须由操作系统完成。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

小结一下linux 2.6内核的四种IO调度算法

在LINUX 2.6中,有四种关于IO的调度算法,下面综合小结一下: 1) NOOP NOOP算法的全写为No Operation。该算法实现了最最简单的FIFO队列,所有IO请求大致按照...

Linux2.6内核--VFS层中和进程相关的数据结构

系统中的每一个进程都有自己的一组打开的文件,像根文件系统,当前工作目录,安装点等。有三个数据结构将 VFS 层和系统的进程紧密的联系在一起,它们分别是:file_struct,fs_struct 和 ...

逻辑概念解释:以SD驱动为例去解释成功将驱动移植到Uboot这句话的含义 + Uboot中的驱动和Linux内核中的驱动的区别和联系 + 如何在Uboot中实现某硬件的驱动的逻辑和思路

文章写的很好,帮助我理解了很多概念的问题。

Linux2.6内核--内存管理(1)--分页机制

在内核里分配内存可不像在其他地方分配内存那么容易。造成这种局面的因素很多。从根本上讲,是因为内核本身不能像用户空间那样奢侈的使用内存。内核与用户空间不同,它不具备这种能力,它不支持简单便捷的内存分配方...

Linux2.6内核 -- 编码风格(1)

像所有其他大型软件一样,Linux 制定了一套编码风格,对代码的格式,风格和布局做出了规定。下面我就对 2.6 内核中的代码约定进行介绍。      1.缩进      缩进风格是用制表位(Tab)每...

Linux Kernel 2.6内核进程调度复杂度为O(1)的代码分析

主要看了linux2.6.x内核进程调度那一块,和大家share一下。         每个cpu都有一个单独的runqueue,每个runqueue中有prio_array_t *active, ...

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

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

Linux 2.6内核标准 Part1

  • 2012-03-19 22:46
  • 50MB
  • 下载

Linux学习笔记#1_磁盘以及磁盘分区相关的概念

最近开始学习Linux. 从零开始,一步一步来.今天是磁盘以及磁盘分区相关的概念 ----------------------------------------------------------...

Linux设备驱动程序——内存和I/O基础知识学习:(1)内核中相关基础知识学习

这部分的内容来源于《Linux内核完全剖析》这里面主要牵涉的是内核中的东西,之所以花了很长时间来学习这方面的东西,是因为前一段在看和网络设备驱动相关的代码和资料的过程中,牵涉到了很多的内存相关的知识点...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)