linux 分段、分页机制
1.分段机制
80386的两种工作模式
80386的工作模式包括实地址模式和虚地址模式(保护模式)。Linux主要工作在保护模式下。
分段机制
在保护模式下,80386虚地址空间可达16K个段,每段大小可变,最大达4GB。
从逻辑地址到线性地址的转换由80386分段机制管理。段寄存器CS、DS、ES、SS、FS或GS标识一个段。这些段寄存器作为段选择器,用来选择该段的描述符。
分段逻辑地址到线性地址转换图
图9_7 分段逻辑地址到线性地址转换图
2. 分页机制
分页机制的作用
分页机制是在段机制之后进行的,它进一步将线性地址转换为物理地址。
80386使用4K字节大小的页,且每页的起始地址都被4K整除。因此,80386把4GB字节线性地址空间划分为1M个页面,采用了两级表结构。
两级页表
两级表的第一级表称为页目录,存储在一个4K字节的页中,页目录表共有1K个表项,每个表项为4个字节,线性地址最高的10位(22-31)用来产生第一级表索引,由该索引得到的表项中的内容定位了二级表中的一个表的地址,即下级页表所在的内存块号。
第二级表称为页表,存储在一个4K字节页中,它包含了1K字节的表项,每个表项包含了一个页的物理地址。二级页表由线性地址的中间10位(12-21)位进行索引,定位页表表项,获得页的物理地址。页物理地址的高20位与线性地址的低12位形成最后的物理地址。
利用两级页表转换地址
图9_8 利用两级页表转换地址
3. 内核空间和用户空间
用户空间
在Linux中,每个用户进程都可以访问4GB的线性虚拟内存空间。其中从0到3GB的虚存地址是用户空间,用户进程可以直接访问。
内核空间
从3GB到4GB的虚存地址为内核态空间,存放供内核访问的代码和数据,用户态进程不能访问。所有进程从3GB到4GB的虚拟空间都是一样的,linux以此方式让内核态进程共享代码段和数据段。
相关文档:
1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI) 就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......
花了几天的时间,终于把系统从近200 MB裁到小于16 MB, 虽然现在看来过程非常简单,对于最初的那点恐惧觉得有点可笑。在这里把主要心得写一下,总结一下心得, 希望可以给相关人员一点参考。
主要步骤如下:
1. 充分了解系统
这有点像废话,但是确实很 ......
在menuconfig中配置,可以对进行Linux内核配置选项及删改。本文介绍详细配置方法。
第一部分:全部删除
Code maturity level options ---> 代码成熟等级选项
[]Prompt for development and/or incomplete code/drivers 默认情况下是选择的,这将会在设置界面中显示还在开发或者还没有完成的代码与驱动.不选。
第二部 ......
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm }
-->
什么是小
Linux
(“
Small
Linux”
)发行版?有哪些小
Linux
?它们有什么用处?
众所周知,由 ......
1. Two methods to construct the cluster of servers
(1). DNS based load balancing cluster
DNS load balancing is probably the simplest method to build network
service cluster. It uses Domain Name System to distribute requests to
different servers through resolving the domain name to different IP
......