如何解释模块

jia_xiaoxin 2008-09-26 01:52:17
一段可执行的程序(包括EXE和DLL)其程序代码,数据,资源被加载到内存中,用系统设置一个数据结构来管理它,就是一个模块.这里所说的结构,名为Module Database(MDB)
进程就是一大堆拥有权的集合,进程拥有地址空间(由memory context决定),动态配置而来的内存,文件,线程和一系列的模块,操作系统使用一个PDB结构来记录(管理)它所拥有的一切.
线程主要表达模块中的程序代码的执行事实.TDB用来记录线程的相关数据,包括线程局部存储空间,消息队列,handle表格,地址空间(memory context).
上面的描述还可以补充么?
...全文
156 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
野男孩 2008-09-26
  • 打赏
  • 举报
回复
动态库或者Exe都是一个模块。

模块的管理结构用MDB的说法,很早的了吧?好像是Win95 System Program Security里面提到过。现在一般说管理进程信息的都是EPROCESS结构,线程是ETHREAD,这俩都只在内核模式才能访问。还有PEB和TEB这俩结构可以在用户态访问到,但是信息少点。
baihacker 2008-09-26
  • 打赏
  • 举报
回复
如果是windows的可以看看枚举所有模块这个函数.
星羽 2008-09-26
  • 打赏
  • 举报
回复
windows 下

模块指的是可执行文件或动态链接库 (DLL)。每个进程包含一个或多个模块
星羽 2008-09-26
  • 打赏
  • 举报
回复
这个可以看看操作系统的书,或许讲得更正确和详细些
lann64 2008-09-26
  • 打赏
  • 举报
回复
首先要补充的是,你这是windows下的解释,其他系统下不是这回事。

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧