社区
Linux_Kernel
帖子详情
问个简单问题!
dongpy
2005-10-27 07:15:55
Linux内核中访问内存时,是直接通过物理地址,还是通过虚拟地址?
...全文
181
13
打赏
收藏
问个简单问题!
Linux内核中访问内存时,是直接通过物理地址,还是通过虚拟地址?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhla1984
2005-11-08
打赏
举报
回复
配置文件的作用是什么,和编写可执行文件的源代码有什么区别?
数据文件呢?
sun的linux os 完全是利用公开的linux免费内核所提供的系统调用编写的吗?即编写一些
供其他应用程序调用的应用程序。
zhla1984
2005-11-07
打赏
举报
回复
一个应用程序就只有一个文件吗?那为什么安装一个应用程序后,会生成多个文件夹和文件?
IControlWorld
2005-11-07
打赏
举报
回复
当然理解是访问虚拟地址,操作系统有虚拟地址到物理地址的映射,最后访问到物理地址
tb01412
2005-11-07
打赏
举报
回复
我明白LZ的意思了,你是说一个软件到底会有多少文件,到底会在内存中建立多少个任务结构,这同样取决于你的软件,有些软件会同时运行多个程序,当然就有多个文件,而有些软件只会运行一个程序,并且这个程序中没有派生进程,它就只有一个任务结构,当然,它可能会有多个文件,不过只会有一个可执行文件,其它的文件有可能是动态运行库,配置文件等,还有可能是一些数据文件(比如你的程序中有可能会在运行过程中读写你的数据文件,具体就要看你的软件需要了),总之一句话,你需要先搞清楚什么是软件,什么是程序,什么是进程,什么是文件,你搞清楚了这些问题,就全部明白了!!!!其实这些概念跟WINDOWS下是一样的,你先弄懂在WINDOWS下的这些概念,再在LINUX去思考,它们仅仅是对这些概念的具体实现有些差异而已
bekars
2005-11-07
打赏
举报
回复
i386中内核是通过虚地址转换为实地址访问内存的,具体实现看保护模式内存管理的分页机制。
tb01412
2005-11-04
打赏
举报
回复
关于一个程序运行时产生几个任务的问题,主要是看你的程序内部了,LINUX对进程实现派生机制,也就是用FORK系统调用来实现,应运程序本身被加载时,是通过SHELL来为它派生一个进程的,如果你的程序内部用了fork函数之类的,它就会产生其它的进程,建议你查阅有关fork之类的资料
LINUX上的应用程序普遍采用ELF文件格式,至于是什么样的结构,你在网上搜一下ELF,资料多的是
一个可执行文件,除了它自身外,还会有什么文件呢??不明白你的意思!!!!
zhla1984
2005-11-03
打赏
举报
回复
那就是说,每运行一个应用程序或系统服务,os就会在内存gdt中新插入一个ldt描述符和一个tss描述符,
并建立相应的ldt 和tss.
一个应用程序运行时,可能创建多个进程吧?
运行在linux上的应用程序的可执行文件的文件头是什么样的结构?
一个应用程序除可执行文件外,还可能包含哪些文件?
tb01412
2005-10-31
打赏
举报
回复
你读一下LINUX内核完全注释和LINUX内核设计与实现就明白了
从虚拟地址到物理地址的转换需要CPU与操作系统协作,操作系统必须设置页目录,一级页表和二级页表,从实模式到保护模式的转换等操作
比如如果完全建立好了以上操作的时候,如果此时PC值是0x12345678,它实际上并不是去访问相应的物理地址,它会取高31位至20位当作页目录表和一级页表,去查找相应的二级页表,再根据19-2位取出页内偏移地址就得到了最终的物理地址,具体是怎么换算的我忘了,这个最终的计算是通过CPU的MMU单元完成的,操作系统负责建立页表等操作
tb01412
2005-10-31
打赏
举报
回复
系统本身就有很多种服务,而且大多是用户态下运行的,具体有多少就得看你机子到底运行了多少个进程了
关键是运行了多少个应用程序,而不是安装了多少个
至于WINDOWS嘛,你就只有去问微软了,呵呵
zhla1984
2005-10-31
打赏
举报
回复
假设在一台新机器上装了linux系统,而且没有安装其他应用程序,开机,内核初始化后,有多少个ldt?
tss?
如果安装了其他应用程序,结果一样吗?
如果安装的是windows2003 ,结果又是怎样?
dongpy
2005-10-28
打赏
举报
回复
谢谢 tb01412(tb)!
我指的是有MMU的(如i386处理器)。
内核的虚拟地址空间是3~4G,在内核空间访问内存,也是将虚拟地址转换为物理地址吗?
是的话,怎么转换,是通过软件还是硬件转换?
dongpy
2005-10-28
打赏
举报
回复
内核中定义的变量,虚拟地址3G~4G,访问过程是不是这样的:将虚拟地址减去3G,得到物理地址,然后访问这个物理地址。
还是通过硬件进行地址转换呢?
请大家帮忙解答一下!
tb01412
2005-10-27
打赏
举报
回复
跟处理器和操作系统相关,在一些无MMU的嵌入式处理器中,是通过物理地址访问的
5天驾驭JQuery教程(jQuery速成教程)【Word版本】
jQuery其实很
简单
,相信您看了W3Cfuns.com精心编写的jQuery速成教程后,一定会被它的优雅、轻巧吸引住,而且如果您掌握了它,定能成为提升薪水的一个资本。 本节并没有涉及到jQuery如何编写,只为大家解决几个常见
问题
,因为这也是面试中常常遇到的几个
问题
。如果你掌握了jQuery可以成为提升工资的一个资本。 初学jQuery的朋友,基本上都会问同一个
问题
“什么是jQuery?”等类似的
问题
,理解这个
问题
对于后面的学习会起到促进作用。以下是我整理出的大家常问的几个
问题
: 1. 什么是jQuery? 2. 什么是类库? 3. jQuery与JavaScript有什么关系? 4. JavaScript与java又有什么关系? 5. JavaScript、jQuery、Ajax、Json等又是什么?区别又是什么? 6. 不会JS能不能学jQuery? 我相信,很多人对这些技术有着似懂非懂的感觉,不是很了解,以上
问题
肯定是初学者都会产生的
问题
,如果你对它有兴趣或者想去驾驭它。那么请跟KwooShung来,向jQuery进军!let's GO!
顺丰JAVA开发一面,我被问吐了!!!
因为热爱所以坚持,因为热爱所以等待。熬过漫长无戏可演的日子,终于换来了人生的春天,共勉!!! 投顺丰半个月才发来了面试邀请,经过这么多次社会毒打我现在对面试早已没有最初那种心潮澎湃了,没想到这一次又刷新我的认知,直接上
问题
!!! 项目相关 一来就开始问我项目同时加上各种假设,我真的招架不住 1.
简单
描述一下你的项目 2.说说你项目的架构细节 3.为什么MySQL要拆分为一个微服务,有什么意义呢,直接调不好嘛?(我。。。) 4.如果服务A流量上千万,服务B和服务C只有几百,需要怎么做? 5..
项目经理俱乐部-项目实战.职场求生.敏捷.企业管理
项目管理不容易,项目经理不
简单
! 项目管理是门实践性超强的大学问,项目经理是项目中的灵魂人物。本课程每一个课时都会以幽默、睿智方式为你分享项目管理和职场的实用知识、实战和案例。 本课程关键字:项目管理,项目经理,敏捷,公司管理,职场 人生是一种修炼,职场是一种磨练! 项目经理是职场上的大神,不仅仅要处理好项目上的各种人和事,还需要处于公司管理与企业运营的角度看待和处理
问题
。职场是一种大学问,无论你是小职员、项目经理还是公司管理层,都可以从这里找到很多启发。 保护知识产权的需要,不提供PPT下载,本课程学习可以不辅助PPT课件,谢谢你的理解和支持!
解决tomcat8.5及其以上的IDEA中的乱码
问题
!!!!!(亲测有用)
解决tomcat8.5及其以上的IDEA中的乱码
问题
!!!!!(亲测有用) 首先 经过我在网上反复的查找,发现解决tomcat乱码的
问题
如出一撤 ,压根没啥卵用,但是也为解决提供了一些思路。 不要问我为什么好嘛 !!!!!这是tomcat\apache-tomcat-9.0.17\conf下的logging.properties。。保证控制台不输出乱码! 首先这是tomcat更新后多出来的,我也...
【刚拿了饿了么P7 offer】没想到面试官这么问我!!!
点关注,不迷路!如果本文对你有帮助的话不要忘记点赞支持哦! 今年初拿了个饿了么P7的offer,废话不多说,直接上题吧。 一面 首先上来就是自我介绍,
简单
的说下自己的项目经验,涉及的技术栈之类的。 然后每一轮必问的
问题
来了:说说你印象最深刻的项目! 这个已经被问的都不想说了,挑个有很多槽点的来说,并且自己已经知道
问题
答案的,我说了一个服务迁移同时双写的解决方案。 接着按照国际惯例先来一个HashMap原理。。。 那就来吧,
简单
说下HashMap数组+链表结构,hash的实现方式和好处,高低位异或降低.
Linux_Kernel
4,436
社区成员
17,460
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章