软基作业 11

发布 2022-06-25 16:11:28 阅读 9241

一. 进程同步的主要关系有哪些?

1. 相互合作。

2. 竞争资源。

二. 进程同步的原则是什么,请分别解释。

1.空闲让进。

当无进程进入临界区时,相应的临界资源处于空闲状态,因而允许一个请求进入临界区的进程立即进入自己的临界区。

2.忙则等待。

当已有进程进入自己的临界区时,即相应的临界资源正被访问,因而其它试图进入临界区的进程必须等待,以保证进程互斥地访问临界资源。

3.有限等待。

对要求访问临界资源的进程,应保证进程能在有限时间进入临界区,以免陷入“饥饿”状态。

4.让权等待。

当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入忙等。

三. 信号量靠什么技术保证其执行的可靠性,即不像普通的锁机制那样出现“锁不住”的现象?

阻塞队列,阻塞机制。

四. 请用编写算法,使用信号量描述计算进程向缓冲区写据,打印进程从缓冲区取出数据并打印。

semaphore full =

semaphore empty =

semaphore mutex =

void producer( )

void consumer( )

五进程间高级通信有哪些方式?

一. 无名管道( pipe ):管道是一种半双工的通信方式,数据只能单向流动,而且只能在具有亲缘关系的进程间使用。进程的亲缘关系通常是指父子进程关系。

二. 高级管道(popen):将另一个程序当做一个新的进程在当前程序进程中启动,则它算是当前程序的子进程,这种方式我们成为高级管道方式。

三. 有名管道 (named pipe) :有名管道也是半双工的通信方式,但是它允许无亲缘关系进程间的通信。

四. 消息队列( message queue ) 消息队列是由消息的链表,存放在内核中并由消息队列标识符标识。消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点。

五. 信号量( semophore ) 信号量是一个计数器,可以用来控制多个进程对共享资源的访问。它常作为一种锁机制,防止某进程正在访问共享资源时,其他进程也访问该资源。因此,主要作为进程间以及同一进程内不同线程之间的同步手段。

六. 信号 ( sinal ) 信号是一种比较复杂的通信方式,用于通知接收进程某个事件已经发生。

七. 7七.共享内存( shared memory ) 共享内存就是映射一段能被其他进程所访问的内存,这段共享内存由一个进程创建,但多个进程都可以访问。共享内存是最快的 ipc 方式,它是针对其他进程间通信方式运行效率低而专门设计的。它往往与其他通信机制,如信号两,配合使用,来实现进程间的同步和通信。

八. 8八.套接字( socket ) 套解口也是一种进程间通信机制,与其他通信机不同的是,它可用于不同机器间的进程通信。

软基作业 7

一 什么是进程,为什么要引入进程这个概念?可并发执行的程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位。1 进程是资源分配和调度的基本单位,是os结构的基础,在计算机发展过程中,引入了进程后才使得处理机利用率和内存利用率大大提高。进程是一个具有独立功能的程序关于某个数据集合的一...

软基作业 8

一 进程调度有哪些算法?批处理系统 分时系统和实时系统分别采用哪种调度算法。一 先来先服务 fcfs,first come first serve 时间片轮转法。多级反馈队列算法 round robin with multiple feedback 最短进程优先。最短剩余时间优先。最高响应比优先。二...

软基作业 5

1 设顺序表有20个元素,使用折半检索算法,请依次写出被检索的元素数组下标。include void search int a,int x int l 0,h 14,m while l elseprintf 其下标为 d m 1 int main int i 15 int j printf 输入你要...