其他分享
首页 > 其他分享> > 操作系统学习笔记(4)

操作系统学习笔记(4)

作者:互联网



1、顺序环境和顺序程序



2、并发环境和并发进程



3、相交进程和无关进程



4、进程同步和进程互斥



 

5、访问临界资源



6、临界区及其使用原则



7、临界区管理软件方法

1 var inside: array[1..2] of Boolean;
2 inside[1] = false;
3 inside[2] = false;
4 turn: interger;
5 turn := 1 or 2;
 1 process P1
 2 begin
 3     inside[1] = true;
 4     while inside[2] do if turn = 2 then
 5         begin
 6             inside[1]:= false;
 7             while turn = 2 do begin end;
 8             inside[1]:= true;
 9         end
10     临界区;
11     turn := 2;
12     inside[1]:= false;
13 end;
 1 process P2
 2 begin
 3     inside[2] = true;
 4     while inside[1] do if turn = 1 then
 5         begin
 6             inside[2]:= false;
 7             while turn = 1 do begin end;
 8             inside[2]:= true;
 9         end;
10     临界区;
11     turn:= 1;
12     inside[2]:= false;
13 end;


8、临界区管理的硬件方法

 1 /* s代表临界资源状态,由TS指令控制 */
 2 s : boolean;
 3 s := true;
 4 process Pi  /* i = 1,2,...,n */
 5     pi : boolean;
 6 begin
 7     repeat pi := TS(s) until pi;
 8         临界区;
 9     s := true;
10 end;
 1 /* 交换函数 */
 2 void SWAP(int* a, int* b) {
 3     int temp;
 4     temp = *a;
 5     *a = *b;
 6     *b = temp;
 7 }
 8 
 9 key = true;
10 do {SWAP(&lock, key);}
11 while(key);
12 临界区;
13 lock := flase;


9、软硬件方法的优缺点



 

标签:操作系统,turn,inside,笔记,学习,互斥,临界,进程,资源
来源: https://www.cnblogs.com/taking/p/15303872.html