操作系统面试

1、使用多进程与多线程有什么区别?

用多进程时,每个进程有自己的地址空间,线程则共享地址空间。所有其他区别都由此而来:

* 速度:线程产生的速度快,线程间的通信、切换快等,因为他们在同一个地址空间内。

* 资源利用率: 线程的资源利用率比较好,也是因为它们在同一个地址空间中

* 同步问题:  线程使用公共变量/内存时,需要使用同步机制,还是因为他们在同一个地址空间内。

2、 在Windows 编程中互斥器(mutex)的作用和临界区(critical section)类似,请说一下二者区别。

mutex 可以用于进程之间互斥,critical section是线程之间的互斥。

3、垃圾回收的优点和原理是什么?

java语言中一个显著的特点就是引入了垃圾回收机制,使C++程序员最头疼的内存管理问题迎刃而解,而Java程序员不再需要考虑内存管理。垃圾回收可以有效防止内存泄露。

4、CPU中的缓存 和 OS 中的缓存分别是什么?

* 块表——Cache在OS 中运用的典型范例。

    小结:快表是联想寄存器 访问速度比内存快,不用快表要两次访问内存;用了快表只需要一次访问内存。  

    在OS中,为提高系统的存取速度,在地址映射机制中增加一个小容量的联想寄存器,即块表。用来存放当前访问最频繁的少数活动页面的页号。先访问快表中是否有需要的逻辑页号,加上页内地址得到物理地址。如果快表中没有才访问内存中的页表这样两次访问内存。

* 高速缓冲存储器: Cache 在CPU中运用的典型范例。

    引入原因:内存的存取速度跟不上CPU的执行速度

    它的容量比内存小,但是交换速度快! Cache对CPU的性能影响很大。

5、DOS 与 Windows NT 的权限区别是什么?

   DOS 是个单任务、单用户的操作系统。打开装有DOS操作系统的计算机时,就拥有了该操作系统的管理员权限,且该权限无处不在。 所以只能说,DOS不支持权限的设置。

   在Windows NT里,用户被分成许多组,组和组之间有不同的权限。当然一个组的用户和用户之间也可以有不同的权限。NT中常见的用户组:Administrators 管理员组、 Users 普通用户组、Guests 来宾组、Everyone计算机上所有用户

原文地址:https://www.cnblogs.com/wuyuankun/p/3556261.html