打开任务管理器没有显卡为什么玩游戏显卡属性中3d一栏100%其他属性则都使用率不高,我担心这样是否损坏电脑

分页转换功能由驻留在内存中的表来描述该表称为页表(page table),存放在物理地址空间中页表可看做简单的2^20个物理地址数组。逻辑地址到物理地址的映射功能可以简单地看做进行数组查找线性地址的高20位构成这个数组的索引值,用于选择对应页面的物理(基)地址逻辑地址的低12位给出了页面中的偏移量,加上页面的基地址最终形成对应的物理地址由于页面基地址对齐在4K边界上,因此页面基地址的低12位肯定是0这意味着高20位的页面基哋址和12位偏移量连接组合在一起就能得到对应的物理地址。(查页表只是想知道高20位地址逻辑地址中的低12位地址就是物理地址的低12地址)

页表中每个页表项的大小为32位。由于只需要其中的20位来存放页面的物理基地址因此剩下的12位可用于存放诸如页面是否存在等的属性信息。如果线性地址索引的页表项被标注为存在的则表示该项有效,我们可以从中取得页面的物理地址如果页表项中信息表明(说明、指明)页不存在,那么当访问对应物理页面时就会产生一个异常

页表含有2^20(1M)个表项,而每项占用4Byte(32位)如果作为一个表来存放的话,它們最多将占用4MB的内存因此为了减少内存占用量,80x86使用了两级表由此,高20位线性地址到物理地址的转换也被分成两步来进行每步使用(转换)其中的10bit。

第一级表称为页目录(page directory)它被存放在1页4K页面中,具有2^10(1K)个4B长度的表项这些表项指向对应的二级表。线性地址的最高10位(位31~22)用作一级表(页目录)中的索引值来选择2^10个二级表之一

第二级表称为页表(page table),它的长度也是1个页面最多含有1K个4B的表项。每个4B表项含有相关页面的20位物理基地址二级页表使用线性地址中间10位(位21~12)作为表项索引值,以获取含有页面20位物理基地址的表项该20位页面物理基地址和逻辑地址中的低12位(页内偏移)组合在一起就得到了分页转换过程的输出值,即对应的最终物理地址

图4-17给出了②级表的查找过程。其中CR3寄存器指定页目录表的基地址逻辑地址的高10位用于索引这个页目录表,以获得指向相关第二级页表的指针逻輯地址中间10位用于索引二级页表,以获得物理地址的高20位逻辑地址的低12位直接作为物理地址低12位,从而组成一个完整的32位物理地址

(點击查看大图)图4-17  线性地址和物理地址之间的变换

使用二级表结构,并没有解决需要使用4MB内存来存放页表的问题实际上,我们把问题搞嘚有些复杂了因为我们需要另增一个页面来存放目录表。然而二级表结构允许页表被分散在内存各个页面中,而不需要保存在连续的4MB內存块另外,并不需要为不存在的或逻辑地址空间未使用部分分配二级页表虽然目录表页面必须总是存在于物理内存中,但是二级頁表可以在需要时再分配这使得页表结构的大小对应于实际使用的逻辑地址空间大小。

页目录表中每个表项也有一个存在(present)属性类姒于页表中的表项。页目录表项中的存在属性指明对应的二级页表是否存在如果目录表项指明对应的二级页表存在,那么通过访问二级表表查找过程第2步将同如上描述继续下去。如果存在位表明对应的二级表不存在那么处理器就会产生一个异常来通知操作系统。页目錄表项中的存在属性使得操作系统可以根据实际使用的线性地址范围来分配二级页表页面

目录表项中的存在位还可以用于在虚拟内存中存放二级页表。这意味着在任何时候只有部分二级页表需要存放在物理内存中而其余的可保存在磁盘上。处于物理内存中页表对应的页目录项将被标注为存在以表明可用它们进行分页转换。处于磁盘上的页表对应的页目录项将被标注为不存在由于二级页表不存在而引發的异常会通知操作系统把缺少的页表从磁盘上加载进物理内存。把页表存储在虚拟内存中减少了保存分页转换表所需要的物理内存量


嘚到的单位是kb,4/1024=32G 所以本电脑支持的最大内存数为32G.
查看电脑有几个卡槽,已经用了几个卡槽

1.在底部的导航栏右键选择-- 任务管理器没有显鉲


如图可以看出,总内存为8g,又两个卡槽且两个卡槽都使用了,想要扩容的话只能换内存条,不能增加内存条了


第一阶段:没有内存抽象

没有内存抽象对于内存的管理通常非常简单,除去操作系统所用的内存之外全部给用户程序使用。或是在内存中多留一片区域给驱動程序使用如图1所示。

图1. 没有内存抽象时对内存的使用

第一种情况操作系统存于RAM中,放在内存的低地址第二种情况操作系统存在于ROMΦ,存在内存的高地址一般老式的手机操作系统是这么设计的。

如果这种情况下想要操作系统可以执行多进程的话,

缺陷:多线程直接操作内存会产生冲突。唯一的解决方案就是和硬盘搞交换当一个进程执行到一定程度时,整个存入硬盘转而执行其它进程,到需偠执行这个进程时再从硬盘中取回内存,只要同一时间内存中只有一个进程就行这也就是所谓的交换(Swapping)技术。

第二阶段:内存抽象——为了解决多线程

内存抽象允许每个进程拥有自己的地址这还需要硬件上存在两个寄存器,基址寄存器(base register)界址寄存器(limit register),第一个寄存器保存进程的开始地址第二个寄存器保存上界,防止内存溢出

问题1:内存大小不可能容纳下所有并发执行的进程。

解决方法:交换(Swapping)和前媔所讲的交换大同小异,交换的基本思想是,将闲置的进程交换出内存暂存在硬盘中,待执行时再交换回内存比如下面一个例子,当程序一开始时只有进程A,逐渐有了进程B和C此时来了进程D,但内存中没有足够的空间给进程D因此将进程B交换出内存,分给进程D如图2所礻。

问题2:如图2进程D和C之间的空间由于太小无法另任何进程使用,这也就是所谓的外部碎片

解决方法:比如内存整理软件,原理是申請一块超大的内存将所有进程置换出内存,然后再释放这块内存从而重新加载进程,使得外部碎片被消除这也是为什么运行完内存整理会狂读硬盘的原因。

问题3:创建进程时分配多少内存如果分配多了,会产生内部碎片浪费了内存,而分配少了会造成内存溢出

解决方法:一种是直接多分配一点内存空间用于进程在内存中的增长,另一种是将增长区分为数据段和栈(用于存放返回地址和局部变量),如图3所示

图3. 创建进程时预留空间用于增长

当预留的空间不够满足增长时,操作系统首先会看相邻的内存是否空闲如果空闲则自动分配,如果不空闲就将整个进程移到足够容纳增长的空间内存中,如果不存在这样的内存空间则会将闲置的进程置换出去。

问题4:操作系统如何管理内存

法I:位图将内存划为多个大小相等的块,比如一个32K的内存1K一块可以划为32块则需要32位(4字节)来表示其使用情况,使鼡位图将已经使用的块标为1位使用的标为0.

法II:链表。将内存按使用或未使用分为多个段进行链接如下图中的P表示进程,从0-2是进程H表礻空闲,从3-4表示是空闲

图4. 位图和链表表示内存的使用情况

使用位图表示内存简单明了,但一个问题是当分配内存时必须在内存中搜索大量的连续0的空间这是十分消耗资源的操作。相比之下使用链表进行此操作将会更胜一筹。

当利用链表管理内存的情况下创建进程时汾配什么样的空闲空间也是个问题。通常情况下有如下几种算法来对进程创建时的空间进行分配

  • 临近适应算法(Next fit)—从当前位置开始,搜索苐一个能满足进程要求的内存空间
  • 最佳适应算法(Best fit)—搜索整个链表找到能满足进程要求最小内存的内存空间
  • 最大适应算法(Wrost fit)—找到当前内存Φ最大的空闲空间
  • 首次适应算法(First fit) —从链表的第一个开始,找到第一个能满足进程要求的内存空间

第三阶段:虚拟内存(Virtual Memory)——为了解决大进程嘚内存要求

在早期的操作系统曾使用覆盖(overlays)来解决这个问题将一个程序分为多个块,基本思想是先将块0加入内存块0执行完后,将块1加入內存依次往复,这个解决方案最大的问题是需要程序员去程序进行分块这是一个费时费力让人痛苦不堪的过程。

虚拟内存的基本思想昰每个进程有用独立的逻辑地址空间,内存被分为大小相等的多个块,称为页(Page).每个页都是一段连续的地址对于进程来看,逻辑上貌似有很哆内存空间,其中一部分对应物理内存上的一块(称为页框通常页和页框大小相等),还有一些没加载在内存中的对应在硬盘上如图5所示。

图5. 虚拟内存和物理内存以及磁盘的映射关系

由图5可以看出虚拟内存实际上可以比物理内存大。当访问虚拟内存时会访问MMU(内存管理單元)去匹配对应的物理地址(比如图5的0,12),而如果虚拟内存的页并不存在于物理内存中(如图5的3,4)会产生缺页中断,从磁盘中取嘚缺的页放入内存如果内存已满,还会根据某种算法将磁盘中的页换出

MMU中存储页表,用来匹配虚拟内存和物理内存页表中每个项通瑺为32位,即4byte,除了存储虚拟地址和页框地址之外还会存储一些标志位,比如是否缺页是否修改过,写保护等因为页表中每个条目是4字節,现在的32位操作系统虚拟地址空间是2^32假设每页分为4k,也需(2^32/(4*2^10))*4=4M的空间为每个进程建立一个4M的页表并不明智。因此在页表的概念上进行推廣产生二级页表,虽然页表条目没有减少但内存中可以仅仅存放需要使用的二级页表和一级页表,大大减少了内存的使用

每个进程囿4GB的虚拟地址空间,每个进程自己的一套页表程序中使用的都是4GB地址空间中的虚拟地址。而访问物理内存需要使用物理地址。

  • 二级页表中的每一项的内容高20bit用来放一个物理页的物理地址低12bit放着一些标志。
  • 一级页表中的每一项的内容高20bit用来放一个二级页表的物理地址低12bit放着一些标志。

CPU把虚拟地址转换成物理地址:一个虚拟地址大小4个字节(32bit),分为3个部分:第22位到第31位这10位(最高10位)是页目录中的索引第12位到第21位这10位是页表中的索引,第0位到第11位这12位(低12位)是页内偏移一个一级页表有1024项,虚拟地址最高的10bit刚好可以索引1024项(2的10次方等于1024)一个二级页表也有1024项,虚拟地址中间部分的10bit刚好索引1024项。虚拟地址最低的12bit(2的12次方等于4096)作为页内偏移,刚好可以索引4KB也僦是一个物理页中的每个字节。

页面替换算法:物理内存是极其有限的当虚拟内存所求的页不在物理内存中时,将需要将物理内存中的頁替换出去选择哪些页替换出去就显得尤为重要。

  • 最佳置换算法(Optimal Page Replacement Algorithm):将未来最久不使用的页替换出去这听起来很简单,但是无法实现泹是这种算法可以作为衡量其它算法的基准。
  • 最近不常使用算法(Not Recently Used Replacement Algorithm):这种算法给每个页一个标志位R表示最近被访问过,M表示被修改过定期对R进行清零。这个算法的思路是首先淘汰那些未被访问过R=0的页其次是被访问过R=1,未被修改过M=0的页,最后是R=1,M=1的页
  • 改进型FIFO算法(Second Chance Page Replacement Algorithm):这种算法昰在FIFO的基础上,为了避免置换出经常使用的页增加一个标志位R,如果最近使用过将R置1当页将会淘汰时,如果R为1则不淘汰页,将R置0.而那些R=0的页将被淘汰时直接淘汰。
  • 时钟替换算法(Clock Page Replacement Algorithm):虽然改进型FIFO算法避免置换出常用的页但由于需要经常移动页,效率并不高因此在改進型FIFO算法的基础上,将队列首位相连形成一个环路当缺页中断产生时,从当前位置开始找R=0的页而所经过的R=1的页被置0,并不需要移动页
  • 最久未使用算法(LRU Page Replacement Algorithm):LRU算法的思路是淘汰最近最长未使用的页。这种算法性能比较好但实现起来比较困难。

MMU如何将逻辑地址转化为物理地址

1. 段, 大页, 小页, 极小页的划分

ok, 以这个为前提, 我们设计mmu 两级页表的方式

假设, 需要寻址 0x这个虚拟地址。

已知它对应的页是0x页,  即真实的物理地址為0x

我们考虑二级页表该如何设计。

将0~4G空间 4K 一页为单位, 分成个页

故虚拟地址前12字节, 0x123 可以作为段的寻址序号。

即以及页表的第0x123个就是我要找的段地址页表

这个页表在哪里,  首先需要找到段页表地址的基地址, 这个存在cp15协处理器的某个寄存器中(CR3)

ok, 找到一级段地址页表项了。 我们就能找到实际的映射的段物理地址了 是0xC100 048C中存放的32位数中,

我们想想这个32位段页表项该存放写什么??

ok, 二级页表项的具体位置该如何明确呢??

先说结論, 虚拟地址的第12位到第19位这8位数据就是页表项的序号。

1). 二级页表应该有256个

3). 中间8位0x45是页表项的序号。

里面存放这最终的物理页地址即0x页, 該页表的基地址为就是0x56789

ok, 最后12位数据为真实的页偏移地址/序列号。

故拼接最终的物理地址, 0x


要看soc芯片能支持最大的内存空间,就看最多可以支持多少地址位比如可能支持52bit,46bit等,就说明物理地址可以大于4G

目前(2015年5月)Intel的32位架构下,可使用的地址线是36个可使用的最大物理地址昰2^36B,折合64GB可用的地址空间是4GB。

64位架构下地址线是46个,所以最大的物理地址是2^46B折合64TB,可用地址空间也是这么大(目前为止):

为什么32位Windows中实际可用内存少于4G:

虽然物理地址有4G但CPU如果要访问你的显卡上的显存,就必须把物理地址空间的一部分用于标识显存这种技术被稱为memory-mapped I/O,这样可以让CPU操作显存像操作内存一样

在Windows的设备管理器里,查看显卡的属性页里的“资源”可以看到内存映射的地址范围,实际仩不管32位还是64位都需要占用一部分地址空间,32位Windows只有4G的地址空间被显存占去了一部分,所以可用的地址空间就少于4G了

实际上不仅仅是顯存你电脑上的PCI控制器,各种网卡、声卡、USB控制器等等都需要占用一定的物理内存所以最终的后果就是可用的物理地址范围变得特别尐,最少可能只有1.99GB这种限制在32位Windows上是不可改变的。

电脑开机过了欢迎界面后选择電脑默认用户后就出现黑屏,但另外创建一个用户后开机选择创建的用户就不会黑屏。用的是Win7的系统而且我把系统默认的用户密码改叻后再登时显示密码... 电脑开机过了欢迎界面后,选择电脑默认用户后就出现黑屏。但另外创建一个用户后开机选择创建的用户就不会黑屏用的是Win7的系统。
而且我把系统默认的用户密码改了后再登时显示密码错误关闭时显示这台计算机已登录。登陆Administrater 时过了欢迎界面就自動黑屏了但此时按住Alt+F4 就会好,请问这是什么问题啊

品牌创于1988,专注IT教育

江西新华电脑学院开设电子商务、软件开发、电竞、动漫设计、UI设计、室内设计、网络工程、互联网财务、VR等专业 来校参观报销路费,报名享受国家学费减免政策签订就业合同,毕业推荐高薪工莋

2.打开任务管理器没有显卡,然

个进1653程单击一下然后3.按”结束进程“按钮,这时候桌面都没了不要害怕,

接下来在弹出的对话框中輸入”explorer.exe“点击确定

如shift+alt+delete键调不出任务管理器没有显卡,试下按系统键+R键 打开运行 输入

那么这个时候你就必须打开机箱检查所有的板卡、CPU和内存条等安装是否到位,接触是否良好操作方法就是将它们拔出来之后再重新插进去。

如果问题还未解决则可拔掉所有次要性的部件,呮保留主板(带有CPU)、内存和显卡3个基本部件然后观察开机是否出现故障。如果出现故障则可排除其他硬件的问题;如果没有出现故障則将其他部件一一增加,查看在添加哪个硬件时出了故障发现了故障所在后再针对这个硬件进行处理即可。如果你有条件可以购卖一个POST診断卡它可以帮你辨别系统在启动过程中死机的原因.

强烈建议你,如果排除了电源的原因出现黑屏时首先检查内存条,因为内存条接触不良而造成电脑黑屏的很多.查看内存条是否插好了如果没插好,拔掉之后重新插一遍.

下载百度知道APP抢鲜体验

使用百度知道APP,竝即抢鲜体验你的手机镜头里或许有别人想知道的答案。

电脑开机过了欢迎界面后选择電脑默认用户后就出现黑屏,但另外创建一个用户后开机选择创建的用户就不会黑屏。用的是Win7的系统而且我把系统默认的用户密码改叻后再登时显示密码... 电脑开机过了欢迎界面后,选择电脑默认用户后就出现黑屏。但另外创建一个用户后开机选择创建的用户就不会黑屏用的是Win7的系统。
而且我把系统默认的用户密码改了后再登时显示密码错误关闭时显示这台计算机已登录。登陆Administrater 时过了欢迎界面就自動黑屏了但此时按住Alt+F4 就会好,请问这是什么问题啊

品牌创于1988,专注IT教育

江西新华电脑学院开设电子商务、软件开发、电竞、动漫设计、UI设计、室内设计、网络工程、互联网财务、VR等专业 来校参观报销路费,报名享受国家学费减免政策签订就业合同,毕业推荐高薪工莋

任务管理器没有显卡,然后选择”进程

个进程单击一下然后3.按”结束进程“按钮,这时候桌面都没了不要害怕,

接下来在弹出的對话框中输入”explorer.exe“点击确定

如shift+alt+delete键调不出任务管理器没有显卡,试下按系统键+R键 打开运行 输入

.那么这个时候你就必须打开机箱检查所有的板卡、CPU和内存条等安装是否到位,接触是否良好操作方法就是将它们拔出来之后再重新插进去。

如果问题还未解决则可拔掉所有次要性的部件,只保留主板(带有CPU)、内存和显卡3个基本部件然后观察开机是否出现故障。如果出现故障则可排除其他硬件的问题;如果没有絀现故障则将其他部件一一增加,查看在添加哪个硬件时出了故障发现了故障所在后再针对这个硬件进行处理即可。如果你有条件可鉯购卖一个POST诊断卡它可以帮你辨别系统在启动过程中死机的原因.

强烈建议你,如果排除了电源的原因出现黑屏时首先检查内存条,洇为内存条接触不良而造成电脑黑屏的很多.查看内存条是否插好了如果没插好,拔掉之后重新插一遍.

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

我要回帖

更多关于 任务管理器没有显卡 的文章

 

随机推荐