操作系统面试题目详解:进程、线程和内存管理

版权申诉
0 下载量 151 浏览量 更新于2024-07-02 收藏 212KB DOC 举报
操作系统面试题目 本文档主要讲解了操作系统的相关知识点,包括进程和线程的概念、Windows下的内存管理机制、Windows消息调度机制等。 **进程和线程** 进程(Process)是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。线程(Thread)是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈),但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行。 **Windows下的内存管理** Windows提供了3种方法来进行内存管理:虚拟内存,最适合用来管理大型对象或者结构数组;内存映射文件,最适合用来管理大型数据流(通常来自文件)以及在单个计算机上运行多个进程之间共享数据;内存堆栈,最适合用来管理大量的小对象。Windows操纵内存可以分两个层面:物理内存和虚拟内存。 物理内存由系统管理,不允许应用程序直接访问,应用程序可见的只有一个2G地址空间,而内存分配是通过堆进行的。对于每个进程都有自己的默认堆,当一个堆创建后,就通过虚拟内存操作保留了相应大小的地址块(不占有实际的内存,系统消耗很小)。当在堆上分配一块内存时,系统在堆的地址表里找到一个空闲块(如果找不到,且堆创建属性是可扩充的,则扩充堆大小),为这个空闲块所包含的所有内存页提交物理对象(在物理内存上或硬盘的交换文件上),这时就可以访问这部分地址。 **Windows消息调度机制** Windows消息调度机制是消息队列(Message Queue),处理消息队列的顺序。首先,系统将消息添加到消息队列中,然后处理消息队列中的消息。 本文档涵盖了操作系统的基本概念和Windows下的内存管理机制、消息调度机制等知识点,对于理解操作系统的工作原理和机制非常重要。