装载、链接与库
来源:互联网 发布:淘宝助理mac官方版 编辑:程序博客网 时间:2024/04/30 06:11
第四部分 装载
1、windows把4G 的虚拟空间分成两部分高2G地址由系统用,低2G地址由自己用
2、装入内存分覆盖装入和页映射
一、覆盖装入 在嵌入式系统中当内存限制的时候,采用的这种方法,当程序分成好几个模块的时候,公用的模块装入,正要用的装入,不用的等待
二、页映射 内存分页然后整页的装入与交换
3、进程的建立
一、建立独立的虚拟空间 建立一个映射函数所需要的数据结构,由虚拟空间到物理地址的映射关系
二、读取文件头,建立虚拟空间和可执行文件的映射关系,当发生页错误的时候,操作系统取物理页,把磁盘中的缺页装载到这个物理页,然后建立物理页和虚拟页的关系,这时候操作系统记录了缺页在文件中的位置也是偏移,
三、将CPU寄存器设置成可执行文件的入口地址,启动运行
4、页错误
当CPU想执行一个页文件的时候,发生页错误,把控制权交给操作系统,操作系统根据页错误处理函数和建立的文件与虚拟空间的映射结构,找到虚拟空间中的空白页,然后建立物理内存和虚拟地址的映射,程序继续执行
5、PE文件的装载
读取第一个页,包含了PE头和段尾等信息,.................检查要装载的地址空间是否可用,不可用换地址.................根据PE头提供的信息把各个段映射到地址空间去........
装载PE所需要的DLL文件...........对所有的导入符号进行解析..........初始化堆栈.........建立主线程启动程序
- 链接、装载与库
- 装载、链接与库
- 装载、链接与库
- 装载、链接与库
- 装载、链接与库
- 链接、装载与库
- 链接、装载与库:可执行文件的装载
- 装载、链接与库总结
- 【链接,装载与库】理解链接
- 链接、装载与库:静态链接
- 链接、装载与库:动态链接
- 链接、装载与库:运行库
- 初始学《链接装载与库》
- 链接、装载与库:MiniCRT移植
- 《链接装载与库》相关命令
- 程序链接与装载
- 链接、装载与库——编译与链接
- 链接、装载与库—编译和链接(2.4)
- Struts2验证框架的使用和扩展
- 视频图像学习[1]--CBitmap,HBitmap,Bitmap区别及联系
- linux下文件夹的创建、复制、剪切、重命名、清空和删除命令
- 推荐两个Distance Metric Learning和Dimensionality Reduction的matlab工具包
- iOS SDK使用指南:利用UIDevice及NSLocale访问设备数据
- 装载、链接与库
- 自定义NavgationBar返回按钮
- 2013个人赛(合)001
- IE内存泄露之JQuery html(),append()
- 瑜伽(自学)
- 监测条码枪扫描结束
- Eclipse+Java+OpenCV246环境搭建和代码测试
- 继续个人知识库开发
- hdu 1114 Piggy-Bank