操作系统面试

来源:互联网 发布:阿里云华北3与华北2 编辑:程序博客网 时间:2024/06/04 18:10

* 描述实时系统的基本特性
  在特定时间内完成特定的任务,实时性与可靠性
 
* Windows消息调度机制是:
  A.指令队列;B.指令堆栈;C.消息队列;D.消息堆栈;
 
* 进程和线程的差别。
  线程是指进程内的一个执行单元,也是进程内的可调度实体.
  与进程的区别:
  (1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位
  (2)并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可并发执行
  (3)拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以访问隶属于进程的资源.
  (4)系统开销:在创建或撤消进程时,由于系统都要为之分配和回收资源,导致系统的开销明显大于创建或撤消线程时的开销。
 
* Windows下的内存是如何管理的?
 
* 谈谈IA32下的分页机制
  小页(4K)两级分页模式,大页(4M)一级
 
* 在IA32中一共有多少种办法从用户态跳到内核态?
  通过调用门,从ring3到ring0,中断从ring3到ring0,进入vm86等等
 
* 网络编程中设计并发服务器,使用'多进程'与'多线程',请问有什么区别?
  进程:子进程是父进程的复制品。子进程获得父进程数据空间、堆和栈的复制品。
  线程:相对与进程而言,线程是一个更加接近与执行体的概念,它可以与同进程的其他线程共享数据,但拥有自己的栈空间,拥有独立的执行序列。
  两者都可以提高程序的并发度,提高程序运行效率和响应时间。
  线程和进程在使用上各有优缺点:线程执行开销小,但不利于资源管理和保护;而进程正相反。同时,线程适合于在SMP机器上运行,而进程则可以跨机器迁移。
 
* 列举几种进程的同步机制,并比较其优缺点。
  原子操作
  信号量机制
  自旋锁
  管程,会合,分布式系统
 
* 进程之间通信的途径
  共享存储系统
  消息传递系统
  管道:以文件系统为基础
 
* 进程死锁的原因
  资源竞争及进程推进顺序非法
 
* 死锁的4个必要条件
  互斥、请求保持、不可剥夺、环路
 
* 死锁的处理
  鸵鸟策略、预防策略、避免策略、检测与解除死锁
 
* 操作系统中进程调度策略有哪几种?
  FCFS(先来先服务),优先级,时间片轮转,多级反馈
 
* 线程与进程的区别和联系? 线程是否具有相同的堆栈? dll是否有独立的堆栈?
  进程是死的,只是一些资源的集合,真正的程序执行都是线程来完成的,程序启动的时候操作系统就帮你创建了一个主线程。
  每个线程有自己的堆栈。
  DLL中有没有独立的堆栈,这个问题不好回答,或者说这个问题本身是否有问题。因为DLL中的代码是被某些线程所执行,只有线程拥有堆栈,如果DLL中的代码是EXE中的线程所调用,那么这个时候是不是说这个DLL没有自己独立的堆栈?如果DLL中的代码是由DLL自己创建的线程所执行,那么是不是说DLL有独立的堆栈?
  以上讲的是堆栈,如果对于堆来说,每个DLL有自己的堆,所以如果是从DLL中动态分配的内存,最好是从DLL中删除,如果你从DLL中分配内存,然后在EXE中,或者另外一个DLL中删除,很有可能导致程序崩溃

 

1.什么是进程(Process)和线程(Thread)?有何区别? 2.Windows下的内存是如何管理的? 3.存储过程是什么?有什么用?有什么优点? 4.你知道操作系统的内容分为几块吗?什么叫做虚拟内存?他和主存的关系如何?内存管理属于操作系统的内容吗? 5.进程是一个比较重要的概念,那么进程有哪几种状态吗? 5. 说出你所知道的保持进程同步的方法? 6. OS中如何实现物理地址到逻辑地址的转换? 7. 解释一下分页式管理.

原创粉丝点击