操作系统——临界资源和临界区
1、临界资源
- 概念:一次仅允许一个进程使用的共享资源。
2、临界区
- 概念:每个进程中访问临界资源的那段程序称之为临界区。
- 临界区不是内核对象,而是系统提供的一种数据结构,程序中可以声明一个该类型的变量,之后用它来实现对资源的互斥访问。当欲访问某一临界资源时,先将该临界区加锁(若临界区不空闲则等待),用完该资源后,将临界区释放。
- 补充(待定):分类:临界区也是代码的称呼,所以一个进程可能有多个临界区,分别用来访问不同的临界资源。
- 内核程序临界资源:系统时钟
- 普通临界资源:普通I/O设备,如打印机(进程访问这些资源的时候,很慢,会自动阻塞,等待资源使用完成)
3、进程进入临界区的调度原则
- ① 如果有若干进程请求进入空闲的临界区(空闲即0进程访问),一次仅允许一个进程进入。
- ② 任何时候,处于临界区内的进程不可多于一个(0 或 1),若已有进程进入自己的临界区,则其它想进入自己临界区的进程必须等待。
- ③ 进行临界区的进程要在有限时间内退出,以便其它进程能及时进入自己的临界区。
- ④ 如果其它进程不能进入自己的临界区,则应让出 CPU,避免进程出现 “忙等” 现象。
这里的自己指某个进程,其它进程指除了所说的某个进程之外的进程。
后续再补充。。。