天道酬勤,学无止境

计算机换内存条解决方案

安装前准备
工具:鲁大师,cpu-z,任务管理器(性能-内存),查看安装内存卡,计算机右键属性。
注意点:1.计算机最大运行内存:wmic memphysical get maxcapacity (/1024/1024G)如16777216(16G)
在这里插入图片描述
2.频率:自行查看,cpu-z需要x2,其它实际频率为主,如1600MHz,如安装几个内存频率不同,也以最小为同一频率
3.内存版本:DDR2 DDR3 DDR3L(1.35V低频),切记不同版本不可用.去处理器7200U(U:DDR 1.5V M:DDRL1.35V)
在这里插入图片描述
4.现在内存,计算机内存可以插槽叠加(注意查看自己计算机内存参数,如cpu-z/SPD),适当选择内存卡
截图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
安装后
刚装了一个8G的内存条,发现已安装内存和内存总数不一样,已安装内存为16G,但是总数还是原来的8G没变

解决方案
win+r输入msconfig
在这里插入图片描述
在这里插入图片描述
重启后查看实际内存空间

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • Oracle内存过度消耗风险提醒
    前言时间过的真快,技术人生系列·我和数据中心的故事已经来到了第六期,小y又和大家见面了!小y今天要和大家分享的是一个综合型问题的的分析和解决过程。解决该类问题,只懂数据库是不够的,还需要掌握比较扎实的操作系统技能。同时引出了另外一种不太常见形式的优化,内存优化。由于今天要分享的问题具有普遍性,建议大家可以按照文中方法检查自己的系统中有无类似问题。分享的最后将对该共性的风险进行总结和提示。如果觉得分享的案例还不错,麻烦亲们抬手转发一下,希望可以提醒和帮助到更多的客户。更多Oracle数据库实战经验分享和风险提醒的首发,尽在“中亦安图”公众号!欢迎关注。另外,近期有不少朋友问,小y所在团队是否可以做一些线下的分享?确实,如果可以把大家组织起来,哪怕是一个会议室或者一个咖啡厅,除了面对面的技术分享,还可以聊聊人生,兴致来了还可以一起烧烤啤酒,结识更多的朋友,也是人生幸事!既然大家有兴趣,那我们就开始第一期线下分享吧!有兴趣参加北京、上海、广州、深圳等地线下分享的朋友,可以给小y发邮件,邮箱是51994106@qq.com,或者加小y的微信(shadow-huang-bj),提供城市、姓名、电话、单位、职位等信息即可,当报名人数超过20人,我们就开始启动北京、上海、广州、深圳、杭州、南京等地的免费线下分享活动。另外,有兴趣的可以加入QQ群227189100,我们以后会定期做一些线上的分享
  • Oracle内存过度消耗风险提醒
    第一章 技术人生系列 · 我和数据中心的故事(第六期)-Oracle内存过度消耗风险提醒前言时间过的真快,技术人生系列·我和数据中心的故事已经来到了第六期,小y又和大家见面了!小y今天要和大家分享的是一个综合型问题的的分析和解决过程。解决该类问题,只懂数据库是不够的,还需要掌握比较扎实的操作系统技能。同时引出了另外一种不太常见形式的优化,内存优化。由于今天要分享的问题具有普遍性,建议大家可以按照文中方法检查自己的系统中有无类似问题。分享的最后将对该共性的风险进行总结和提示。如果觉得分享的案例还不错,麻烦亲们抬手转发一下,希望可以提醒和帮助到更多的客户。更多Oracle数据库实战经验分享和风险提醒的首发,尽在“中亦安图”公众号!欢迎关注。另外,近期有不少朋友问,小y所在团队是否可以做一些线下的分享?确实,如果可以把大家组织起来,哪怕是一个会议室或者一个咖啡厅,除了面对面的技术分享,还可以聊聊人生,兴致来了还可以一起烧烤啤酒,结识更多的朋友,也是人生幸事!既然大家有兴趣,那我们就开始第一期线下分享吧!有兴趣参加北京、上海、广州、深圳等地线下分享的朋友,可以给小y发邮件,邮箱是51994106@qq.com,或者加小y的微信(shadow-huang-bj),提供城市、姓名、电话、单位、职位等信息即可,当报名人数超过20人,我们就开始启动北京、上海、广州、深圳、杭州
  • 【中亦安图】Oracle内存过度消耗风险提醒(6)
    前言时间过的真快,技术人生系列·我和数据中心的故事已经来到了第六期,小y又和大家见面了!小y今天要和大家分享的是一个综合型问题的的分析和解决过程。解决该类问题,只懂数据库是不够的,还需要掌握比较扎实的操作系统技能。同时引出了另外一种不太常见形式的优化,内存优化。由于今天要分享的问题具有普遍性,建议大家可以按照文中方法检查自己的系统中有无类似问题。分享的最后将对该共性的风险进行总结和提示。如果觉得分享的案例还不错,麻烦亲们抬手转发一下,希望可以提醒和帮助到更多的客户。更多Oracle数据库实战经验分享和风险提醒的首发,尽在“中亦安图”公众号!欢迎关注。另外,近期有不少朋友问,小y所在团队是否可以做一些线下的分享?确实,如果可以把大家组织起来,哪怕是一个会议室或者一个咖啡厅,除了面对面的技术分享,还可以聊聊人生,兴致来了还可以一起烧烤啤酒,结识更多的朋友,也是人生幸事!既然大家有兴趣,那我们就开始第一期线下分享吧!有兴趣参加北京、上海、广州、深圳等地线下分享的朋友,可以给小y发邮件,邮箱是51994106@qq.com,或者加小y的微信(shadow-huang-bj),提供城市、姓名、电话、单位、职位等信息即可,当报名人数超过20人,我们就开始启动北京、上海、广州、深圳、杭州、南京等地的免费线下分享活动。另外,有兴趣的可以加入QQ群227189100,我们以后会定期做一些线上的分享
  • “虚拟内存”和“交换空间”有什么区别?(What's the difference between “virtual memory” and “swap space”?)
    问题 任何人都可以让我清楚虚拟内存和交换空间之间有什么区别吗? 为什么我们说对于 32 位机器,可访问的最大虚拟内存仅为 4 GB? 回答1 关于超级用户的虚拟内存有一个很好的解释。 简单地说,虚拟内存是运行进程可以使用的 RAM 和磁盘空间的组合。 交换空间是硬盘上的虚拟内存部分,当 RAM 已满时使用。 至于为什么 32 位 CPU 被限制为 4gb 虚拟内存,它在这里得到了很好的解决: 根据定义,32 位处理器使用 32 位来表示每个内存字节的位置。 2^32 = 42 亿,这意味着 32 位长的内存地址只能引用 42 亿个唯一位置(即 4 GB)。 回答2 关于虚拟内存这个术语有一些混淆,它实际上指的是以下两个非常不同的概念 使用磁盘页面来扩展计算机物理内存的概念量 - 正确的术语实际上是分页各种 OS/CPU 使用的一种抽象,用于创建每个进程在单独的连续地址空间中运行的错觉。 交换空间 OTOH 是磁盘部分的名称,用于在不使用时存储额外的 RAM 页面。 一个重要的认识是,由于后者的硬件和操作系统支持,前者是透明的。 为了更好地理解这一切,您应该考虑 CPU 和操作系统如何支持“虚拟内存”(如定义 2 中所示)。 假设您有一个 32 位指针(64 位指针类似,但使用的机制略有不同)。 一旦启用了“虚拟内存”,处理器就会将此指针视为由三部分组成。 最高 10
  • LoadRunner性能测试指标分析
    Memory:·Available Mbytes简述:可用物理内存数.如果Available Mbytes的值很小(4 MB或更小),则说明计算机上总的内存可能不足,或某程序没有释放内存。参考值:4 MB或更小,至少要有10%的物理内存值 ·Page/sec (Input/Out)简述:为了解析硬页错误,从磁盘取出或写入的页数。一般如果Page/sec持续高于几百,那么您应该进一步研究页交换活动。有可能需要增加内存,以减少换页的需求(你可以把这个数字乘以4k就得到由此引起的硬盘数据流量)。Pages/sec的值很大不一定表明内存有问题,而可能是运行使用内存映射文件的程序所致。参考值: ·Page Fault简述:处理器每秒处理的错误页(包括软/硬错误)。当处理器向内存指定的位置请求一页(可能是数据或代码)出现错误时,这就构成一个Page Fault。如果该页在内存的其他位置,该错误被称为软错误(用Transition Fault/sec记数器衡量);如果该页必须从硬盘上重新读取时,被称为硬错误。许多处理器可以在有大量软错误的情况下继续操作。但是,硬错误可以导致明显的拖延。参考值: ·Page Input/sec简述:为了解决硬错误页,从磁盘上读取的页数。参考值: ·Page reads/sec简述:为了解决硬错误页,从磁盘上读取的次数。解析对内存的引用,必须读取页文件的次数。阈值为
  • 【王道笔记-操作系统】第三章 内存管理
    文章目录 一、程序运行的基本原理二、连续分配1.连续分配方式2.动态分区分配算法 三、非连续分配1.分页存储管理方式(页表在主存中)2.分段存储管理方式(段表在主存中)2.分页存储与分段存储的对比4.段页式存储管理方式 四、虚拟页式存储管理1.虚拟存储器的定义和特征2.缺页中断机构3.快表TLB(Cache中)4.请求分页管理方式5.页面置换算法6.工作集/驻留集7.页面分配策略8.抖动 附:王道课后选择题笔记 一、程序运行的基本原理 二、连续分配   连续分配即为一个用户程序分配一个连续的内存空间。 1.连续分配方式 2.动态分区分配算法 三、非连续分配   由于需要额外的空间去存储分散区域的索引,使得非连续分配方式的存储密度低于连续存储方式的。 1.分页存储管理方式(页表在主存中)   这种方式以块/页框为存储单位,相对较小,大小固定。进程只会在为最后一个不完整的块申请一个主存块空间时,才产生主存碎片,所以尽管会产生内部碎片,但这种碎片相对于进程来说也是很小的,每个进程平均只产生半个块大小的内部碎片(也称页内碎片)。 地址转换:   先将页号P与页表长度M比较。   ①若越界,即 P≥M,则表示地址越界并中断。   ② 若未越界,则将页表始址与页号和页表项长度的乘积相加,便得到该表项在页表中的位置,从中得到该页的物理块号,将之装入物理地址寄存器中。  
  • 小白也能看懂的操作系统之内存
    前言操作系统是一门比较难啃的课程,同时操作系统知识对开发者们来说是十分重要,相信各位在学操作系统的时候,有太多的抽象难以理解的词汇与概念,把我们直接劝退,即使怀着满腔热血的心情学操作系统,不到 3 分钟睡意就突然袭来。所以本人想把自己的想法通过图解+大白话的形式,产出操作系统系列文章,让小白也能看懂,帮助大家快速科普入门本篇开始介绍内存,内存在操作系统中还是比较重要的,理解了它,对整个操作系统的工作会有一个初步的轮廓。内容大纲正文什么是内存小故事我们想去摆地摊(准备运行程序进程)需要经过那几 个步骤,这里猜测一下。首先要去城管申请摊位(申请内存),城管(操作系统)根据现在剩余的地毯空间与你地毯的规模划分一块相应大小的摊位(内存)给你,接着你就可以愉快的摆摊(运行程序进程)赚钱啦。城管也会时不时的来检查(整理内存空间碎片),摊位是否规整,有没有阻碍正常的人行道。简而言之,电脑上的程序(进程)运行是需要使用到对应大小的物理内存。虚拟内存实际上运行的进程并不是直接使用物理内存地址,而是把进程使用的内存地址与实际的物理内存地址做隔离,即操作系统会为每个进程分配独立的一套「虚拟地址」。每个进程玩自己的地址,互不干涉,至于虚拟地址怎么映射到物理地址,对进程来说是透明的,操作系统已经把这些安排的明明白白了。操作系统会提供一种机制,将不同进程的虚拟地址和不同内存的物理地址映射起来
  • 操作系统(三)内存管理
    文章目录 基本概念存储器的层次结构程序的链接和装入编译链接装入 内存保护覆盖与对换 内存空间分配策略连续分配方式单一连续分配固定分区分配动态分区分配(可变分区分配)分区分配算法 非连续(离散)分配方式基本分页存储管理方式快表多级页表 基本分段存储管理方式分页与分段比较段页式存储管理方式 虚拟内存管理一些基本概念请求分页存储管理方式硬件支持页面置换算法内存分配策略调页策略 基本概念 为什么要进行内存管理? 在单道批处理系统阶段,比如DOS系统,一个系统在一个时间段内只执行一个程序,整个内存都是一个程序,随便它怎么用。 引入多道程序的并发执行后,进程之间共享的不仅仅是处理机,还有主存储器。若不对内存进行管理,则容易导致内存数据的混乱,以至于限制进程的并发执行。因此,为了更好地支持多道程序并发执行,必须进行内存管理。 存储器的层次结构 多级存储器结构 在存储层次中越往上,存储介质的访问速度越快,价格也越高,相对存储容量也越小,寄存器、高速缓存、主存储器和磁盘缓存均属于操作系统存储管理的管辖范畴,具有掉电易失性。固定磁盘和可移动存储介质属于设备管理的管辖范畴,掉电不易失。 CPU寄存器和主存又被称为可执行存储器,可以被CPU直接访问;对辅存的访问则涉及到中断、设备驱动程序以及物理设备的运行,所需耗费的时间远远高于对可执行存储器访问的时间 三层存储系统层次结构 Cache与主存
  • 操作系统 请求分页管理(续)
    页分配和页置换策略最小物理块数的确定指保证进程正常运行所需的最小物理块数。当系统分配的物理块数少于此值时,进程将无法运行进程应获得的最小物理块数与计算机的硬件结构有关,取决于指令的格式、 功能和寻址方式对于单地址指令且采用直接寻址方式的机器,则所需最少2个物理块。其中,一块存放指令页面,另一块则存放数据页面允许间接寻址的机器,至少要求有3个物理块对于长度是两个或多于两个字节指令的机器,其指令本身可能跨两个页面,且源和目标地址所涉及的区域也可能跨两个页面,至少需要6个物理块物理块的分配策略在请求分页系统中,可采取两种内存分配策略,即固定和可变分配策略。在进行置换时,也可采取两种策略,即全局置换和局部置换。于是- 可组合出以下三种适用的策略固定分配局部置换(Fixed Allocation, Local Replacement) 问题:分配块数难确定,太少,缺页频繁,吞吐量降低;太多,内存驻留进程数减少,CPU或其它资源可能空闲可变分配全局置换(Variable Allocation, Global Replacement) 先分配给各进程一定数的物理块,系统有一空闲物理块队列,缺页时从空闲队列取,若空闲队列空时,在选页调出可变分配局部置换(Variable Allocation, Local Replacemen 先分配给各进程一定数的物理块,缺页时从该进程在内存的页选一换出
  • 计算机考研——操作系统重点总结(中)!建议收藏!
    死锁: 必要条件 互斥:每个资源要么已经分配给了一个进程,要么就是可用的。 占有和等待:已经得到了某个资源的进程可以再请求新的资源。 不可抢占:已经分配给一个进程的资源不能强制性地被抢占,它只能被占有它的进程显式地释放。 环路等待:有两个或者两个以上的进程组成一条环路,该环路中的每个进程都在等待下一个进程所占有的资源。 #处理方法 主要有以下四种方法: 鸵鸟策略 死锁检测与死锁恢复 死锁预防 死锁避免 #鸵鸟策略 把头埋在沙子里,假装根本没发生问题。 因为解决死锁问题的代价很高,因此鸵鸟策略这种不采取任务措施的方案会获得更高的性能。 当发生死锁时不会对用户造成多大影响,或发生死锁的概率很低,可以采用鸵鸟策略。 大多数操作系统,包括 Unix,Linux 和 Windows,处理死锁问题的办法仅仅是忽略它。 #死锁检测与死锁恢复 不试图阻止死锁,而是当检测到死锁发生时,采取措施进行恢复。 #1. 每种类型一个资源的死锁检测 上图为资源分配图,其中方框表示资源,圆圈表示进程。资源指向进程表示该资源已经分配给该进程,进程指向资源表示进程请求获取该资源。 图 a 可以抽取出环,如图 b,它满足了环路等待条件,因此会发生死锁。 每种类型一个资源的死锁检测算法是通过检测有向图是否存在环来实现,从一个节点出发进行深度优先搜索,对访问过的节点进行标记,如果访问了已经标记的节点,就表示有向图存在环
  • 操作系统考研——内存管理
    内存管理 一、内存管理概念1.内存管理的基本原理和要求a.内存管理的功能b.程序的装入和链接c.逻辑地址空间与物理地址空间d.内存保护 2.*覆盖与交换a.覆盖b.交换 3.连续分配管理方式a.单一连续分配b.固定分区分配c.动态分区分配 4.非连续分配管理方式a.基本分页存储管理方式(1)分页存储的基本概念(2)基本地址变换机构(3)具有快表的地址变换机构(4)两级页表 b.基本分段存储管理方式(1)管理目的(2)分段及段表(3)地址变换机构(4)段的共享和保护(5)分段与分页的优缺点(6)分段与分页的区别 c.段页式管理方式(1)提出目的(2)管理思想 二、虚拟内存管理1.虚拟内存的概念a.传统存储管理理方式的特征b.局部性原理c.虚拟存储器的定义和特征d.虚拟内存技术的实现 2.请求分页管理方式a.页表机制b.缺页中断机构c.地址变换机构 3.页面置换算法a.最佳置换算法(OPT)b.先进先出页面置换算法(FIFO)c.最近最久未使用置换算法(LRU)d.时钟置换算法(CLOCK)e.改进型时钟置换算法 4.页面分配策略a.驻留集大小b.调入页面的时机c.从何处调入页面 5.抖动与工作集a.抖动b.工作集 一、内存管理概念 1.内存管理的基本原理和要求 操作系统对内存的划分和动态分配就是内存管理的概念。 a.内存管理的功能 (1)内存空间的分配与回收
  • 操作系统——虚拟内存管理
    操作系统——虚拟内存管理 传统存储管理方式 传统管理方式特征 传统存储管理方式具有一次性和驻留性的特点,一次性指的是作业必须一次性装入内存后才可以开始运行,驻留性指的是作业被装入内存后,就一直驻留在内存中,其任何一部分都不会被换出,直至作业运行结束问题 程序通常具有异常错误条件的代码,而这些错误很少发生,所以这些代码几乎从不执行数组、链表等所分配的内存量通常多于实际需要值程序的某些选项和功能很少使用当作业很大而不能全部被装入内存时,该作业无法运行大量作业要求运行时,由于内存不足以容纳所有作业,只能使少数作业先运行,导致多道程序度下降 局部性原理 局部性原理从广义角度上讲属于高速缓存技术,而高速缓存技术依赖于局部性原理,局部性原理主要表现在时间局部性和空间局部性 时间局部性 程序中某条执行一旦执行,不久后可能再次执行,某数据一般被访问,不久后可能还会被访问,产生局部性的典型原因是程序中存在大量的循环空间局部性 一旦程序访问了某个存储单元,不久后其附近的存储单元也将被访问,主要原因是指令通常是顺序存放和顺序执行的,数据也一般是以向量、数组、表等形式簇聚形式存储的。 虚拟内存技术 虚拟内存 虚拟内存技术允许执行进程不必完全处于内存中,虚拟内存将内存抽象成一个巨大的、统一的存储数组,实现了逻辑内存和物理内存的分离,让用户看到的比实际内存大得多的内存空间优点
  • 计算机考研——操作系统【内存管理】
    内存管理命题重点 【命题重点】 1.程序装入的过程与原理,编译与链接,逻辑地址与物理地址。 2.连续分配方式的原理与特点,动态分区分配算法的原理。 3.分页存储管理的页表机制,分段存储管理的段表机制,分页与分段的比较 4.虚拟存储器的原理、特征,缺页中断的处理过程和特点,虚拟地址和物理地址的变换,引入快表后的页氏虚拟存储器的地址变换过程,各种页面置换算法的原理,页面分配策略,工作集的定义,抖动产生的原因和解决方法。 内存管理的概念 【考点笔记1】程序运行的基本原理 将用户源程序变为可在内存中执行的程序,通常需要以下几个步骤: 编译,由编译程序将用户源代码编译成若干个目标模块,每个模块具有各自的逻辑地址空间。链接,由链接程序将上述目标模块,以及所需库函数链接,形成具有完整的逻辑地址空间的装入模块。装入,由装入程序将装入模块装入内存。 连续分配管理方式 【考点笔记2】连续分配方式 先了解两个概念: 内部碎片: 是指已分配给作业,但不能被利用的存储空间。 eg. 某个作业所占用的内存区域,如果没有装满,就是内部碎片 外部碎片: 系统中还没有分配给作业,但由于碎片太小而无法分配给申请内存空间的新进程的存储块。 eg.作业与作业之间,如果有内存区域没有分配给某个作业,但又不能分配给任何作业,就是外部碎片 分配方式单一连续分配固定分区分配动态分区分配说明分为系统区和用户区
  • 新手操作更换固态和重装系统竟然这么麻烦?!
    新手操作更换固态和重装系统竟然这么麻烦?! 当我打开我的本子(已经用了三年)的任务管理器的时候,我看到了我的cpu占用20%,内存占用80%而且C盘将满,一个无法恶制的念头涌上心头:我!要!换!电!脑!当然这是不可能的,因为我很穷,没那么多钱。换一个电脑怎么也得3k-4k吧。en…大概。 有幸的是我最近在读一本书《世界是数字的》,名字很大,但作者其实是想做一本计算机知识的普世教育,直接的讲,这本书是写给小白的。 恰好,我就是。 冯·诺伊曼结构 大概每一个关于计算机的第一堂课都会谈起冯诺伊曼结构吧,它有五部分组成控制器和运算器组成CPU,储存器就是常说的硬盘,输入输出设备则是键盘、鼠标、显示屏之类的东西。 我的电脑已经用了三年了,之前说过,我是一个小白,所以我的电脑装软件之类的从来没有“操心”过,都是默认,所以C盘各种东西,偏偏我还不敢删,很怕删到系统软件,突然死机。获许,从很早开始,我就想重装一下系统清理一下C盘了,只是因为不懂,所以没做。 再看《世界是数字的》这本书的时候,里面有讲内存、CPU、硬盘之间的运算关系以及速度快慢。硬盘是计算机提取速度最慢的环节,木桶效应决定了一个木桶成多少水,既然下定决心改一下硬件配置,所以我就直接决定要买一个固态硬盘,它可以大幅度提升电脑的性能。 CPU是电脑运算最快的芯片,内存与其相比不是一个量级,所以内存一般是不用换的
  • 怎样更好理解计算机高级语言中的宏定义
    宏定义该如何理解? 1.不带参数的宏定义:2.带参数的宏: 1.不带参数的宏定义: 宏定义又称为宏代换、宏替换,简称“宏”。 格式: #define 标识符 字符串 其中的标识符就是所谓的符号常量,也称为“宏名”。 预处理(预编译)工作也叫做宏展开:将宏名替换为字符串。 掌握"宏"概念的关键是“换”。一切以换为前提、做任何事情之前先要换,准确理解之前就要“换”。 即在对相关命令或语句的含义和功能作具体分析之前就要换: 例: #define PI 3.1415926 把程序中出现的PI全部换成3.1415926 说明: (1)宏名一般用大写 (2)使用宏可提高程序的通用性和易读性,减少不一致性,减少输入错误和便于修改。例如:数组大小常用宏定义 (3)预处理是在编译之前的处理,而编译工作的任务之一就是语法检查,预处理不做语法检查。 (4)宏定义末尾不加分号; (5)宏定义写在函数的花括号外边,作用域为其后的程序,通常在文件的最开头。 (6)可以用#undef命令终止宏定义的作用域 (7)宏定义可以嵌套 (8)字符串" "中永远不包含宏 (9)宏定义不分配内存,变量定义分配内存。 2.带参数的宏: 除了一般的字符串替换,还要做参数代换 格式: #define 宏名(参数表) 字符串 例如:#define S(a,b) ab area=S(3,2);第一步被换为area=ab;
  • 操作系统内存管理学习总结
    内存管理的基本原理和要求 内存管理的功能有: 内存空间的分配与回收地址转换内存空间的扩充 (利用虚拟存储技术)存储保护 程序的装入和链接 创建进程需要将程序和数据装入内存。把用户的源程序变为可执行程序。需要进行编译、链接、装入几步。 程序的链接方式 静态链接:在程序运行之前将各个模块以及他们所需要的库函数链接成一个可执行的完整程序,不再分开。装入时动态链接:在装入内存时,边装入边链接。运行时动态链接:对于某些目标模块,是在程序执行中需要该目标模块时才进行链接。这种方式便于修改和更新,便于实现对目标模块的共享。 程序的装入方式 绝对装入:在编译时,知道程序将驻留在内存某个位置,则编译程序将产生绝对地址的目标代码。绝对装入方式只适用于单道程序环境。可重定位装入: 连续分配管理方式 连续分配是为用户分配一个连续的内存空间。连续分配方式主要有单一连续分配、固定分区分配和动态分区分配。 单一连续分配 内存在此方式下分为系统区和用户区,系统区仅供操作系统使用,通常在低地址部分。用户区是除系统区以外的内存空间。这种方式不需要进行内存保护,因为内存中只会有一道程序,不会因为访问越界而干扰其他程序。 这种方式的优点是简单,没有外部碎片,可以采用覆盖技术,不需要额外的技术支持。缺点是只能用于单用户、单任务的操作系统中,有内部碎片,存储器利用率极低。 固定分区分配
  • [操作系统]内存管理
    [操作系统]内存管理 文章目录 [操作系统]内存管理1.虚拟内存2.分页系统地址映射3.页面置换算法3.1最佳置换算法OPT(Optimal Replacement Algorithm)3.2最近最久未使用LRU(Least Recently Used)3.3最近未使用NRU(Not Recently Used)3.4先进先出FIFO(First In First Out)3.5第二次机会算法3.6时钟Clock 4.分段5.段页式6.分页与分段的比较 1.虚拟内存 虚拟内存的目的是为了让物理内存扩充成更大的逻辑内存,从而让程序获得更多的可用内存。 为了更好的管理内存,操作系统将内存抽象成地址空间。每个程序拥有自己的地址空间,这个地址空间被分割成多个块,每一块称为一页。这些页被映射到物理内存,但不需要映射到连续的物理内存,也不需要所有页都必须在物理内存中。当程序引用到不在物理内存中的页时,由硬件执行必要的映射,将缺失的部分装入物理内存并重新执行失败的指令。 从上面的描述中可以看出,虚拟内存允许程序不用将地址空间中的每一页都映射到物理内存,也就是说一个程序不需要全部调入内存就可以运行,这使得有限的内存运行大程序称为可能。例如有一台计算机可以产生16位地址,那么一个程序的地址空间范围是0~64K。该计算机只有32KB的物理内存,虚拟内存技术允许该计算机运行一个64K大小的程序。 2
  • Linux 缓存与页交换
    引言 本文整理了 Linux 内核中缓存与页交换的相关知识。 缓存与页交换 从外部存储设备读取数据,比从物理设备读取数据要慢得多,因此 Linux 使用了缓存机制将已经读取的数据保存在内存中,供后续访问使用。而外部存储设备相较于内存来说容量一般大很多,所以当物理内存不够时,会将一部分物理内存中的内容暂存在外部存储中,在有需要的时候再取回来。这两个主题就是缓存与页交换,它们之间十分相似,又有很多联系,可以说缓存是页交换的逆操作,接下来我们就将详细地介绍一下它们。 页缓存和块缓存 缓存利用部分系统物理内存,确保最重要、最常使用的块设备数据在操作时可直接从主内存获取,而无须从低速设备读取。物理内存还用于存储从块设备读取的数据,使得随后对该数据的访问可直接在物理内存进行,而无须从外部设备内取用。 当然,这项工作是透明的,应用程序不会也不能注意到数据来源方面的差别。数据并非在每次修改后都立即写回,而是在一定的时间间隔之后才进行回写,时间间隔的长度取决于多种因素,如空闲物理内存的容量、物理内存中数据的利用率,等等。在进行回写时,单个的写请求会被收集起来,并打包进行,这在总体上花费的时间较少,因而,延迟写操作在总体上改进了系统性能,这就是我们前面介绍块设备时提到的 IO 调度。 但是,缓存也有负面效应,我们必须审慎地使用它: 通常,物理内存的容量比块设备小得多,因而只能缓存仔细挑选的部分数据
  • 北航操作系统课程-20200319课堂小测-存储管理之虚拟内存管理
    2020-03-19-课堂小测-虚拟内存管理之页面置换 北京航空航天大学计算机学院-2020春操作系统课程 以下题目作者为北航计算机学院操作系统课程组,客观题答案由课程组给出,解析及主观题答案均为博主原创,水平有限,如有错误敬请批评指正。 1 从物理地址0x952008处读出的数据是0x234567(按字读取,一个字32位),系统采用大尾端存储数据,若按字节读取,则从该位置读出的数据应是:(填空) 答:0 按字读取一次读出32位数据,0x234567扩展为32位实质是0x00_23_45_67。若按字节读取一次读出8位数据,同样的地址读出的数据就是这32位数据之中的8位,而这8位是头部还是尾部就取决于系统的存储方式,大端存储将先读头部的数据,即0x00(小端存储将先读尾部的数据,即0x67) 2 从降低缺页次数的效果来看,关于页面替换算法说法正确的是:(单选) A. 第二次机会算法和时钟算法的效果一样 B. LRU一定比FIFO好 C. 时钟算法一定比FIFO好 D. 第二次机会算法一定比LRU差 答:A 在所有页面置换算法中,最优置换OPT是理论上使得缺页次数最少的算法,但由于需要预测页面使用情况而无法实际实现,仅作为理论比较。其他常见算法中,不管是哪种算法,都可以举出特例来使之在某一特定情况下降低缺页次数性能最优,因此没有哪种算法一定优于或差于另一种算法,B、C、D都错误
  • 服务复杂且集群规模扩大后,阿里妈妈怎样提升部署和构建效率?
    本文源自3月2日『高效开发运维』微信群的在线分享《阿里妈妈在线投放系统构建之路》,分享者为阿里巴巴杨兵兵先生,转载请在文章开头注明来自『高效开发运维』公众号。加群学习请关注『高效开发运维』公众号,并点击菜单中的“加群学习”或直接回复“加群”。阿里妈妈是阿里集团下的广告业务BU,广告在线投放系统是广告业务中的最前端,是业务变化的必经之地,绝大部分的业务变更都会导致投放系统的变更。因此,投放系统的迭代效率直接影响了广告业务的迭代效率。系统构建是整个交付体系中的基础,业务的变更、新业务的接入、业务计算规模的扩张效率都依赖着强大的系统构建能力。本文介绍阿里妈妈在线投放系统的构建演进过程,讲解基础技术架构的变革如何给业务带来迭代效率的提升。 业务系统演进 最开始业务系统是一两个子服务组成投放引擎,几十台机器支撑业务流量。这时,原始的系统构建方式即可满足业务的需要,开发写个部署手册,运维根据手册构建系统(升级系统),一个人可以搞定了,上线也就分分钟的事。 后来变成了这样子服务数量扩展到四五个,机器规模扩展到百台,集群规模扩充到两个。这个阶段下,运维人员发现不好搞了,我需要了解好多手册,分批处理好多机器,弄不好就错了,一个上线几个小时都是有可能事。大家就在想怎么让构建过程能够自动化起来,随之演变的就是工具脚本时代,处理变更的过程用工具进行过程串联,点几个按钮等待做完就行了。