腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(9999+)
视频
沙龙
1
回答
取消引用ioremap
地址
、
、
在
Linux
内核
中,为什么不建议取消引用通过使用ioremap映射I/O物理
地址
而获得的
内核
线性
地址
?为什么要使用readl/writel这样的函数来取消对这些映射的
线性
地址
的引用?
浏览 1
提问于2011-02-07
得票数 1
回答已采纳
1
回答
Linux
中的全局还是局部
线性
地址
空间?
、
、
在
linux
中,因为段的基数都是0,所以逻辑
地址
与
线性
地址
一致(“理解
linux
内核
”一书)。我认为不同进程的逻辑
地址
可能是相同的,所以不同进程的
线性
地址
可能是相同的,每个进程视图4 4GB,每个进程将有自己的
线性
地址
空间(本地
地址
空间)。但其他一些文章指出,所有进程共享一个大的
线性
地址
空间,并使用分段机制将不同的进程映射到
线性
浏览 7
提问于2012-07-28
得票数 3
回答已采纳
1
回答
Linux
分页模型是一种抽象吗?
、
、
、
、
更具体地说,
线性
地址
的剖析和什么位是什么表,偏移等.我开始对
Linux
中的分页模型感到困惑。有一次,这本书谈到了目录、表和偏移位的
线性
地址
(用于PAE的PDPT表),然后我被抛到了"
Linux
“分页的世界里。现在,在
Linux
分页中,他们谈到了带有表和偏移量的全局表、上层表和中间表?我不认为x86 MMU分页与这个新的
Linux
模型有什么关系。如果MMU负责转换(分页)
地址
,为什么
内核
也需要这个分页模型?看
浏览 9
提问于2022-02-05
得票数 2
回答已采纳
1
回答
什么是“
内核
地址
空间”?
、
、
、
从理解
Linux
内核
的角度来看,下面是关于
内核
线程与用户进程(即常规进程)的一些讨论: ·它们在
内核
模式下运行,
内核
地址
空间为。在
Linux
中,
内核
线程与常规进程的区别如下: ·
内核
线程仅在
内核
模式下运行,而常规进程则在
内核
模式和用户模式下交替运行。·因为
内核
线程只在
浏览 5
提问于2018-09-14
得票数 2
1
回答
逻辑
地址
和
线性
地址
的区别?
、
我一直在阅读
Linux
-Understanding
内核
的书,我遇到了逻辑
地址
和
线性
地址
,我无法理解逻辑addresses.Why的需要--我们不能直接访问
线性
地址
-- .What需要逻辑
地址
,以及对所有进程进行分段和维护
浏览 3
提问于2015-01-17
得票数 0
回答已采纳
4
回答
内核
虚拟
地址
与
内核
逻辑
地址
的区别?
、
我无法准确区分
内核
逻辑
地址
和虚拟
地址
。在
Linux
设备驱动程序书中,所有逻辑
地址
都是
内核
虚拟
地址
,并且虚拟
地址
没有任何
线性
映射。
浏览 2
提问于2012-01-03
得票数 30
回答已采纳
1
回答
页表的条目是表示页面还是
线性
地址
?
我读了“理解
linux
内核
”一书,关于
地址
转换的话题让我非常困惑。书上说,每个
线性
地址
有三个字段:目录、表和偏移量。“目录”字段与“目录表”相关,“表”字段与“页表”相关。它没有指出,或者我可能会遗漏的一点是,表中的每个条目是与一页有关,它是一组
线性
地址
,还是与单个
线性
地址
有关。 有人能帮我吗?
浏览 6
提问于2015-04-24
得票数 1
回答已采纳
1
回答
内核
如何设置注册cr3?
、
、
我理解处理器的mmu使用寄存器cr3将
线性
地址
转换为物理
地址
,前提是cr3被正确地设置为页面目录的物理
地址
。但是在
内核
分配了页面表之后,它如何找到表的物理
地址
并将cr3设置为它呢?编辑:我说的是
linux
内核
。
浏览 4
提问于2017-07-21
得票数 4
回答已采纳
1
回答
内核
虚拟
地址
空间中的高内存映射
、
、
、
大于896 to的
线性
地址
对应于高内存区ZONE_HIGHMEM。因此,页面分配器函数将无法在此区域工作,因为它们给出了ZONE_NORMAL和ZONE_DMA中直接映射的页面帧的
线性
地址
。我对
linux
内核
中指定的这些行感到困惑: 当他们说“在64位硬件平台上,ZONE_HIGHMEM总是空的”,这是什么意思?这些函数不返回
线性
地址
,因为它们不存在。相反,函数返回第一个已分配页面帧的页面描述符的
线性
地址
。这些<
浏览 1
提问于2015-02-11
得票数 2
回答已采纳
1
回答
访问用户空间
地址
的
内核
线程
、
、
这里有一段引用自“理解
Linux
内核
”的书(重点是我的) 我理解用户空间进程不能访问
内核
空间,但是为什么相反(这就是我认为上面的句子所暗示的)是正确的呢?这是由硬件执行的,还是仅仅是
内核
的设计选择?
浏览 1
提问于2017-11-10
得票数 0
1
回答
为什么
Linux
中的数据和代码段完全重叠?
、
、
上下文:我正在阅读“理解
Linux
内核
,3d ed",它使用2.6.11
内核
。表除其他部分外,还包括用户代码和数据段。但是这两个段的基址是0x0,它们的大小也是一样的。所以它们完全重叠。因此,据我所知,逻辑
地址
cs + offset与逻辑
地址<
浏览 0
提问于2014-01-16
得票数 5
回答已采纳
1
回答
linux
进程描述符存储在哪里,什么可以访问它?
、
、
、
、
我看到
Linux
中的进程描述符(在x86上)存储在
内核
数据段中,但存储在PAGE_OFFSET下面的
地址
(即用户
地址
空间)中。由于
内核
数据段和用户数据段都覆盖了完整的4GB
地址
空间,因此如果用户代码知道进程描述符的
地址
,那么可以通过该用户数据段访问流程描述符。这是正确的吗?如果是的话,这难道不是一个安全漏洞吗?一个相关的问题:有一个断言,即进程描述符的
线性
地址
可以作为唯一的进程ID。但是,当使用页面表翻译
线性
浏览 2
提问于2016-02-25
得票数 3
1
回答
linux
内核
如何知道syscall中作为参数传递的
地址
无效?
、
、
、
目前,我正在阅读System calls 章节--理解
linux
内核
,并且我无法理解
linux
内核
如何知道通过syscall()传递的
地址
参数是无效的。书中提到,
地址
检查会被推迟,直到它被使用,而当
linux
使用这个
地址
时,它会产生页面错误。它进一步指出,在
内核
模式下,三种情况下都可能发生故障。
内核
试图寻址属于进程
地址
空间的页面,但不存在相应的页面框架,或者
内核
试图写入只读页。 某
浏览 3
提问于2018-05-13
得票数 1
回答已采纳
1
回答
一个进程的逻辑
地址
与另一个进程的逻辑
地址
有何不同?
、
、
我正在阅读理解
Linux
内核
。在那里,我试图了解逻辑
地址
是如何被转换成物理
地址
的。据我所知,我相信逻辑
地址
被转换成
线性
地址
(在分段单元的帮助下),然后
线性
地址
被转换成物理
地址
(借助分页单元)。深入挖掘,我发现只有当我们从用户模式切换到
内核
模式时,分割寄存器才会发生变化,否则它将保持不变。即对于在用户模式下执行的各种过程,分割寄存器集cs、ds、ss等是相同的。在这种情况下,我无法理解一个进程的逻辑<
浏览 0
提问于2014-09-10
得票数 1
回答已采纳
3
回答
为什么x86上的
Linux
对用户进程和
内核
使用不同的段?
、
、
因此,我知道
Linux
为x86处理器使用了四个默认段(
内核
代码、
内核
数据、用户代码、用户数据),但它们都有相同的基和限制(0x00000000和0xfffff),这意味着每个段映射到相同的
线性
地址
集。既然如此,为什么还要有用户/
内核
段呢?我理解为什么代码和数据应该有单独的段(这仅仅是因为x86处理器如何处理cs和ds寄存器),但是为什么没有一个代码段和一个数据段呢?内存保护是通过分页完成的,用户段和
内核
段仍然映射到相同的
线性
地址</e
浏览 4
提问于2011-01-01
得票数 19
回答已采纳
1
回答
linux
内核
使用哪种类型的内存模型(即平面/分段)?
、
、
、
、
如果
linux
内核
使用的是平面内存模型,那么它如何保护非特权应用程序访问关键数据?
浏览 1
提问于2016-06-01
得票数 0
回答已采纳
1
回答
linux
密码api中的扩展列表
、
、
为了从散列表变量获得缓冲区开始
地址
,我们使用下一个函数:void *sg_virt(struct scatterlist *sg)。例如:#include <
linux
/module.h>#include <
linux
/scatterlist.hplaintext_global start address:ffffffff
浏览 11
提问于2017-01-23
得票数 2
1
回答
用它的物理
地址
获取内存的哪个实现是正确的?
、
、
我需要在
linux
驱动程序中获得分配内存块的物理内存:这是一个FPGA SOC,内存被传递给SGDMA FPGA模块。 这可以归结为对“逻辑”和“虚拟”记忆的混淆:--它们是同义词还是反义?
浏览 8
提问于2014-06-01
得票数 0
回答已采纳
1
回答
linux
内核
的修复映射是如何实现的?
、
、
在某些配置中,每个进程内存的前1G空间属于
内核
。在1G空间中,低896M部分直接映射到物理
地址
,称为固定映射区域。 但我搞不懂它是如何实现的。因为cpu只能访问
线性
地址
,然后被MMU解释为物理
地址
。当
内核
访问这个修复映射区域时会发生什么?它跳过了吗?
浏览 0
提问于2021-09-21
得票数 0
回答已采纳
点击加载更多
相关
资讯
Linux内核解读
Linux内核出现漏洞
Linux 内核原子操作
Windows 内核和 Linux 内核的区别(二)
Windows 内核和 Linux 内核的区别(一)
热门
标签
更多标签
云服务器
ICP备案
对象存储
云点播
实时音视频
活动推荐
运营活动
广告
关闭
领券