下载此文档

IT综合面试题大全.docx


文档分类:IT计算机 | 页数:约46页 举报非法文档有奖
1/46
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/46 下载此文档
文档列表 文档介绍
操作系统、计算机网络、设计模一:操作系统 1. 进程的有哪几种状态,状态转换图,及导致转换的事件。状态:绪( Ready ) 状态进程已获得除处理机外的所需资源, 等待分配处理机资源, 只要分配到 CPU 就可执行。在某一时刻,可能有若干个进程处于该状态。 2 )运行状态占用处理机资源运行,处于此状态的进程的数目小于等于 CPU 的数目。 3)阻塞状态由于进程等待某种条件(如 I/O 操作或进程同步), 在条件满足之前无法继续执行。该事件发生前即使把处理机分配给该进程,也无法运行。转换解释: 从状态转换图中, 存在四种状态转换。当进程调度程序从就绪队列中选取一个进程投入运行时引起转换 1; 正在执行的进程如因时间片用完而被暂停执行就会引起转换 2; 正在执行的进程因等待的事件尚未发生而无法执行( 如进程请求完成 I/O ) 则会引去转换 3; 当进程等待的事件发生时(如 I/O 完成)则会引起转换 4。事件: 就绪队列非空, 则一个进程的转换 3 会立即引去另一个进程的转换 1。这是因为一个进程发生转换 3 意味着正在执行的进程由执行状态变为阻塞状态, 这时处理机空闲, 进程调度程序必然会从就绪队列中选取一个进程并将它投入运行, 因此只要就绪队列非空, 一个进程的转换 3 能立即引起一个进程的转换 1。 2. 进程与线程的区别。进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动, 进程是系统进行资源分配和调度的一个独立单位. 线程是进程的一个实体,是 CPU 调度和分派的基本单位, 它是比进程更小的能独立运行的基本单位. 线程自己基本上不拥有系统资源, 只拥有一点在运行中必不可少的资源( 如程序计数器, 一组寄存器和栈), 但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源. 一个线程可以创建和撤销另一个线程; 同一个进程中的多个线程之间可以并发执行 3. 进程通信的几种方式。管道( pipe ): 管道是一种半双工的通信方式, 数据只能单向流动, 而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。有名管道(named pipe) : 有名管道也是半双工的通信方式, 但是它允许无亲缘关系进程间的通信。信号量( semophore ): 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。消息队列( message queue ): 消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。信号( sinal ): 信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。共享内存( shared memory ): 共享内存就是映射一段能被其他进程所访问的内存, 这段共享内存由一个进程创建, 但多个进程都可以访问。共享内存是最快的 IPC 方式, 它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制, 如信号量, 配合使用, 来实现进程间的同步和通信。套接字( socket ): 套解口也是一种进程间通信机制, 与其他通信机制不同的是, 它可用于不同及其间的进程通信。 4. 线程同步几种方式。( 一定要会写生产者、消费者问题,完全消化理解) 临界区( CCriticalSection ) :通过对多线程的串行化来访问公共资源或一段代码,速度快, 适合控制数据访问。事件( CEvent ): 为协调共同对一个共享资源的单独访问而设计的。互斥量( CMutex ): 为控制一个具有有限数量用户资源而设计。信号量( CSemaphore ): 用来通知线程有一些事件已发生,从而启动后继任务的开始。 5. 线程的实现方式.( 也就是用户线程与内核线程的区别) 根据操作系统内核是否对线程可感知,可以把线程分为内核线程和用户线程。内核线程建立和销毁都是由操作系统负责、通过系统调用完成的, 操作系统在调度时, 参考各进程内的线程运行情况做出调度决定, 如果一个进程中没有就绪态的线程, 那么这个进程也不会被调度占用 CPU 。和内核线程相对应的是用户线程,用户线程指不需要内核支持而在用户程序中实现的线程, 其不依赖于操作系统核心, 用户进程利用线程库提供创建、同步、调度和管理线程的函数来控制用户线程。用户线程多见于一些历史悠久的操作系统,例如 Unix 操作系统,不需要用户态/ 核心态切换,速度快,操作系统内核不知道多线程的存在,因此一个线程阻塞将使得整个进程( 包括它的所有线程) 阻塞。由于这里的处理器时间片分配是以进程为基本单位, 所以每个线程执行的时间相对减少

IT综合面试题大全 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数46
  • 收藏数0 收藏
  • 顶次数0
  • 上传人6188
  • 文件大小0 KB
  • 时间2016-05-20
最近更新