第一章
1. 中断是什么?中断在OS中所起的作用?
定义:
中断是指当某个突发事件(例如I/O结束、请求系统服务等)发生时,CPU中断当前程序的执行,转而执行处理该事件的服务程序,处理完毕后返回被中断的程序继续执行的过程。
作用:
①中断机制使得操作系统具备应对处理突发随机事件的能力,提高了CPU工作效率。无论什么情况下,只要有随机事件发生,操作系统都可以通过中断机制中断当前程序的执行,转而执行处理该事件的服务程序。
②中断是实现操作系统功能的基础,是构成多道程序并发运行环境的根本措施,是程序得以运行的直接或间接的“向导”,是各种事件被激活的驱动源。
③让OS内核夺回CPU的控制权;让CPU由用户态变为内核态。
2. 系统调用是什么?系统调用在OS的作用?
定义:
系统调用是操作系统提供给用户程序的一个接口,允许用户空间的进程请求内核提供的服务。
作用:
①系统调用提供了用户程序和操作系统之间的接口。用户应用程序可以通过系统调用来访问操作系统的底层资源,如文件、硬件设备等。
②应用程序通过系统调用实现与OS的通信以及实现进程间的通信。系统调用提供了信号、管道等通信机制。
③简化程序开发。应用程序通过系统调用接口与操作系统交互,避免直接管理硬件。
④提供安全性和隔离性。操作系统通过系统调用实现内核和用户空间的隔离,用户程序无法直接访问硬件或执行特权操作,这有助于防止用户程序恶意破坏系统资源。
第二章
1. 前趋图的目的与意义?
为更好的描述程序顺序和并发执行的情况,引入来描述程序执行先后顺序的前趋图。指一个有向无环图,用于描述进程之间执行的先后顺序。
2. 引入进程的意义?OS为什么引入进程?
①为了使程序能够并发执行,并且可以的对并发执行的程序加以描述和控制,大大提高处理机利用率和内存利用率。程序是静止的,进程是动态执行的,进程包括PCB、程序、数据,进程能够得到程序处理的结果。
②在OS中引入进程,是为了实现多个程序的并发执行。传统程序与其他程序并发时,执行结果不可再现,因此传统程序不能并发执行,只有为它创建进程才能与其他程序并发执行。这是因为并发执行的程序“走走停停”地执行,只有在为它创造进程厚,在它停下时方能将CPU现场信息保存在它的PCB中,待下次被调度执行时再从PCB恢复CPU现场而继续执行,但传统地程序却无法满足上述要求。
3.进程能并发的根本原因?
- PCB保存了每个进程的状态信息,便于进行快速的上下文切换。
- 多核处理器提供多个独立的核心,可以同一时间点上真正地并行执行多个进程和线程。
- 时分复用技术使得即使是单处理机地情况下,也可以通过时间片轮转地方式让多个进程看起来像是同时运行。
4. 进程控制块PCB的意义与实现?
意义:
- 作为独立运行的基本单位。
- 能间断性运行方式。
- 提供进程管理所需要的信息。
- 提供进程调度所需要的信息。
- 实现与其他进程的同步与通信。
实现:
线性方式:所有PCB组织在一个线性表中。
链式方式:具有相同状态进程的PCB分别跳过PCB中的链接字链接成一个队列。
5. 进程通信的基本概念?
两个进程之间的数据交互。
6. 管程和信号量PV操作的根本区别?
一个管程定义了一个数据结构和能为并发进程所执行的一组操作,这个操作能同步进程和改变管程中的数据。
管程封装了对共享资源的操作,调用封装,适用于复杂场景。
PV操作适用于简单的进程控制和同步,容易匹配错误造成死锁。
- 线程与进程的根本区别?
- (根本)进程是资源分配的基本单位,线程是调度和分派的基本单位。
- 一个进程可以包含多个线程,线程是进程的一部分。
- 线程使系统有更好的并发性。
- 进程间切换开销大,线程切换开销小。
- 进程间资源相互独立,线程间共享改进程地址空间和其他资源。
- 多进程系统在稳定性和可靠性方面比较与多线程系统较高。
- 多线程系统CPU利用率比多进程系统高。
第三章
1. 死锁概念,引起原因
如果一组进程中的每一个进程都在等待仅由该组的其他进程才能引发的事件,那么该组进程是死锁的。
竞争资源或者推进顺序不当。
2.死锁产生条件
互斥条件:进程对所分配的资源进行排他性使用。
请求和保持条件:进程保持了至少一个资源,但又提出新的资源请求,而该资源已经被其他进程占用,此时请求进程阻塞,但对已经获得的资源保持不放。
不可剥夺条件:进程获得的资源在未使用之前不能被抢占,只能在进程使用完之后自己释放。
循环等待条件:发生死锁时,必然存在一个资源-进程的循环链。
(循环等待未必死锁、死锁一定循环等待)
3. 处理死锁的方法
预防死锁、避免死锁(银行家算法)、检测死锁、解除死锁
4. 预防死锁的方法
破坏请求与保持条件、破坏不可抢占条件、破坏循环等待条件
5. 死锁的检测与解除
检测系统状态是否发生了死锁:死锁定理,资源分配图不可完全简化。
利用算法从死锁状态解除出来。
1. 分页与分段的有哪些主要区别。
(1)页是信息的物理单位,对用户不可见。段是信息的逻辑单位,对用户可见
(2)页的大小固定且由系统决定,段的长度却不固定,决定于用户所编写的程序决定。
(3)页是一维地址空间,段是二维地址空间。
标签:操作系统,简答题,程序,并发,死锁,线程,进程,执行,复习 From: https://blog.csdn.net/2403_87163367/article/details/145124745