[讨论]关于VXD中的地址

 

发信人: wwwwww (困困), 信区: Programming 
标  题: 关于VXD的问题 
发信站: BBS 水木清华站 (Mon Feb 16 02:46:39 1998) 
 
VXD相对于所有的应用程序都是全局的, 
也就是说应用程序可以直接存取VXD中的 
全局变量。这是经过证实的。 
现在的疑问是: 
  1。所有的VXD都在同一线性地址空间里吗? 
     这个线性地址空间的长度最多是多少呢? 
     如果是4GB,那别的应用程序又怎么能看得见这些VXD呢? 
     如果看不见那是不可能实现前面所说的数据共享的。 
  2。VXD也有数据段,代码段吧?因为在写VXD时就有这些概念, 
     这样可以利于维护代码段的只读特性。想问的是:这些数据段, 
     和代码段也是在同一线性地址空间里了? 
      
                
 
-- 
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 166.111.8.130] 
发信人: Cohen (Tommy), 信区: Programming 
标  题: Re: 关于VXD的问题 
发信站: BBS 水木清华站 (Mon Feb 16 15:19:08 1998) 
 
【 在 wwwwww (困困) 的大作中提到: 】 
 VXD相对于所有的应用程序都是全局的, 
 也就是说应用程序可以直接存取VXD中的 
 全局变量。这是经过证实的。 
 现在的疑问是: 
   1。所有的VXD都在同一线性地址空间里吗?nbsp;
                    ^^^^^^^^^^^^^^^^^^^^ 好象是这样的,从微软提供的资料看 
                                         VXD占用了2G以上的系统空间,而应用程序 
                                         空间在2G以下  ?nbsp;
      这个线性地址空间的长度最多是多少呢? 
      如果是4GB,那别的应用程序又怎么能看得见这些VXD呢? 
      如果看不见那是不可能实现前面所说的数据共享的。 
   2。VXD也有数据段,代码段吧?因为在写VXD时就有这些概念, 
      这样可以利于维护代码段的只读特性。想问的是:这些数据段, 
      和代码段也是在同一线性地址空间里了? 
 
 
-- 
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 166.111.74.242] 
发信人: suxm (笨笨), 信区: Programming 
标  题: Re: 关于VXD的问题 
发信站: BBS 水木清华站 (Mon Feb 16 16:40:32 1998) 
 
【 在 wwwwww (困困) 的大作中提到: 】 
 VXD相对于所有的应用程序都是全局的, 
 也就是说应用程序可以直接存取VXD中的 
 全局变量。这是经过证实的。 
                ~~~~~~~~ 
               的确是这样的 
 
 现在的疑问是: 
   1。所有的VXD都在同一线性地址空间里吗? 
                   ~~~~~~~~~~~~~~~~~  
                           是  
 
      这个线性地址空间的长度最多是多少呢? 
                         ~~~~~~~~~~~~~ 
                          2GB 
 
      如果是4GB,那别的应用程序又怎么能看得见这些VXD呢? 
      如果看不见那是不可能实现前面所说的数据共享的。 
 
   每一个应用程序的前2GB空间都有一份系统VXD的拷贝。 
   这些拷贝映射为同一内存RAM地址。 
   这样说来应用程序只能占用2GB-----4GB之间的地址空间了。 
 
 
   2。VXD也有数据段,代码段吧?因为在写VXD时就有这些概念, 
            ~~~~~~~~~~~~~~~~ 
            cs=ds=ss,在flat mode下请忘记段的概念,虽然CPU 
            仍在防护情况下使用着段 
 
      这样可以利于维护代码段的只读特性。想问的是:这些数据段, 
      和代码段也是在同一线性地址空间里了? 
                   ~~~~~~~~~~~~~~~~~ 
                  因为CS=DS=SS所以定在同一地址空间里 
-- 
___________________ 
吃睡吃睡吃睡吃睡吃睡 
___________________ 
 
※ 修改:·suxm 於 Feb 16 18:46:06 修改本文·[FROM:   166.111.8.153] 
※ 修改:·suxm 於 Feb 16 18:52:16 修改本文·[FROM:   166.111.8.153] 
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 166.111.146.241] 
发信人: wwwwww (困困), 信区: Programming 
标  题: Re: 关于VXD的问题 
发信站: BBS 水木清华站 (Mon Feb 16 18:58:51 1998) 
 
多谢大侠指点。 
小弟还有一事不明: 
如果32位应用程序与VXD在同一4GB的空间内, 
那应用程序自然可以利用指针直接存取VXD中的全局变量。 
不明白的是:那VXD可以利用指针直接存取应用程序中的 
全局变量吗?如果可以的话,那岂不乱套了?-----如果 
同时运行两份应用程序的拷贝,那VXD存取的是哪个应用程序 
中的全局变量呢? 
 
 
【 在 suxm (笨笨) 的大作中提到: 】 
                 ~~~~~~~~ 
                的确是这样的 
                    ~~~~~~~~~~~~~~~~~  
                            是  
                          ~~~~~~~~~~~~~ 
                           2GB 
    每一个应用程序的前2GB空间都有一份系统VXD的拷贝。 
    这些拷贝映射为同一内存RAM地址。 
    这样说来应用程序只能占用2GB-----4GB之间的地址空间了。 
             ~~~~~~~~~~~~~~~~ 
      
 
             cs=ds=ss,在flat mode下请忘记段的概念,虽然CPU 
             仍在防护情况下使用着段 
                    ~~~~~~~~~~~~~~~~~ 
                   因为CS=DS=SS所以定在同一地址空间里 
 
 
-- 
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 166.111.8.153] 
发信人: wwj (红尘一笑), 信区: Programming 
标  题: Re: 关于VXD的问题 
发信站: BBS 水木清华站 (Tue Feb 17 08:49:02 1998) 
 
【 在 wwwwww (困困) 的大作中提到: 】 
 
   Win95的Win32部分并不是以段管理为主的,它所有的虚地址及其保护特性 
基本上都是用页管理来完成. 
 
 如果32位应用程序与VXD在同一4GB的空间内, 
 那应用程序自然可以利用指针直接存取VXD中的全局变量。 
 
VXD所在的虚地址在每个VM中都是一样的.但从操作系统的角度说,这片区域应 
该不让应用程序可以读写到.Win95设计上出于效率和某些方面的考虑,这些区 
域可以从应用程序级读到,甚至某些地方还可以被应用程序写. 
 
 不明白的是:那VXD可以利用指针直接存取应用程序中的 
 全局变量吗?如果可以的话,那岂不乱套了?-----如果 
 同时运行两份应用程序的拷贝,那VXD存取的是哪个应用程序 
 中的全局变量呢? 
 
从VXD的角度看来,低2G的空间是应用程序相关的.也就是说,当CPU运行 
到VXD的某段代码时,VXD所看到的低2G的空间是这个VM印象,并不能指定是哪 
个应用的;究竟是哪个应用,VXD应该进行ProcessID的判断.在原则上,操作系统 
是能读写应用的数据的. 
 
-- 
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 166.111.8.123] 
发信人: holly (holly), 信区: Programming 
标  题: Re: 关于VXD的问题 
发信站: BBS 水木清华站 (Tue Feb 17 11:20:06 1998) 
 
【 在 wwj (红尘一笑) 的大作中提到: 】 
    Win95的Win32部分并不是以段管理为主的,它所有的虚地址及其保护特性 
 基本上都是用页管理来完成. 
 VXD所在的虚地址在每个VM中都是一样的.但从操作系统的角度说,这片区域应 
 该不让应用程序可以读写到.Win95设计上出于效率和某些方面的考虑,这些区 
 域可以从应用程序级读到,甚至某些地方还可以被应用程序写. 
 
... No. Vxd Running on ring 0 and Apps running on Ring 3 
 
 
 从VXD的角度看来,低2G的空间是应用程序相关的.也就是说,当CPU运行 
 到VXD的某段代码时,VXD所看到的低2G的空间是这个VM印象,并不能指定是哪 
 个应用的;究竟是哪个应用,VXD应该进行ProcessID的判断.在原则上,操作系统 
 是能读写应用的数据的. 
 
 
-- 
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 202.120.26.243] 
发信人: suxm (笨笨), 信区: Programming 
标  题: Re: 关于VXD的问题 
发信站: BBS 水木清华站 (Tue Feb 17 12:50:38 1998) 
 
 
Memory allocated in a VxD is globally,and can be shared with  
applications.Memory that an application allocates may be in a 
process specific region of the memory map.In this case,the VxD 
cannot access that memory unless the current memory context is  
that of the process.  
 
 
 
【 在 wwwwww (困困) 的大作中提到: 】 
 多谢大侠指点。 
 小弟还有一事不明: 
 如果32位应用程序与VXD在同一4GB的空间内, 
 那应用程序自然可以利用指针直接存取VXD中的全局变量。 
 不明白的是:那VXD可以利用指针直接存取应用程序中的 
 全局变量吗?如果可以的话,那岂不乱套了?-----如果 
 同时运行两份应用程序的拷贝,那VXD存取的是哪个应用程序 
 中的全局变量呢? 
 
 
-- 
___________________ 
吃睡吃睡吃睡吃睡吃睡 
___________________ 
 
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 166.111.8.142] 
发信人: suxm (笨笨), 信区: Programming 
标  题: Re: 关于VXD的问题 
发信站: BBS 水木清华站 (Tue Feb 17 12:51:55 1998) 
 
No.Can. 
See the examples of the win95 ddk. 
 
 
 
【 在 holly (holly) 的大作中提到: 】 
 ... No. Vxd Running on ring 0 and Apps running on Ring 3 
 
 
-- 
___________________ 
吃睡吃睡吃睡吃睡吃睡 
___________________ 
 
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 166.111.8.142] 
发信人: Dreammy (这个杀手不太冷), 信区: Programming 
标  题: Re: 关于VXD的问题 
发信站: BBS 水木清华站 (Tue Feb 24 09:01:42 1998) 
 
【 在 wwwwww (困困) 的大作中提到: 】 
 多谢大侠指点。 
 小弟还有一事不明: 
 如果32位应用程序与VXD在同一4GB的空间内, 
 那应用程序自然可以利用指针直接存取VXD中的全局变量。 
 不明白的是:那VXD可以利用指针直接存取应用程序中的 
 全局变量吗?如果可以的话,那岂不乱套了?-----如果 
 同时运行两份应用程序的拷贝,那VXD存取的是哪个应用程序 
 中的全局变量呢? 
实际上,在95和31中这个问题都可以提的,是个概念问题 
 
在95中之所以叫做FLAT无非是因为所有WIN32应用的代码段 
都是一样的,而在31下大家是同一个4GB的线性地址,所以 
从这个角度讲,是一样的 
    在31中,全局页表和局部页表是相同的,那么RING0所 
在内存区域是采用设置叶面属性的方法解决的 
    在95中 
全局页表和局部页表是不同的,@而且各WIN32应用的 
局部页表也不同 ,所以对不同进程,线性地址与物理 
地址映射不同 , 大家在不同的线性空间里。 
 
-- 
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 166.111.6.26] 

展开阅读全文
  • 0
    点赞
  • 0
    评论
  • 0
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
<p> <span style="font-size:14px;color:#337FE5;">【为什么学爬虫?】</span> </p> <p> <span style="font-size:14px;">       1、爬虫入手容易,但是深入较难,如何写出高效率爬虫,如何写出灵活性高可扩展爬虫都是一项技术活。另外在爬虫过程,经常容易遇到被反爬虫,比如字体反爬、IP识别、验证码等,如何层层攻克难点拿到想要数据,这门课程,你都能学到!</span> </p> <p> <span style="font-size:14px;">       2、如果是作为一个其他行业开发者,比如app开发,web开发,学习爬虫能让你加强对技术认知,能够开发出更加安全软件和网站</span> </p> <p> <br /> </p> <span style="font-size:14px;color:#337FE5;">【课程设计】</span> <p class="ql-long-10663260"> <span> </span> </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> 一个完整爬虫程序,无论大小,总体来说可以分成三个步骤,分别是: </p> <ol> <li class="" style="font-size:11pt;color:#494949;"> 网络请求:模拟浏览器行为从网上抓取数据。 </li> <li class="" style="font-size:11pt;color:#494949;"> 数据解析:将请求下来数据进行过滤,提取我们想要数据。 </li> <li class="" style="font-size:11pt;color:#494949;"> 数据存储:将提取到数据存储到硬盘或者内存。比如用mysql数据库或者redis等。 </li> </ol> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> 那么本课程也是按照这几个步骤循序渐进进行讲解,带领学生完整掌握每个步骤技术。另外,因为爬虫多样性,在爬取过程可能会发生被反爬、效率低下等。因此我们又增加了两个章节用来提高爬虫程序灵活性,分别是: </p> <ol> <li class="" style="font-size:11pt;color:#494949;"> 爬虫进阶:包括IP代理,多线程爬虫,图形验证码识别、JS加密解密、动态网页爬虫、字体反爬识别等。 </li> <li class="" style="font-size:11pt;color:#494949;"> Scrapy和分布式爬虫:Scrapy框架、Scrapy-redis组件、分布式爬虫等。 </li> </ol> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> 通过爬虫进阶知识点我们能应付大量反爬网站,而Scrapy框架作为一个专业爬虫框架,使用他可以快速提高我们编写爬虫程序效率和速度。另外如果一台机器不能满足你需求,我们可以用分布式爬虫让多台机器帮助你快速爬取数据。 </p> <p style="font-size:11pt;color:#494949;">   </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> 从基础爬虫到商业化应用爬虫,本套课程满足您所有需求! </p> <p class="ql-long-26664262" style="font-size:11pt;color:#494949;"> <br /> </p> <p> <br /> </p> <p> <span style="font-size:14px;background-color:#FFFFFF;color:#337FE5;">【课程服务】</span> </p> <p> <span style="font-size:14px;">专属付费社群+定期答疑</span> </p> <p> <br /> </p> <p class="ql-long-24357476"> <span style="font-size:16px;"><br /> </span> </p> <p> <br /> </p> <p class="ql-long-24357476"> <span style="font-size:16px;"></span> </p>
<div style="color:rgba(0,0,0,.75);"> <span style="color:#4d4d4d;"> </span> <div style="color:rgba(0,0,0,.75);"> <span style="color:#4d4d4d;"> </span> <div style="color:rgba(0,0,0,.75);"> <div style="color:rgba(0,0,0,.75);"> <span style="color:#4d4d4d;">当前课程商城项目实战源码是我发布在 GitHub 上开源项目 newbee-mall (新蜂商城),目前已有 6300 多个 star,</span><span style="color:#4d4d4d;">本课程是一个 Spring Boot 技术栈实战类课程,课程共分为 3 大部分,前面两个部分为基础环境准备和相关概念介绍,第三个部分是 Spring Boot 商城项目功能讲解,让大家实际操作并实践上手一个大型线上商城项目,并学习到一定开发经验以及其开发技巧。<br /> 商城项目所涉及功能结构图整理如下:<br /> </span> </div> <div style="color:rgba(0,0,0,.75);">   </div> <div style="color:rgba(0,0,0,.75);"> <p style="color:#4d4d4d;"> <img alt="modules" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3N0b3JlL25ld2JlZS1tYWxsLXMucG5n?x-oss-process=image/format,png" /> </p> </div> <p style="color:rgba(0,0,0,.75);"> <strong><span style="color:#e53333;">课程特色</span></strong> </p> <p style="color:rgba(0,0,0,.75);">   </p> <div style="color:rgba(0,0,0,.75);">   </div> <div style="color:rgba(0,0,0,.75);"> <ul> <li> 对新手开发者十分友好,无需复杂操作步骤,仅需 2 秒就可以启动这个完整商城项目 </li> <li> 最终实战项目是一个企业级别 Spring Boot 大型项目,对于各个阶段 Java 开发者都是极佳选择 </li> <li> 实践项目页面美观且实用,交互效果完美 </li> <li> 教程详细开发教程详细完整、文档资源齐全 </li> <li> 代码+讲解+演示网站全方位保证,向 Hello World 教程说拜拜 </li> <li> 技术栈新颖且知识点丰富,学习后可以提升大家对于知识理解和掌握,可以进一步提升你市场竞争力 </li> </ul> </div> <p style="color:rgba(0,0,0,.75);">   </p> <p style="color:rgba(0,0,0,.75);"> <span style="color:#e53333;">课程预览</span> </p> <p style="color:rgba(0,0,0,.75);">   </p> <div style="color:rgba(0,0,0,.75);">   </div> <div style="color:rgba(0,0,0,.75);"> <p style="color:#4d4d4d;"> 以下为商城项目页面和功能展示,分别为: </p> </div> <div style="color:rgba(0,0,0,.75);"> <ul> <li> 商城首页 1<br /> <img alt="" src="https://img-bss.csdnimg.cn/202103050347585499.gif" /> </li> <li> 商城首页 2<br /> <img alt="" src="https://img-bss.csdn.net/202005181054413605.png" /> </li> <li>   </li> <li> 购物车<br /> <img alt="cart" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3Byb2R1Y3QvY2FydC5wbmc?x-oss-process=image/format,png" /> </li> <li> 订单结算<br /> <img alt="settle" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3Byb2R1Y3Qvc2V0dGxlLnBuZw?x-oss-process=image/format,png" /> </li> <li> 订单列表<br /> <img alt="orders" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3Byb2R1Y3Qvb3JkZXJzLnBuZw?x-oss-process=image/format,png" /> </li> <li> 支付页面<br /> <img alt="" src="https://img-bss.csdn.net/201909280301493716.jpg" /> </li> <li> 后台管理系统登录页<br /> <img alt="login" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3Byb2R1Y3QvbWFuYWdlLWxvZ2luLnBuZw?x-oss-process=image/format,png" /> </li> <li> 商品管理<br /> <img alt="goods" src="https://imgconvert.csdnimg.cn/aHR0cHM6Ly9uZXdiZWUtbWFsbC5vc3MtY24tYmVpamluZy5hbGl5dW5jcy5jb20vcG9zdGVyL3Byb2R1Y3QvbWFuYWdlLWdvb2RzLnBuZw?x-oss-process=image/format,png" /> </li> <li> 商品编辑<br /> <img alt="" src="https://img-bss.csdnimg.cn/202103050348242799.png" /> </li> </ul> </div> </div> </div> </div>
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值