文档视界 最新最全的文档下载
当前位置:文档视界 › 五大方法教你提高电脑内存使用效能

五大方法教你提高电脑内存使用效能

五大方法教你提高电脑内存使用效能
五大方法教你提高电脑内存使用效能

五大方法教你提高电脑内存使用效能第一种方法:调整高速缓存区域的大小

第二种方法:监视内存

系统的内存不管有多大,总是会用完的,虽然有虚拟内存,但由于硬盘的读写速度无法与内存的速度相比,大量、频繁地使用虚拟

内存将使计算机操作变得无法忍受,所以在使用内存时,就要时刻

监视内存的使用情况。Windows操作系统中提供了一个系统监视器,可以监视内存的使用情况。

另外还有一个简单方法,就是在任何一个文件窗口中,选择“帮助/关于Windows”菜单,在打开的窗口中就可以看到目前内存使用

的情况,一般如果只有60%的内存资源可用,这时你就要注意调整

内存了,不然就会严重影响你的运行速度和系统性能。

第三种方法:及时释放内存

如果你发现系统的内存不多了,就要注意释放内存。所谓释放内存,就是将驻留在内存中的数据从内存中释放出来。释放内存最简单、最有效的方法,就是重新启动计算机;另外就是关闭暂时不用的

正在运行的程序,包括在后台运行的程序。平时就要养成这样的好

习惯,随时关闭那些暂时不用的程序、文件或窗口。有些应用程序

不能用一般的方法关闭,这时就要进行热启动,如按下

“CTRL+ALT+DEL”;另外要注意剪贴板中如果存储了一幅图片或图像,图片或图像是要占用大量内存的,这时只要剪贴几个字,就可以把

内存中剪贴板上原有的图片冲掉,从而将它所占用的大量的内存释

放出来;还有,在后台打印文件,也会占用大量的内存空间。

第四种方法:优化内存中的数据

在Windows中,驻留内存中的数据越多,如桌面上的快捷图标、任务栏中的图标、系统托盘中的时间等,都要占用内存资源。所以,

桌面上和任务栏中的快捷图标不要设置得太多。如果内存资源较为紧张,可以考虑优化这些项目,尽量少用各种后台驻留的程序,特别是设计不好的程序,要占用大量内存资源。平时在操作电脑时,不要打开太多的文件或窗口,或者在程序中打开太多的数据文件,如果打开了,不再用时要及时关闭这些文件或窗口。

第五种方法:提高系统其它部件的性能

计算机其它部件的性能,对内存的使用也有较大的影响,如总线类型、cpu、硬盘、显存等。如果显存太小,而显示的数据量很大,再多的内存也是不可能提高其运行速度和系统的效能的。如果硬盘的速度太慢,特别是平均寻道时间和速度太慢,则会严重影响系统的虚拟内存的读写速度和使用效能,导致整个系统的效能下降。

另外,长时间地使用计算机后,如果没有重新启动计算机,内存中的数据排列就有可能比较混乱而导致系统的性能下降,这时你就要考虑重新启动计算机。

关于VB内存映射文件的使用

VB内存映射文件的使用 引言 文件操作是应用程序最为基本的功能之一,Win32 API和MFC均提供有支持文件处理的函数和类,常用的有Win32 API的CreateFile()、WriteFile()、ReadFile()和MFC提供的CFile类等。一般来说,以上这些函数可以满足大多数场合的要求,但是对于某些特殊应用领域所需要的动辄几十GB、几百GB、乃至几TB的海量存储,再以通常的文件处理方法进行处理显然是行不通的。目前,对于上述这种大文件的操作一般是以内存映射文件的方式来加以处理的,本文下面将针对这种Windows核心编程技术展开讨论。 内存映射文件 内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区域,同时将物理存储器提交给此区域,只是内存文件映射的物理存储器来自一个已经存在于磁盘上的文件,而非系统的页文件,而且在对该文件进行操作之前必须首先对文件进行映射,就如同将整个文件从磁盘加载到内存。由此可以看出,使用内存映射文件处理存储于磁盘上的文件时,将不必再对文件执行I/O操作,这意味着在对文件进行处理时将不必再为文件申请并分配缓存,所有的文件缓存操作均由系统直接管理,由于取消了将文件数据加载到内存、数据从内存到文件的回写以及释放内存块等步骤,使得内存映射文件在处理大数据量的文件时能起到相当重要的作用。另外,实际工程中的系统往往需要在多个进程之间共享数据,如果数据量小,处理方法是灵活多变的,如果共享数据容量巨大,那么就需要借助于内存映射文件来进行。实际上,内存映射文件正是解决本地多个进程间数据共享的最有效方法。 内存映射文件并不是简单的文件I/O操作,实际用到了Windows的核心编程技术--内存管理。所以,如果想对内存映射文件有更深刻的认识,必须对Windows操作系统的内存管理机制有清楚的认识,内存管理的相关知识非常复杂,超出了本文的讨论范畴,在此就不再赘述,感兴趣的读者可以参阅其他相关书籍。 内存映射文件使用方法 1) 首先要通过CreateFile()函数来创建或打开一个文件内核对象,这个对象标识了磁盘上将要用作内 存映射文件的文件。 2)在用CreateFile()将文件映像在物理存储器的位置通告给操作系统后,只指定了映像文件的路径, 映像的长度还没有指定。为了指定文件映射对象需要多大的物理存储空间还需要通过 CreateFileMapping()函数来创建一个文件映射内核对象以告诉系统文件的尺寸以及访问文件的方式。 3)在创建了文件映射对象后,还必须为文件数据保留一个地址空间区域,并把文件数据作为映射到该 区域的物理存储器进行提交。由MapViewOfFile()函数负责通过系统的管理而将文件映射对象的全部或部分映射到进程地址空间。此时,对内存映射文件的使用和处理同通常加载到内存中的文件数据的处理方式基本一样。 4)在完成了对内存映射文件的使用时,还要通过一系列的操作完成对其的清除和使用过资源的释放。 这部分相对比较简单,可以通过UnmapViewOfFile()完成从进程的地址空间撤消文件数据的映像、通过CloseHandle()关闭前面创建的文件映射对象和文件对象。 内存映射文件相关函数 在使用内存映射文件时,所使用的API函数主要就是前面提到过的那几个函数,下面分别对其进行介绍:

笔记本电脑内存的故障检修方法

5.3.1 笔记本电脑内存的故障表现 内存是笔记本电脑中常用的存储设备之…,其最大的特点就是“暂时”存储数据。由于内存的数据存储量和传输量很大,因此难免会发生一些故障,通常是由软件设置不当、增加/更换内存和内存芯片损坏引起的故障。 1.软件设置不当引起的笔记本电脑内存故障表现 在内存故障检修过程中,首先确定笔记本电脑是否能开机,开机后能否正常进入操作系统。如果都可以,就检查与内存相关的软件设置,如BIOS和虚拟内存。 (1)笔记本电脑关于内存的BIoS设置不合理 ①笔记本电脑开机后,多次对内存进行自检。 @笔记本电脑运行某~程序时提示“内存分配错误”、系统运行缓慢或突然死机。 (2)笔记本电脑虚拟内存设置不合理 ①笔记本电脑开机工作一段时间后提示“内存资源不足”。 ②笔记本电脑运行某一程序时提示“没有足够的可用内存运行此程序”。 2.增加,更换内存引起的笔记本电脑内存故障表现 如果笔记本电脑是在增加/更换内存之后出现故障,则主要原因为内存与插槽之间接触不良、多条内存之间不兼容或主板不支持新内存。。 (1)内存与插槽接触不良 在安装内存时,没有安装到位或无意间的碰触会使内存脱离插槽,或使内存与插槽之间接触不良,笔记本电脑开机后就会有报警声、无法开机或开机后死机。 (2)内存之间不兼容 增加/更换内存时一定要选择同品牌的产品,因为不同的内存芯片或不同的内存频率会使内存出现兼容性问题。笔记本电脑内存不兼窖时会出现以下故障。 ①内存容量显示不正确。 ②无法启动笔记本电脑。 @运行一段时间后出现死机。 (3)主板不支持内存 内存与主板之间也有兼容性问题,主要表现为主板不支持增加,更换的内存的频率和主板展大支持的内存容量不匹配。如果主板与内存不兼容,会经常出现以下故障。 ①内存容量显示不正确。 ②无法启动笔记本电脑。 ③开机报警。 ④运行一段时间后出现死机。

电脑维修基本方法

电脑维修基本方法 一、观察法观察,是维修判断过程中第一要法,它贯穿于整个维修过程中。观察不仅要认真,而且要全面。要观察的内容包括:1、周围的环境;2、硬件环境。包括接插头、座和槽等;3、软件环境;4、用户操作的习惯、过程。 二、最小系统法最小系统是指,从维修判断的角度能使电脑开机或运行的最基本的硬件和软件环境。最小系统有两种形式:硬件最小系统:由电源、主板和CPU组成。在这个系统中,没有任何信号线的连接,只有电源到主板的电源连接。在判断过程中是通过声音来判断这一核心组成部分是否可正常工作;软件最小系统:由电源、主板、CPU、内存、显示卡/显示器、键盘和硬盘组成。这个最小系统主要用来判断系统是否可完成正常的启动与运行。对于软件最小环境,就“软件”有以下几点要说明: 1、硬盘中的软件环境,保留着原先的软件环境,只是在分析判断时,根据需要进行隔离如卸载、屏蔽等)。保留原有的软件环境,主要是用来分析判断应用软件方面的问题 2、硬盘中的软件环境,只有一个基本的xx作系统环境(可能是卸载掉所有应用,或是重新安装一个干净的xx作系统),然后根据分析判断的需要,加载需要的应用。需要使用一个干净的xx作系统环境,是要判断系统问题、软件冲突或软、硬件间的冲突问题。 3、在软件最小系统下,可根据需要添加或更改适当的硬件。如:在判断启动故障时,由于硬盘不能启动,想检查一下能否从其它驱动器启动。这时,可在软件最小系统下加入一个软驱或干脆用软驱替换硬盘,来检查。又如:在判断音视频方面的故障时,应需要在软件最小系统中加入声卡;在判断网络问题时,就应在软件最小系统中加入网卡等。最小系统法,主要是要先判断在最基本的软、硬件环境中,系统是否可正常工作。如果不能正常工作,即可判定最基本的软、硬件部件有故障,从而起到故障隔离的作用。最小系统法与逐步添加法结合,能较快速地定位发生在其它板软件的故障,提高维修效率。 三、逐步添加/去除法逐步添加法,以最小系统为基础,每次只向系统添加一个部件/设备或软件,来检查故障现象是否消失或发生变化,以此来判断并定位故障部位。逐步去除法,正好与逐步添加法的xx作相反。逐步添加/去除法一般要与替换法配合,才能较为准确地定位故障部位。 四、隔离法是将可能防碍故障判断的硬件或软件屏蔽起来的一种判断方法。它也可用来将怀疑相互冲突的硬件、软件隔离开以判断故障是否发生变化的一种方法。上提到的软硬件屏蔽,对于软件来说,即是停止其运行,或者是卸载;对于硬件来说,是在设备管理器中,禁用、卸载其驱动,或干脆将硬件从系统中去除。 五、替换法替换法是用好的部件去代替可能有故障的部件,以判断故障现象是否消失的一种维修方法。好的部件可以是同型号的,也可能是不同型号的。替换的顺序一般为:1、根据故障的现象或第二部分中的故障类别,来考虑需要进行替换的部件或设备;2、按先简单后复杂的顺序进行替换。如:先内存、CPU,后主板,又如要判断打印故障时,可先考虑打印驱动是否有问题,再考虑打印电缆是否有故障,最后考虑打印机或并口是否有故障等;3、最先考查与怀疑有故障的部件相连接的连接线、信号线等,之后是替换怀疑有故障的部件,再后是替换供电部件,最后是与之相关的其它部件。4、从部件的故障率高低来考虑最先替换的部件。故障率高的部件先进行替换。 六、比较法比较法与替换法类似,即用好的部件与怀疑有故障的部件进行外观、配置、运行现象等方面的比较,也可在两台电脑间进行比较,以判断故障电脑在环境设置,硬件配置方面的不同,从而找出故障部位。 七、升降温法在上门服务过程中,升降温法由于工具的限制,其使用与维修间是不同

主板芯片和内存映射

astrotycoon 大道至简,贵在恒久力行

Diagram for modern motherboard. The northbridge and southbridge make up the chipset.

(补充: 北桥芯片用于与CPU、内存和AGP视频接口,这些接口具有很高的传输速率。北桥芯片还起着存储器控制作用,因此Intel把该芯片标号为MCH(Memory Controller Hub)芯片。南桥芯片用来管理低、中速的组件,例如,PCI总线、IDE硬盘接口、USB端口等,因此南桥芯片的名称为ICH(I/O Controller Hub)) As you look at this, the crucial thing to keep in mind is that the CPU doesn’t really know anything about what it’s connected to. It talks to the outside world through its pins bu t it doesn’t care what that outside world is. It might be a motherboard in a computer but it could be a toaster, network router, brain implant, or CPU test bench. There are thre e main ways by which the CPU and the outside communicate: memory address space, I/O address space, and interrupts. We only worry about motherboards and memory for now. 正如你所看到的,其实CPU是完全不知道自己与哪些外部器件相连接的。 CPU仅仅通过自己的引脚与外界沟通,而它并不关心自己是与什么设备在沟通。或许是另一台计算机的主板,或许是烤面包机,网络路由器,脑植入医疗设备,又或许是CPU测试仪。 CPU主要通过三种方式与外界通信:内存地址空间,IO地址空间,和中断。我们目前只关注主板和内存。 In a motherboard the CPU’s gateway to the world is the front-side bus connecting it to the northbridge. Whenever the CPU needs to read or write memory it does so via this b us. It uses some pins to transmit the physical memory address it wants to write or read, while other pins send the value to be written or receive the value being read. An Intel Core 2 QX6600 has 33 pins to transmit the physical memory address (so there are 233 choices of memory locations) and 64 pins to send or receive data (so data is transmitte d in a 64-bit data path, or 8-byte chunks). This allows the CPU to physically address 64 gigabytes of memory (233 locations * 8 bytes) although most chipsets only handle up to 8 gigs of RAM. CPU通过前端总线与北桥芯片连接,作为与外界通信的桥梁。无论何时,CPU都可以通过前端总线来读写内存。 CPU通过一些引脚来传送想要读写物理内存的地址,同时通过另一些引脚来发送将要写入内存的数据或者接收从内存读取到的数据。 Intel Core 2 QX6600 用33个引脚来传送物理内存地址(因此共有233 个内存地址),并且用64个引脚来发送或接收数据(所以数据在64位通道中传输,也就是8字节的数据块)。因此C PU可以访问64G的物理内存(233*8字节),尽管多数芯片组只能处理8G大小的物理内存。 Now comes the rub. We’re used to thinking of memory only in terms of RAM, the stuff programs read from and write to all the time. And indeed most of the memory requests from the processor are routed to RAM modules by the northbridge. But not all of them. Physical memory addresses are also used for communication with assorted devices on t he motherboard (this communication is called memory-mapped I/O). These devices include video cards, most PCI cards (say, a scanner or SCSI card), and also the flash mem ory that stores the BIOS. 那么现在的问题是,通常一提起内存我们仅仅联想到RAM,以为程序一直读写的就只是RAM。的确,绝大多数来自CPU的内存访问请求都被北桥芯片映射到了RAM。但是,注意,不是全部。物理内存同样可以用来与主板上的各种设备通信(这种通信方式被称为I/O内存映射)。这些设备包括显卡,大多数PCI卡(比如,扫描仪,或者是SCSI卡),也包括存储BIOS的flash存储器。 When the northbridge receives a physical memory request it decides where to route it: should it go to RAM? Video card maybe? This routing is decided via the memory addres s map. For each region of physical memory addresses, the memory map knows the device that owns that region. The bulk of the addresses are mapped to RAM, but when the y aren’t the memory map tells the chipset which device should service requests for those addresses. This mapping of memory addresses away from RAM modules causes the c lassic hole in PC memory between 640KB and 1MB. A bigger hole arises when memory addresses are reserved for video cards and PCI devices. This is why 32-bit OSes have pr oblems using 4 gigs of RAM. In Linux the file /proc/iomem neatly lists these address range mappings. The diagram below shows a typical memory map for the first 4 gigs of p hysical memory addresses in an Intel PC:

内存映射文件

内存映射文件: 内存映射文件有三种,第一种是可执行文件的映射,第二种是数据文件的映射,第三种是借助页面交换文件的内存映射.应用程序本身可以使用后两种内存映射. 1.可执行文件映射: Windows在执行一个Win32应用程序时使用的是内存映射文件技术.系统先在进程地址空间的0x00400000以上保留一个足够大的虚拟地址空间(0x00400000以下是由系统管理的),然后把应用程序所在的磁盘空间作为虚拟内存提交到这个保留的地址空间中去(我的理解也就是说,虚拟内存是由物理内存和磁盘上的页面文件组成的,现在应用程序所在的磁盘空间就成了虚拟地址的页面文件).做好这些准备后,系统开始执行这个应用程序,由于这个应用程序的代码不在内存中(在页面文件中),所以在执行第一条指令的时候会产生一个页面错误(页面错误也就是说,系统所访问的数据不在内存中),系统分配一块内存把它映射到0x00400000处,把实际的代码或数据读入其中(系统分配一块内存区域,把它要访问的在页面文件中的数据读入到这块内存中,需在注意是系统读入代码或数据是一页一页读入的),然后可以继续执行了.当以后要访问的数据不在内存中时,就可以通过前面的机制访问数据.对于Win32DLL的映射也是同样,不过DLL文件应该是被Win32进程共享的(我想应该被映射到x80000000以后,因为0x80000000-0xBFFFFFFF是被共享的空间). 当系统在另一个进程中执行这个应用程序时,系统知道这个程序已经有了一个实例,程序的代码和数据已被读到内存中,所以系统只需把这块内存在映射到新进程的地址空间即可,这样不就实现了在多个进程间共享数据了吗!然而这种共享数据只是针对只读数据,如果进程改写了其中的代码和数据,操作系统就会把修改的数据所在的页面复制一份到改写的进程中(我的理解也就是说共享的数据没有改变,进程改写的数据只是共享数据的一份拷贝,其它进程在需要共享数据时还是共享没有改写的数据),这样就可以避免多个进程之间的相互干扰. 2.数据文件的内存映射: 数据文件的内存映射原理与可执行文件内存映射原理一样.先把数据文件的一部分映射到虚拟地址空间的0x80000000 - 0xBFFFFFFF,但没有提交实际内存(也就是说作为页面文件),当有指令要存取这段内存时同样会产生页面错误异常.操作系统捕获到这个异常后,分配一页内存,映射内存到发生异常的位置,然后把要访问的数据读入到这块内存,继续执行刚才产生异常的指令(这里我理解的意思是把刚才产生异常的指令在执行一次,这次由于数据已经映射到内存中,指令就可以顺利执行过去),由上面的分析可知,应用程序访问虚拟地址空间时由操作系统管理数据在读入等内容,应用程序本身不需要调用文件的I/O函数(这点我觉得很重要,也就是为什么使用内存映射文件技术对内存的访问就象是对磁盘上的文件访问一样). 3.基于页面交换文件的内存映射: 内存映射的第三种情况是基于页面交换文件的.一个Win32进程利用内存映射文件可以在进程共享的地址空间保留一块区域(0x8000000 - 0xBFFFFFFF),这块区域与系统的页面交换文件相联系.我们可以用这块区域来存储临时数据,但更常见的做法是利用这块区域与其他进程通信(因为0x80000000以上是系统空间,进程切换只是私有地址空间,系统空间是所有进程共同使用的),这样多进程间就可以实现通信了.事实上Win32多进程间通信都是使用的内存映射文件技术,如PostMessage(),SentMessage()函数,在内部都使用内存映射文件技术. 使用内存映射文件的方法: 1.利用内存映射文件进行文件I/O操作: CreateFile()-->CreateFileMapping()-->MapViewOfFile()......

维修电脑的技巧与方法一、观察法

维修电脑的技巧与方法一、观察法 维修电脑的技巧与方法一、观察法观察,是维修判断过程中第一要法,它贯穿于整个维修过程中。观察不仅要认真,而且要全面。要观察的内容包括: 1、周围的环境; 2、硬件环境。包括接插头、座和槽等; 3、软件环境; 4、用户xx作的习惯、过程 维修电脑的技巧与方法二、最小系统法最小系统是指,从维修判断的角度能使电脑开机或运行的最基本的硬件和软件环境。最小系统有两种形式: 硬件最小系统:由电源、主板和cpu组成。在这个系统中,没有任何信号线的连接,只有电源到主板的电源连接。在判断过程中是通过声音来判断这一核心组成部分是否可正常工作; 软件最小系统:由电源、主板、cpu、内存、显示卡/显示器、键盘和硬盘组成。这个最小系统主要用来判断系统是否可完成正常的启动与运行。 对于软件最小环境,就“软件”有以下几点要说明: 1、硬盘中的软件环境,保留着原先的软件环境,只是在分析判断时,根据需要进行隔离如卸载、屏蔽等)。保留原有的软件环境,主要是用来分析判断应用软件方面的问题。

2、硬盘中的软件环境,只有一个基本的xx作系统环境(可能是卸载掉所有应用,或是重新安装一个干净的xx作系统),然后根据分析判断的需要,加载需要的应用。需要使用一个干净的xx作系统环境,是要判断系统问题、软件冲突或软、硬件间的冲突问题。 3、在软件最小系统下,可根据需要添加或更改适当的硬件。如:在判断启动故障时,由于硬盘不能启动,想检查一下能否从其它驱动器启动。这时,可在软件最小系统下加入一个软驱或干脆用软驱替换硬盘,来检查。又如:在判断音视频方面的故障时,应需要在软件最小系统中加入声卡;在判断网络问题时,就应在软件最小系统中加入网卡等。 最小系统法,主要是要先判断在最基本的软、硬件环境中,系统是否可正常工作。如果不能正常工作,即可判定最基本的软、硬件部件有故障,从而起到故障隔离的作用。 最小系统法与逐步添加法结合,能较快速地定位发生在其它板软件的故障,提高维修效率。 维修电脑的技巧与方法三、逐步添加/去除法逐步添加法,以最小系统为基础,每次只向系统添加一个部件/设备或软件,来检查故障现象是否消失或发生变化,以此来判断并定位故障部位。 逐步去除法,正好与逐步添加法的xx作相反。 逐步添加/去除法一般要与替换法配合,才能较为准确地定位故障部位。 维修电脑的技巧与方法四、隔离法是将可能防碍故障判断的硬件或软件屏蔽起来的一种判断方法。它也可用来将怀疑相

电脑维修的基本原则和方法

电脑维修的基本原则和方法 电脑维修的基本原则和方法 1.1进行电脑维修应遵循的基本原则: 一、进行维修判断须从最简单的事情做起 简单的事情,一方面指观察,另一方面是指简捷的环境。 简单的事情就是观察,它包括: 1、电脑周围的环境情况一一位置、电源、连接、其它设备、温度与湿度等; 2、电脑所表现的现象、显示的内容,及它们与正常情况下的异同; 3、电脑内部的环境情况一一灰尘、连接、器件的颜色、部件的形状、指示灯的状态等; 4、电脑的软硬件配置一一安装了何种硬件,资源的使用情况;使用的是使种操作系统,其上又安装了何种应用软件;硬件的设置驱动程序版本等。 简捷的环境包括: 1、在判断的环境中,仅包括基本的运行部件/软件,和被怀疑有故障的部件/软件; 2、在一个干净的系统中,添加用户的应用(硬件、软件)来进行分析判断 从简单的事情做起,有利于精力的集中,有利于进行故障的判断与定位。一定要注意,必须通过认真的观察后,才可进行判断与维修。 二、根据观察到的现象,要“先想后做”

先想后做,包括以下几个方面: 首先是,先想好怎样做、从何处入手,再实际动手。也可以说是先分析判断,再进行维修。 其次是,对于所观察到的现象,尽可能地先查阅相关的资料,看有无相应的技术要求、使用特点等,然后根据查阅到的资料,结合下面要谈到的内容,再着手维修。 最后是,在分析判断的过程中,要根据自身已有的知识、经验来进行判断,对于自己不太了解或根本不了解的,一定要先向有经验的同事或你的技术支持工程师咨询,寻求帮助。 、在大多数的电脑维修判断中,必须“先软后硬: 即从整个维修判断的过程看,总是先判断是否为软件故障,先检查软件问题,当可判软件环境是正常时,如果故障不能消失,再从硬件方面着手检查。 四、在维修过程中要分清主次,即“抓主要矛盾“ 在复现故障现象时,有时可能会看到一台故障机不止有一个故障现象,而是有两个或两个以上的故障现象(如:启动过程中无显,但机器也在启动,同时启动完后,有死机的现象等),为时,应该先判断、维修主要的故障现象,当修复后,再维修次要故障现象,有时可能次要故障现象已不需要维修了。 § 1.2电脑维修的基本方法 一、观察法 观察,是维修判断过程中第一要法,它贯穿于整个维修过程中。观察不仅要认真,而且要全面。要观察的内容包括: 1、周围的环境; 2、硬件环境。包括接插头、座和槽等; 3、软件环境; 4、用户操作的习惯、过程 —、最小系统法 最小系统是指,从维修判断的角度能使电脑开机或运行的最基本的硬件和软件环境。最小系统有两种形式: 硬件最小系统:由电源、主板和CPU组成。在这个系统中,没有任何信号线的连接,只有电源到主板的电源连接。在判断过程中是通过声音来判断这一核心组成部分是否可正常工作; 软件最小系统:由电源、主板、CPU内存、显示卡/显示器、键盘和硬盘组成。这个最小

内存映射和普通文件访问的区别

在讲述文件映射的概念时, 不可避免的要牵涉到虚存(SVR 4的VM). 实际上, 文件映射是虚存的中心概念, 文件映射一方面给用户提供了一组措施, 好似用户将文件映射到自己地址空间的某个部分, 使用简单的内存访问指令读写文件;另一方面, 它也可以用于内核的基本组织模式, 在这种模式种, 内核将整个地址空间视为诸如文件之类的一组不同对象的映射. 中的传统文件访问方式是, 首先用open系统调用打开文件, 然后使用read, write以及lseek等调用进行顺序或者随即的I/O. 这种方式是非常低效的, 每一次I/O操作都需要一次系统调用. 另外, 如果若干个进程访问同一个文件, 每个进程都要在自己的地址空间维护一个副本, 浪费了内存空间. 而如果能够通过一定的机制将页面映射到进程的地址空间中, 也就是说首先通过简单的产生某些内存管理数据结构完成映射的创建. 当进程访问页面时产生一个缺页中断, 内核将页面读入内存并且更新页表指向该页面. 而且这种方式非常方便于同一副本的共享. VM是面向对象的方法设计的, 这里的对象是指内存对象: 内存对象是一个软件抽象的概念, 它描述内存区与后备存储之间的映射. 系统可以使用多种类型的后备存储, 比如交换空间, 本地或者远程文件以及帧缓存等等. VM系统对它们统一处理, 采用同一操作集操作, 比如读取页面或者回写页面等. 每种不同的后备存储都可以用不同的方法实现这些操作. 这样, 系统定义了一套统一的接口, 每种后备存储给出自己的实现方法. 这样, 进程的地址空间就被视为一组映射到不同数据对象上的的映射组成. 所有的有效地址就是那些映射到数据对象上的地址. 这些对象为映射它的页面提供了持久性的后备存储. 映射使得用户可以直接寻址这些对象. 值得提出的是, VM体系结构独立于Unix系统, 所有的Unix系统语义, 如正文, 数据及堆栈区都可以建构在基本VM系统之上. 同时, VM体系结构也是独立于存储管理的, 存储管理是由操作系统实施的, 如: 究竟采取什么样的对换和请求调页算法, 究竟是采取分段还是分页机制进行存储管理, 究竟是如何将虚拟地址转换成为物理地址等等(Linux中是一种叫Three Level Page Table的机制), 这些都与内存对象的概念无关. 下面介绍Linux中 VM的实现. 一个进程应该包括一个mm_struct(memory manage struct), 该结构是进程虚拟地址空间的抽象描述, 里面包括了进程虚拟空间的一些管理信息: start_code, end_code, start_data, end_data, start_brk, end_brk等等信息. 另外, 也有一个指向进程虚存区表(vm_area_struct: virtual memory area)的指针, 该链是按照虚拟地址的增长顺序排列的. 在Linux进程的地址空间被分作许多区(vma), 每个区(vma)都对应虚拟地址空间上一段连续的区域, vma是可以被共享和保护的独立实体, 这里的vma就是前面提到的内存对象. 下面是vm_area_struct的结构, 其中, 前半部分是公共的, 与类型无关的一些数据成员, 如: 指向mm_struct的指针, 地址范围等等, 后半部分则是与类型相关的成员, 其中最重要的是一个指向vm_operation_struct向量表的指针 vm_ops, vm_pos向量表是一组虚函数, 定义了与vma类型无关的接口. 每一个特定的子类, 即每种vma类型都必须在向量表中实现这些操作. 这里包括了: open, close, unmap, protect, sync, nopage, wppage, swapout这些操作. 1.struct vm_area_struct { 2./*公共的, 与vma类型无关的 */ 3.struct mm_struct * vm_mm;

维修电脑常用的方法

重庆红春藤学校谈维修电脑常用的方法 目前操作电脑已经是职场人士必须要会的一项技能,不少行业的工作人员更是离开电脑就不能工作了。在工作中我们不可避免地会遇到电脑出状况的时候,而一旦电脑出了状况,将会严重影响我们的工作,因此学习一点常用的电脑维修知识是十分重要的。下面,重庆红春藤学校计算机专业的李老师就为大家分享几种常用的电脑故障分析方法。 1、观察法 观察系统板卡的插头、插座是否歪斜,电阻、电容引脚是否相碰,还要查看是否有异物掉进主板上的走线是否断裂等。听电源、风扇、硬盘、显示器等设备的工作声音是否正常。另外,系统发生短路故障时常常伴随异样的声响。闻主机、板卡有没有被烧焦,便于找到问题故障所在。用手按压,看芯片是否松动或接触不良。另外在系统运行时用手接触或摸CPU、显示器、硬盘等设备的外壳,根据其温度可以断定设备是否运行正常。 2、清洁法 对于使用环境较差或使用时间较长的电脑,应注意对一些主要配件时行“保养”,这样会加大电脑的使用寿命。 3、插拨法 插拨法就是关机后将配件一件一件的拔出,每拔出一块配件就开机观察电脑运行状态,只要拔出那块配件后主板运行正常,那原因就是该配件发生故障或相应插槽发生了故障。反之拔出配件后问题系统还是不能正常运运行说明故障很有可能发生在主板上。 4、交换法 交换法也就是将相同型号、功能的配件或同芯片相互交换,根据故障现象的变化情况断定电脑故障出在哪里。此方法用于易插拨的维修条件下,如果能找到同型号的电脑部件或外设,使用交换法可以快速地检查出是否配件本身的质量问题。 此外,没有相同型号的电脑部件的电脑部件或外设,但相同类型的主机,也可以把电脑部件或外设插接到同型号的主机上断定其是否正常。 5、比较法 运行两台或多台相同的电脑,根据正常电脑与故障电脑在执行相同操作时的不同表现,可初步断定故障产生的相应部位。 6、振动敲击法 用手指轻轻法敲击机箱,有可能解决因接触不良或虚焊造成的故障问题。然后进一步检查故障点的位置。 7、最小系统法 是小系统法是指保留系统的基本配置。把其他适配器和输入法/输出接口(光驱、硬盘)从主板上临时取下来,再接通电源观察最小系统能否运行。对于电脑来说最小系统通常由主板、CPU、内存、显卡和开关电源组成。 8、升/降温法 升/降温法采用的是故障促发原理,造成故障出的条件来促使故障频繁出现,以观察断定故障出现的位置。通过人为升高电脑运行环境的温度,可以检验电脑各部件(尤其是CUP)在高温情况,从而及早发现故障隐患。

内存映射文件

内存映射文件 内存映射文件是由一个文件到一块内存的映射。Win32提供了允许应用程序把文件映射到一个进程的函数(CreateFileMapping)。这样,文件内的数据就可以用内存读/写指令来访问,而不是用ReadFile和WriteFile这样的I/O系统函数,从而提高了文件存取速度。 这种函数最适用于需要读取文件并且对文件内包含的信息做语法分析的应用程序,如对输入文件进行语法分析的彩色语法编辑器,编译器等。把文件映射后进行读和分析,能让应用程序使用内存操作来操纵文件,而不必在文件里来回地读、写、移动文件指针。 有些操作,如放弃“读”一个字符,在以前是相当复杂的,用户需要处理缓冲区的刷新问题。在引入了映射文件之后,就简单的多了。应用程序要做的只是使指针减少一个值。 映射文件的另一个重要应用就是用来支持永久命名的共享内存。要在两个应用程序之间共享内存,可以在一个应用程序中创建一个文件并映射之,然后另一个应用程序可以通过打开和映射此文件把它作为共享的内存来使用。 VC++中使用内存映射文件处理大文件(1) 关键词:VC++ 内存映射 阅读提示:本文给出了一种方便实用的解决大文件的读取、存储等处理的方法,并结合相关程序代码对具体的实现过程进行了介绍。 引言 文件操作是应用程序最为基本的功能之一,Win32 API和MFC均提供有支持文件处理的函数和类,常用的有Win32 API的CreateFile()、WriteFile()、ReadFile()和MFC 提供的CFile类等。一般来说,以上这些函数可以满足大多数场合的要求,但是对于某些特殊应用领域所需要的动辄几十GB、几百GB、乃至几TB的海量存储,再以通常的文件处理方法进行处理显然是行不通的。目前,对于上述这种大文件的操作一般是以内存映射文件的方式来加以处理的,本文下面将针对这种Windows核心编程技术展开讨论。 内存映射文件 内存映射文件与虚拟内存有些类似,通过内存映射文件可以保留一个地址空间的区域,同时将物理存储器提交给此区域,只是内存文件映射的物理存储器来自一个已经存在于磁盘上的文件,而非系统的页文件,而且在对该文件进行操作之前必须首先对文件进行映射,就如同将整个文件从磁盘加载到内存。由此可以看出,使用内存映射文件处理存储于磁盘上的文件时,将不必再对文件执行I/O操作,这意味着在对文件进行处理时将不必再为文件申请并分配缓存,所有的文件缓存操作均由系统直接管理,由于取消了将文件数据加载到内存、数据从内存到文件的回写以及释放内存块等步骤,使得内存映射文件在处理大数据量的文件时能起到相当重要的作用。另外,实际工程中的系统往往需要在多个进程之间共享数据,如果数据量小,处理方法是灵活多变的,如果共享数据容量巨大,那么就需要借助于内存映射文件来进行。实际上,内存映射文件正是解决本地多个进程间数据共享的最有效方法。 内存映射文件并不是简单的文件I/O操作,实际用到了Windows的核心编程技术--内存管理。所以,如果想对内存映射文件有更深刻的认识,必须对Windows操作系统的内存管理机制有清楚的认识,内存管理的相关知识非常复杂,超出了本文的讨论范畴,

虚拟内存与物理内存的地址映射解析

在进入正题前先来谈谈操作系统内存管理机制的发展历程,了解这些有利于我们更好的理解目前操作系统的内存管理机制。 一早期的内存分配机制 在早期的计算机中,要运行一个程序,会把这些程序全都装入内存,程序都是直接运行在内存上的,也就是说程序中访问的内存地址都是实际的物理内存地址。当计算机同时运行多个程序时,必须保证这些程序用到的内存总量要小于计算机实际物理内存的大小。那当程序同时运行多个程序时,操作系统是如何为这些程序分配内存的呢?下面通过实例来说明当时的内存分配方法: 某台计算机总的内存大小是128M,现在同时运行两个程序A和B,A需占用内存10M,B需占用内存110。计算机在给程序分配内存时会采取这样的方法:先将内存中的前10M分配给程序A,接着再从内存中剩余的118M中划分出110M分配给程序B。这种分配方法可以保证程序A和程序B都能运行,但是这种简单的内存分配策略问题很多。

图一早期的内存分配方法 问题1:进程地址空间不隔离。由于程序都是直接访问物理内存,所以恶意程序可以随意修改别的进程的内存数据,以达到破坏的目的。有些非恶意的,但是有bug的程序也可能不小心修改了其它程序的内存数据,就会导致其它程序的运行出现异常。这种情况对用户来说是无法容忍的,因为用户希望使用计算机的时候,其中一个任务失败了,至少不能影响其它的任务。 问题2:内存使用效率低。在A和B都运行的情况下,如果用户又运行了程序C,而程序C需要20M大小的内存才能运行,而此时系统只剩下8M的空间可供使用,所以此时系统必须在已运行的程序中选择一个将该程序的数据暂时拷贝到硬盘上,释放出部分空间来

供程序C使用,然后再将程序C的数据全部装入内存中运行。可以想象得到,在这个过程中,有大量的数据在装入装出,导致效率十分低下。 问题3:程序运行的地址不确定。当内存中的剩余空间可以满足程序C的要求后,操作系统会在剩余空间中随机分配一段连续的 20M大小的空间给程序C使用,因为是随机分配的,所以程序运行的地址是不确定的。 二分段 为了解决上述问题,人们想到了一种变通的方法,就是增加一个中间层,利用一种间接的地址访问方法访问物理内存。按照这种方法,程序中访问的内存地址不再是实际的物理内存地址,而是一个虚拟地址,然后由操作系统将这个虚拟地址映射到适当的物理内存地址上。这样,只要操作系统处理好虚拟地址到物理内存地址的映射,就可以保证不同的程序最终访问的内存地址位于不同的区域,彼此没有重叠,就可以达到内存地址空间隔离的效果。 当创建一个进程时,操作系统会为该进程分配一个4GB大小的虚拟进程地址空间。之所以是4GB,是因为在32位的操作系统中,一个指针长度是4字节,而4字节指针的寻址能力是从 0x00000000~0xFFFFFFFF,最大值0xFFFFFFFF表示的即为4GB大小的容量。与虚拟地址空间相对的,还有一个物理地址空间,这个地址

通过VC++内存映射修改大文件方法

通过VC++内存映射修改大文件方法 本文介绍利用VC++内存映射文件修改大文件的方法:在大文件内存前加入一段数据,若要使用内存映射文件,必须执行下列操作步骤: 1.创建或打开一个文件内核对象,该对象用于标识磁盘上你想用作内存 映射文件的文件; 2.创建一个文件映射内核对象,告诉系统该文件的大小和你打算如何访 问该文件; 3.让系统将文件映射对象的全部或一部分映射到你的进程地址空间中;当完成对内存映射文件的使用时,必须执行下面这些步骤将它清除: 1.告诉系统从你的进程的地址空间中撤消文件映射内核对象的映像; 2.关闭文件映射内核对象; 3.关闭文件内核对象; 下面将用一个实例详细介绍这些操作步骤,(本实例的目的就是将一个文件A其内容前面加入一些内容存入文件B,我想大家在程序开发当中会遇到这种情况的)。 一、我们打开关于A文件内核对象,并创建一个关于B文件的内核对象若要创建或打开一个文件内核对象,总是要调用CreateFile函数: HANDLE CreateFile( PCSTR pszFileName, DWORD dwDesiredAccess, DWORD dwShareMode, PSECURITY_ATTRIBUTES psa, DWORD dwCreationDisposition, DWORD dwFlagsAndAttributes, HANDLE hTemplateFile); CreateFile函数拥有好几个参数,这里只重点介绍前3个参数,即szFileName,dwDesiredAccess 和dwShareMode。你可能会猜到,第一个参数pszFileName用于指明要创建或打开的文件的名

电脑0x_指令引用的0x内存错误修复

您好!出现:0x???????? 指令引用的0x????????内存。该内存不能为"read"或"written"。答案【shijan8原创】★严禁复制★ 【1】出现该问题原因很多,首先一定要清楚是在什么时候出现该问题,把下面写的看完,对照您电脑出现的问题进行正确的解决。 【2】盗版系统或Ghost版本系统,系统文件错误或丢失,也会出现该问题,及时安装官方发行的补丁,{检查电脑年、月、日是否正确}。建议:最好安装【正版】系统或【完整版】系统。 【3】检查驱动是否出现问题,重新安装驱动或及时更新驱动。 【4】病毒引起的:升级杀毒软件或下载专杀工具,清理恶意插件,对电脑全盘杀毒。 【5】硬件引起的: (1)可能是内存条出现的小问题,关机断电,把内存条拆下清理干净重新安装。必要时更换内存条。(硬件上一般不会出现该问题) 【6】软件引起的: (1)安装的软件与系统或其它软件发生冲突,盗版或带病毒的软件,请慎重下载软件,最好使用正版。【这里主要说的是检查开机启动项,把没必要启动的启动项禁止开机启动】 (2)如果你的电脑中安装了两款或两款以上的同类软件,比如:两款杀毒软件、两款优化系统软件等,请卸载一款,以免发生冲突,以保持电脑稳定性。 (3)有些系统补丁下载安装了错误补丁,可能与您当前的系统或其它软件发生冲突,也会出现该问题。卸载该补丁,找到适合您电脑补丁,重新下载重新安装。(4)当下载安装或打开运行播放器、游戏、QQ等第三方软件,出现该问题时。可能是您下载的软件存在着危险,系统本身为了保护系统不受影响,也会出现该内存不能为“read”或“wrtten”。一般的解决办法就是卸载该软件重新安装。如果不能解决,需要更换同类型其它版本的软件,或找到发生冲突的软件卸载它,问题才能解决。 【注意】:如果以确定电脑没有病毒,检查清理电脑是否存在恶意插件,把它清理掉。如果您使用windows IE浏览器出现该问题,尤其是打了错误补丁,最近windows IE变得不太稳定。用360安全卫士、安装的急救箱或其它软件进行系统修复,如果没有效果,升级或降低IE版本试试。如果还是不行,最简单的解决办法就是:下载更换其它浏览器。【不用删除windows IE,直接使用其它浏览器即可。】比如:360安全浏览器、世界之窗浏览器、傲游等。 如果上面说的检查都没问题,可以试试下面的方法:看看能不能解决。 ◆开始→运行→输入cmd→回车,在命令提示符下输入下面命令 for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1回车。 完成后,在输入下面的 for %i in (%windir%\system32\*.ocx) do regsvr32.exe /s %i 回车。 如果怕输入错误,可以复制这两条指令,然后在命令提示符后击鼠标右键,打“粘贴”,回车,耐心等待,直到屏幕滚动停止为止。(重启电脑)。 ●在检查运行regedit进入注册表, 在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer \ShellExecuteHooks 下,应该只有一个正常的键值

相关文档
相关文档 最新文档