操作系统面试复习

上传人:子 文档编号:43470350 上传时间:2018-06-06 格式:DOC 页数:11 大小:20.81KB
返回 下载 相关 举报
操作系统面试复习_第1页
第1页 / 共11页
操作系统面试复习_第2页
第2页 / 共11页
操作系统面试复习_第3页
第3页 / 共11页
操作系统面试复习_第4页
第4页 / 共11页
操作系统面试复习_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《操作系统面试复习》由会员分享,可在线阅读,更多相关《操作系统面试复习(11页珍藏版)》请在金锄头文库上搜索。

1、操作系统面试复习操作系统面试复习操作系统是一种管理计算机硬件的程序,为应用程序提供了基本的运行条件,在计算机用户和计算机硬件之间扮演着中介的角色。操作系统的一个让人感到惊奇的方面就是它们所表现出来的丰富的多样性。大型计算机操作系统的首要设计目标是优化对硬件的使用。个人计算机(PC)操作系统则提供了对复杂的游戏、商业应用,以及对介于二者之间的所有应用软件的支持。手持计算机操作系统则向用户提供了一个运行计算机程序的便利的环境。这样,有些操作系统追求易用性,有些追求效率,还有些则是两者的折衷。 实时系统分为两种:硬实时系统和软实时系统。硬实时系统要保证按时完成关键性的任务。为此,需要限制系统中所有的

2、延迟,从数据检索到操作系统结束请求模式的时间需求。这样的时间约束限定了硬实时系统的功能。辅助存储器通常十分有限或者没有使用,数据存储在短期存储器或只读存储器(ROM)中。ROM 是一种非易失性的存储设备,即使在掉电情况下它也可以保存数据;大多数其它类型的存储器是易失性的。大多数的高级操作系统特性往往将用户和硬件分离,这样就会造成许多不确定的时间需求,因此它们也不会出现在硬实时系统中。例如,在实时系统中几乎见不到虚拟内存技术(第十章) 。因此硬实时系统与分时系统是相互冲突的,并且二者不能混为一体。由于现有的操作系统都没有提供对硬实时的支持,所以在本书中我们就没有涉及此方面内容。 1、什么是进程(

3、Process)和线程(Thread)?有何区别?进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。线程是进程的一个实体,是 CPU 调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈) ,但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线程,同一个进程中的多个线程之间可以并发执行。进程与应用程序的区别在于应用程序作为一个静态文件存储在计算机系统的硬盘等存储空间中,而进程则是处于动态条件下由操作系统

4、维护的系统资源管理实体。2、Windows 下的内存是如何管理的?Windows 提供了 3 种方法来进行内存管理:虚拟内存,最适合用来管理大型对象或者结构数组;内存映射文件,最适合用来管理大型数据流(通常来自文件)以及在单个计算机上运行多个进程之间共享数据;内存堆栈,最适合用来管理大量的小对象。Windows 操纵内存可以分两个层面:物理内存和虚拟内存。其中物理内存由系统管理,不允许应用程序直接访问,应用程序可见的只有一个 2G 地址空间,而内存分配是通过堆进行的。对于每个进程都有自己的默认堆,当一个堆创建后,就通过虚拟内存操作保留了相应大小的地址块(不占有实际的内存,系统消耗很小) 。当在

5、堆上分配一块内存时,系统在堆的地址表里找到一个空闲块(如果找不到,且堆创建属性是可扩充的,则扩充堆大小) ,为这个空闲块所包含的所有内存页提交物理对象(在物理内存上或硬盘的交换文件上) ,这时就可以访问这部分地址。提交时,系统将对所有进程的内存统一调配,如果物理内存不够,系统试图把一部分进程暂时不访问的页放入交换文件,以腾出部分物理内存。释放内存时,只在堆中将所在的页解除提交(相应的物理对象被解除) ,继续保留地址空间。如果要知道某个地址是否被占用/可不可以访问,只要查询此地址的虚拟内存状态即可。如果是提交,则可以访问。如果仅仅保留,或没保留,则产生一个软件异常。此外,有些内存页可以设置各种属

6、性。如果是只读,向内存写也会产生软件异常。3、Windows 消息调度机制是?A)指令队列;B)指令堆栈;C)消息队列;D)消息堆栈答案:C处理消息队列的顺序。首先 Windows 绝对不是按队列先进先出的次序来处理的,而是有一定优先级的。优先级通过消息队列的状态标志来实现的。首先,最高优先级的是别的线程发过来的消息(通过 sendmessage) ;其次,处理登记消息队列消息;再次处理QS_QUIT 标志,处理虚拟输入队列,处理 wm_paint;最后是wm_timer。4、描述实时系统的基本特性在特定时间内完成特定的任务,实时性与可靠性。所谓“实时操作系统” ,实际上是指操作系统工作时,其

7、各种资源可以根据需要随时进行动态分配。由于各种资源可以进行动态分配,因此,其处理事务的能力较强、速度较快。5、中断和轮询的特点对 I/O 设备的程序轮询的方式,是早期的计算机系统对 I/O 设备的一种管理方式。它定时对各种设备轮流询问一遍有无处理要求。轮流询问之后,有要求的,则加以处理。在处理 I/O 设备的要求之后,处理机返回继续工作。尽管轮询需要时间,但轮询要比 I/O 设备的速度要快得多,所以一般不会发生不能及时处理的问题。当然,再快的处理机,能处理的输入输出设备的数量也是有一定限度的。而且,程序轮询毕竟占据了 CPU 相当一部分处理时间,因此,程序轮询是一种效率较低的方式,在现代计算机

8、系统中已很少应用。程序中断通常简称中断,是指 CPU 在正常运行程序的过程中,由于预先安排或发生了各种随机的内部或外部事件,使 CPU 中断正在运行的程序,而转到为响应的服务程序去处理。轮询效率低,等待时间很长,CPU 利用率不高。中断容易遗漏一些问题,CPU 利用率高。6、什么是临界区?如何解决冲突?每个进程中访问临界资源的那段程序称为临界区,每次只准许一个进程进入临界区,进入后不允许其他进程进入。(1)如果有若干进程要求进入空闲的临界区,一次仅允许一个进程进入;(2)任何时候,处于临界区内的进程不可多于一个。如已有进程进入自己的临界区,则其它所有试图进入临界区的进程必须等待;(3)进入临界

9、区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区;(4)如果进程不能进入自己的临界区,则应让出 CPU,避免进程出现“忙等”现象。7、说说分段和分页页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率;或者说,分页仅仅是由于系统管理的需要,而不是用户的需要。段是信息的逻辑单位,它含有一组其意义相对完整的信息。分段的目的是为了能更好的满足用户的需要。页的大小固定且由系统确定,把逻辑地址划分为页号和页内地址两部分,是由机器硬件实现的,因而一个系统只能有一种大小的页面。段的长度却不固定,决定于用户所编写的程序,通常由编辑程序在对源程序进行编辑时,根据信息的

10、性质来划分。分页的作业地址空间是一维的,即单一的线性空间,程序员只须利用一个记忆符,即可表示一地址。分段的作业地址空间是二维的,程序员在标识一个地址时,既需给出段名,又需给出段内地址。8、说出你所知道的保持进程同步的方法?进程间同步的主要方法有原子操作、信号量机制、自旋锁、管程、会合、分布式系统等。9、Linux 中常用到的命令显示文件目录命令 ls 如 ls改变当前目录命令 cd 如 cd /home建立子目录 mkdir 如 mkdir xiong删除子目录命令 rmdir 如 rmdir /mnt/cdrom删除文件命令 rm 如 rm /ucdos.bat文件复制命令 cp 如 cp

11、/ucdos /fox获取帮助信息命令 man 如 man ls显示文件的内容 less 如 less mwm.lx重定向与管道 type 如 type readmedirect,将文件 readme 的内容追加到文 direct 中10、Linux 文件属性有哪些?(共十位)-rw-r-r-那个是权限符号,总共是- - - -这几个位。第一个短横处是文件类型识别符:-表示普通文件;c 表示字符设备(character) ;b 表示块设备(block) ;d 表示目录(directory) ;l 表示链接文件(link) ;后面第一个三个连续的短横是用户权限位(User) ,第二个三个连续短横

12、是组权限位(Group) ,第三个三个连续短横是其他权限位(Other) 。每个权限位有三个权限,r(读权限) ,w(写权限) ,x(执行权限) 。如果每个权限位都有权限存在,那么满权限的情况就是:-rwxrwxrwx;权限为空的情况就是- - - -。权限的设定可以用 chmod 命令,其格式位:chmod ugoa+/-/=rwx filename/directory。例如:一个文件 aaa 具有完全空的权限- - - -。chmod u+rw aaa(给用户权限位设置读写权限,其权限表示为:- rw- - -)chmod g+r aaa(给组设置权限为可读,其权限表示为:- - r- -

13、)chmod ugo+rw aaa(给用户,组,其它用户或组设置权限为读写,权限表示为:- rw- rw- rw-)如果 aaa 具有满权限- rwx rwx rwx。chmod u-x aaa(去掉用户可执行权限,权限表示为:- rw- rwx rwx)如果要给 aaa 赋予制定权限- rwx r-x r-x,命令为:chmod u=rwx,go=rx aaa11、makefile 文件的作用是什么?一个工程中的源文件不计其数,其按类型、功能、模块分别放在若干个目录中。makefile 定义了一系列的规则来指定哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功

14、能操作。因为 makefile 就像一个 Shell 脚本一样,其中也可以执行操作系统的命令。makefile 带来的好处就是“自动化编译” 。一旦写好,只需要一个 make 命令,整个工程完全自动编译,极大地提高了软件开发的效率。make 是一个命令工具,是一个解释 makefile 中指令的命令工具。一般来说,大多数的 IDE都有这个命令,比如:Delphi 的 make,Visual C+的nmake,Linux 下 GNU 的 make。可见,makefile 都成为了一种在工程方面的编译方法。12、简术 OSI 的物理层 Layer1,链路层 Layer2,网络层Layer3 的任务

15、。网络层:通过路由选择算法,为报文或分组通过通信子网选择最适当的路径。链路层:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。物理层:利用传输介质为数据链路层提供物理连接,实现比特流的透明传输。13、什么是中断?中断时 CPU 做什么工作?中断是指在计算机执行期间,系统内发生任何非寻常的或非预期的急需处理事件,使得 CPU 暂时中断当前正在执行的程序而转去执行相应的事件处理程序。待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。14、你知道操作系统的内容分为几块吗?什么叫做虚拟内存?他和主存的关系如何?内存管理属于操作系统的内容吗?操作系统的主要组成

16、部分:进程和线程的管理,存储管理,设备管理,文件管理。虚拟内存是一些系统页文件,存放在磁盘上,每个系统页文件大小为 4K,物理内存也被分页,每个页大小也为4K,这样虚拟页文件和物理内存页就可以对应,实际上虚拟内存就是用于物理内存的临时存放的磁盘空间。页文件就是内存页,物理内存中每页叫物理页,磁盘上的页文件叫虚拟页,物理页+虚拟页就是系统所有使用的页文件的总和。15、线程是否具有相同的堆栈?dll 是否有独立的堆栈?每个线程有自己的堆栈。dll 是否有独立的堆栈?这个问题不好回答,或者说这个问题本身是否有问题。因为 dll 中的代码是被某些线程所执行,只有线程拥有堆栈。如果 dll 中的代码是 exe 中的线程所调用,那么这个时候是不是说这个 dll 没有独立的堆栈?如果 dll 中的代码是由dll 自己创建的线程所执行,那么是不是说 dll 有独立的堆栈?以上讲的是

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号