1:并发是所有问题的基础,也是操作系统的基础。它包括很多设计问题,如进程间通信、资源的共享与争用、多个进程活动的同步以及分配给进程的处理器时间等。
2:进程并发出现在以下三种不同的上下文环境中:
多个应用程序、结构化应用程序、操作系统结构。
3:支持并发进程的基本需求是实现互斥的能力。
4:进程三种可能的知道程度:
进程之间不知道对方、进程间接知道对方、进程之间知道对方。
5:进程中的资源竞争引起的问题:死锁、饿死。
进程间共享的合作的问题:数据的一致性问题。
进程间通过通信进行合作:典型地,通信可以被描述成由各种类型的消息组成,发送消息和接收消息的原语或者由程序设计语言提供,或者由操作系统的内核提供。
6:互斥的基本要求:忙着等待、有限等待、空闲进入、让权等待、不能限制处理机的数据和进程的执行速度。
7:信号量上执行的操作:
1)一个信号量可以初始化成非负数。
2)wait操作使信号量减1。如果值变成负数,则执行wait的进程被阻塞。
3)signal操作使信号量加1。如果值不是正数,则被wait阻塞的进程被解除阻塞。
8:二元信号量的值只能是1或0,一般信号量是整数值就可以。
9:管程是由一个或多个过程、一个初始化序列和局部数据组成的软件模块。
10:“不阻塞发送”方式容易导致消息的无限发送。无限发送消息会消耗处理机时间,且由于消息 无限发送消息会消耗处理机时间,且由于消息需要占用内存的消息缓冲区,无限发送消息也需要占用内存的消息缓冲区�无限发送消息也会消耗其它系统资源。阻塞接收:接收消息的进程未收到期望的消息时� 当接收消息的进程未收到期望的消息时,常需要阻塞等待�直到消息到来。但是,常需要阻塞等待。直到消息到来。但是,如果消息丢失,或发送进程发送消息之则接收进程将永久阻塞。
11:读/写问题如下:有一个许多进程共享的数据区,这个数据区可以是一个文件或者主存的一块空间,甚至可以是一组处理器程序;有一些只读取这个数据区的进程和一些只往数据区中写数据的进程;此外还必须满足以下条件:
1)任意多的读进程可以同时读这个文件。
2)一次只有一个写进程可以往文件中写。
3)如果一个写进程正往文件中写,禁止任何读进程读文件。