参考答案和解析
正确答案:根据帕金森定律:“你给程序再多内存,程序也会想尽办法耗光”,因此程序设计师通常希望系统给他无限量且无限快的内存。大部分的现代电脑内存架构都是阶层式的,最快且数量最少的寄存器为首,然后是高速缓存、内存以及最慢的磁盘储存设备。而OS的内存管理提供寻找可用的记忆空间、配臵与释放记忆空间以及交换内存和低速储存设备的内含物等功能。此类又被称作虚拟内存管理的功能大幅增加每个进程可获得的记忆空间(通常是4GB,即使实际上RAM的数量远少于这数目)。然而这也带来了微幅降低执行效率的缺点,严重时甚至也会导致进程崩溃。内存管理的另一个重点活动就是借由CPU的帮助来管理虚拟位臵。如果同时有许多进程储存于记忆设备上,操作系统必须防止它们互相干扰对方的内存内容(除非通过某些协议在可控制的范围下操作,并限制可存取的内存范围)。分割内存空间可以达成目标。每个进程只会看到整个内存空间(从0到内存空间的最大上限)被配臵给它自己(当然,有些位臵被OS保留而禁止存取)。CPU事先存了几个表以比对虚拟位臵与实际内存位臵,这种方法称为分页(paging)配臵。借由对每个进程产生分开独立的位臵空间,OS也可以轻易地一次释放某进程所占据的所有内存。如果这个进程不释放内存,OS可以退出进程并将内存自动释放。
更多“简单了解内存管理。”相关问题
  • 第1题:

    简单解释Python基于值的内存管理模式。


    正确答案:Python采用的是基于值得内存管理方式,在Python中可以为不同变量赋值为相同值,这个值在内存中只有一份,多个变量指向同一个内存地址;Python具有自动内存管理功能,会自动跟踪内存中所有的值,对于没有任何变量指向的值,Python自动将其删除。

  • 第2题:

    指导式的决策风格经常会被那些喜欢简单明了解决问题的管理者所青睐。()


    参考答案:√

  • 第3题:

    什么是内存泄漏,怎样最简单的方法判断被存泄漏 ?


    正确答案:
     

  • 第4题:

    内存管理的基本任务是多任务共享内存和内存扩容。在下列有关内存管理的基本方式的叙述中,( )是错误的。

    A.分区式内存管理实现起来比较简单,但难以实现内存的共享

    B.在采用分区式内存管理方式管理内存时,常采用覆盖与交换技术来扩充内存

    C.在Windows98的保护模式下,系统采用的是段反式存储管理方式

    D.虚拟存储是覆盖技术的延伸和发展


    正确答案:D

  • 第5题:

    所谓交换技术,就是为了解决内存不足的问题,令作业在内存和()之间交换。


    正确答案:外存

  • 第6题:

    简单解释Python基于值的自动内存管理方式?


    正确答案:Python采用的是基于值得内存管理方式,在Python中可以为不同变量赋值为相同值,这个值在内存中只有一份,多个变量指向同一个内存地址;Python具有自动内存管理功能,会自动跟踪内存中所有的值,对于没有任何变量指向的值,Python自动将其删除。

  • 第7题:

    在内存分配方案中,下列哪一种方法使内存的利用率较高且管理简单?()

    • A、段式分配
    • B、页式分配
    • C、可变分区分配
    • D、固定分区分配

    正确答案:B

  • 第8题:

    教师了解学生最简单最常用的班级管理方式是观察法。


    正确答案:正确

  • 第9题:

    Windows2003中的内存管理包括()

    • A、低端内存
    • B、虚拟内存
    • C、高端内存
    • D、物理内存

    正确答案:B,D

  • 第10题:

    单选题
    ()主要进行内存的分配和管理,负责对内存的分配和回收,内存的保护和内存的扩充
    A

    内存管理

    B

    处理器管理

    C

    存储管理

    D

    作业管理


    正确答案: A
    解析: 暂无解析

  • 第11题:

    问答题
    简单了解内存管理。

    正确答案: 根据帕金森定律:“你给程序再多内存,程序也会想尽办法耗光”,因此程序设计师通常希望系统给他无限量且无限快的内存。大部分的现代电脑内存架构都是阶层式的,最快且数量最少的寄存器为首,然后是高速缓存、内存以及最慢的磁盘储存设备。而OS的内存管理提供寻找可用的记忆空间、配臵与释放记忆空间以及交换内存和低速储存设备的内含物等功能。此类又被称作虚拟内存管理的功能大幅增加每个进程可获得的记忆空间(通常是4GB,即使实际上RAM的数量远少于这数目)。然而这也带来了微幅降低执行效率的缺点,严重时甚至也会导致进程崩溃。内存管理的另一个重点活动就是借由CPU的帮助来管理虚拟位臵。如果同时有许多进程储存于记忆设备上,操作系统必须防止它们互相干扰对方的内存内容(除非通过某些协议在可控制的范围下操作,并限制可存取的内存范围)。分割内存空间可以达成目标。每个进程只会看到整个内存空间(从0到内存空间的最大上限)被配臵给它自己(当然,有些位臵被OS保留而禁止存取)。CPU事先存了几个表以比对虚拟位臵与实际内存位臵,这种方法称为分页(paging)配臵。借由对每个进程产生分开独立的位臵空间,OS也可以轻易地一次释放某进程所占据的所有内存。如果这个进程不释放内存,OS可以退出进程并将内存自动释放。
    解析: 暂无解析

  • 第12题:

    填空题
    所谓交换技术,就是为了解决内存不足的问题,令作业在内存和()之间交换。

    正确答案: 外存
    解析: 暂无解析

  • 第13题:

    关于DOS和Windows的内存管理,下列说法不正确的是

    A.DOS的内存管理非常简单,因为它运行在实模式下,只有640KB的内存可用来编制

    B.Windows通过把应用程序限制在自己的地址空间来避免冲突,这些地址在逻辑上是彼此隔离的

    C.在DOS中,一个程序可能写到其他内存中,甚至写到操作系统的内存中,并导致整个系统崩溃

    D.Windows的内存管理比较复杂,因为它运行在保护模式下。在这种模式下,1MB的寻址内存用完后,可以使用扩展内存


    正确答案:A
    解析:DOS网络操作系统的主要特点:DOS只有1MB的内存可用来编制。其中,又有384KB留给视频RAM、适配器ROM和其他硬件使用,再减去DOS本身占用的部分,只有640KB供应用程序使用。

  • 第14题:

    java 中会存在内存泄漏吗,请简单描述。


    正确答案:

     

    所谓内存泄露就是指一个不再被程序使用的对象或变量一直被占据在内存中。java 中有垃圾

    回收机制,它可以保证一对象不再被引用的时候,即对象编程了孤儿的时候,对象将自动被

    垃圾回收器从内存中清除掉。由于Java 使用有向图的方式进行垃圾回收管理,可以消除引

    用循环的问题,例如有两个对象,相互引用,只要它们和根进程不可达的,那么GC 也是可

    以回收它们的,例如下面的代码可以看到这种情况的内存回收:

    package com.huawei.interview;

    import java.io.IOException;

    public class GarbageTest {

    /**

    * @param args

    * @throws IOException

    */

    public static void main(String[] args) throws IOException {

    // TODO Auto-generated method stub

    try {

    gcTest();

    } catch (IOException e) {

    // TODO Auto-generated catch block

    e.printStackTrace();

    }

    System.out.println("has exited gcTest!");

    System.in.read();

    System.in.read();

    System.out.println("out begin gc!");

    for(int i=0;i<100;i++)

    {

    System.gc();

    System.in.read();

    System.in.read();

    }

    }

    private static void gcTest() throws IOException {

    System.in.read();

    System.in.read();

    Person p1 = new Person();

    System.in.read();

    System.in.read();

    Person p2 = new Person();

    p1.setMate(p2);

    p2.setMate(p1);

    System.out.println("before exit gctest!");

    System.in.read();

    System.in.read();

    System.gc();

    System.out.println("exit gctest!");

    }

    private static class Person

    {

    byte[] data = new byte[20000000];

    Person mate = null;

    public void setMate(Person other)

    {

    mate = other;

    }

    }

    }

    java 中的内存泄露的情况:长生命周期的对象持有短生命周期对象的引用就很可能发生内存

    泄露,尽管短生命周期对象已经不再需要,但是因为长生命周期对象持有它的引用而导致不

    能被回收,这就是java 中内存泄露的发生场景,通俗地说,就是程序员可能创建了一个对

    象,以后一直不再使用这个对象,这个对象却一直被引用,即这个对象无用但是却无法被垃

    圾回收器回收的,这就是java 中可能出现内存泄露的情况,例如,缓存系统,我们加载了

    一个对象放在缓存中(例如放在一个全局map 对象中),然后一直不再使用它,这个对象一直

    被缓存引用,但却不再被使用。

    检查java 中的内存泄露,一定要让程序将各种分支情况都完整执行到程序结束,然后看某

    个对象是否被使用过,如果没有,则才能判定这个对象属于内存泄露。

    下面内容来自于网上(主要特点就是清空堆栈中的某个元素,并不是彻底把它从数组中拿掉,

    而是把存储的总数减少,本人写得可以比这个好,在拿掉某个元素时,顺便也让它从数组中

    消失,将那个元素所在的位置的值设置为null 即可):

    我实在想不到比那个堆栈更经典的例子了,以致于我还要引用别人的例子,下面

    的例子不是我想到的,是书上看到的,当然如果没有在书上看到,可能过一段时

    间我自己也想的到,可是那时我说是我自己想到的也没有人相信的。

    public class Stack {

    private Object[] elements=new Object[10];

    private int size = 0;

    public void push(Object e){

    ensureCapacity();

    elements[size++] = e;

    }

    public Object pop(){

    if( size == 0)

    throw new EmptyStackException();

    return elements[--size];

    }

    private void ensureCapacity(){

    if(elements.length == size){

    Object[] ldElements = elements;

    elements = new Object[2 * elements.length+1];

    System.arraycopy(oldElements,0, elements, 0, size);

    }

    }

    }

    上面的原理应该很简单,假如堆栈加了10 个元素,然后全部弹出来,虽然

    堆栈是空的,没有我们要的东西,但是这是个对象是无法回收的,这个才符合了

    内存泄露的两个条件:无用,无法回收。

    但是就是存在这样的东西也不一定会导致什么样的后果,如果这个堆栈用的

    比较少,也就浪费了几个K 内存而已,反正我们的内存都上G 了,哪里会有什么

    影响,再说这个东西很快就会被回收的,有什么关系。下面看两个例子。

    例子1

    public class Bad{

    public static Stack s=Stack();

    static{

    s.push(new Object());

    s.pop(); //这里有一个对象发生内存泄露

    s.push(new Object()); //上面的对象可以被回收了,等于是自愈了

    }

    }

    因为是static,就一直存在到程序退出,但是我们也可以看到它有自愈功

    能,就是说如果你的Stack 最多有100 个对象,那么最多也就只有100 个对象无

    法被回收其实这个应该很容易理解,Stack 内部持有100 个引用,最坏的情况就

    是他们都是无用的,因为我们一旦放新的进取,以前的引用自然消失!

  • 第15题:

    为了解决高速CPU与内存之间的速度匹配问题,在CPU与内存之间增加了(2)。

    A.ROM

    B.RAM

    C.FLASHROM

    D.Cache


    正确答案:D
    解析:随着CPU速度的提高,CPU与内存之速度差距越来越大,为了提高CPU的读写速度,提高系统工作速度,在内存和CPU之间增加了高速缓存(cache)。由于cache的内容是部分内存单元的副本,所以增加cache并不增加内存容量。

  • 第16题:

    Windows2003中的内存管理包括()

    A.低端内存

    B.虚拟内存

    C.高端内存

    D.物理内存


    参考答案:B, D

  • 第17题:

    简单了解内存管理。


    正确答案:根据帕金森定律:“你给程序再多内存,程序也会想尽办法耗光”,因此程序设计师通常希望系统给他无限量且无限快的内存。大部分的现代电脑内存架构都是阶层式的,最快且数量最少的寄存器为首,然后是高速缓存、内存以及最慢的磁盘储存设备。而OS的内存管理提供寻找可用的记忆空间、配臵与释放记忆空间以及交换内存和低速储存设备的内含物等功能。此类又被称作虚拟内存管理的功能大幅增加每个进程可获得的记忆空间(通常是4GB,即使实际上RAM的数量远少于这数目)。然而这也带来了微幅降低执行效率的缺点,严重时甚至也会导致进程崩溃。内存管理的另一个重点活动就是借由CPU的帮助来管理虚拟位臵。如果同时有许多进程储存于记忆设备上,操作系统必须防止它们互相干扰对方的内存内容(除非通过某些协议在可控制的范围下操作,并限制可存取的内存范围)。分割内存空间可以达成目标。每个进程只会看到整个内存空间(从0到内存空间的最大上限)被配臵给它自己(当然,有些位臵被OS保留而禁止存取)。CPU事先存了几个表以比对虚拟位臵与实际内存位臵,这种方法称为分页(paging)配臵。借由对每个进程产生分开独立的位臵空间,OS也可以轻易地一次释放某进程所占据的所有内存。如果这个进程不释放内存,OS可以退出进程并将内存自动释放。

  • 第18题:

    一般的操作系统均支持多种协议,但加载的协议越多,()。

    • A、网络的配置和管理越简单
    • B、网络的配置和管理越复杂
    • C、网络工作站的内存需求和维护费用也随着减少
    • D、网络工作站的内存需求和维护费用也随着增加

    正确答案:B,D

  • 第19题:

    简单了解通道工作过程。


    正确答案:通道中包括通道控制器、状态寄存器、中断机构、通道地址寄存器、通道指令寄存器等。这里,通道地址寄存器相当于一般CPU中的程序计数器。通道控制器的功能比较简单,它不含大容量的存储器,通道的指令系统也只是几条与输入输出操作有关的命令。它要在CFU的控制下工作,某些功能还需CPU承担,如通道程序的设臵、输入输出的异常处理、传送数据的格式转换和校验等。因此,通道不是一个完全独立的处理器。通道状态字类似于CPU内部的程序状态字,用于记录输入输出操作结束的原因,以及输入输出操作结束时通道和设备的状态。通道状态字通常存放在内存的固定单元中,由通道状态字反映中断的性质和原因。CPU在进行一个输入输出操作之前,首先准备好通道程序,然后安排好数据缓冲区,再给通道和设备发启动命令。CPU准备好的通道程序存放在内存中,由通道控制器读取并执行。通道接到启动信号后,首先到指定的内存单元中取通道地址字,放在通道地址寄存器(CAW,是channel address word 的缩写)中。这个存放通道地址字的内存单元的地址可以是固定的,然后根据通道地址寄存器中的值到内存中去取第一条通道指令,并放在通道指令寄存器中。通道程序执行时通过在通道指令寄存器中的相应位进行设臵来告诉通道指令执行机构在执行完成当前指令后,自动转入下一条指令或者结束数据传送过程。通道程序的最后一条指令是一条结束指令,通道在执行到这条结束指令时就不再取下一条指令,而是通知设备结束操作。在通道程序执行完毕后,由通道向CPU发中断信号,并将通道状态字写入内存专用单元,CPU根据通道状态字(CSW,是channel status word的缩写)分析这次输入输出操作的执行情况。通道与设备控制器之间的接口是计算机的一个重要界面。为了便于用户根据不同需要配臵不同设备,通道—设备控制器的接口一般采用总线式标准接口,使得各设备和通道之间都有相同的接口线和相同的工作方式。这样,在更换设备时,通道不需要作任何变动。

  • 第20题:

    ()主要进行内存的分配和管理,负责对内存的分配和回收,内存的保护和内存的扩充

    • A、内存管理
    • B、处理器管理
    • C、存储管理
    • D、作业管理

    正确答案:C

  • 第21题:

    多选题
    Windows2003中的内存管理包括()
    A

    低端内存

    B

    虚拟内存

    C

    高端内存

    D

    物理内存


    正确答案: B,C
    解析: 暂无解析

  • 第22题:

    判断题
    教师了解学生最简单最常用的班级管理方式是观察法。
    A

    B


    正确答案:
    解析: 暂无解析

  • 第23题:

    问答题
    简单解释Python基于值的自动内存管理方式?

    正确答案: Python采用的是基于值得内存管理方式,在Python中可以为不同变量赋值为相同值,这个值在内存中只有一份,多个变量指向同一个内存地址;Python具有自动内存管理功能,会自动跟踪内存中所有的值,对于没有任何变量指向的值,Python自动将其删除。
    解析: 暂无解析

  • 第24题:

    (难度:中等)JVM垃圾回收算法中的标记-清除算法的优点是按顺序分配内存即可,实现简单、运行高效,不用考虑内存碎片

    答案:(no)