.


:




:

































 

 

 

 


While true do while true do




Begin begin

(* *) wait (data_available);

signal (data_available); (* *)

end; end;

. , 0. ( ) , , , . , , , .

, , , mutex ( mutual exclusion - ). , 1 , , , . signal 1. wait 1 0 . 0, , wait, , .

, , . , wait, , . , , ; . - signal , , , .

, , , wait signal , . , , , . . .

test_and_set . .

4.

, , , . , , .

Begin

wait until condition;

Modifydata; end

. , . - . .

, : - , - , , .

, , , , . - , .

event (), await () cause (). , await (event), , event . cause. , cause (event), , . , , .

to await "", "", await () , " ". to cause " ", , " -". cause () " " ( ).

, , . ,

var mutex: semaphore; change: event;

Begin

while not condition do await (change); wait (mutex);

(* *) signal (mutex); cause (change);

end;

event condition, , condition , . mutex, . , . , , , .. .

. - - . , .


3.3.

1. .

2. .

3. .

4. .

 

1.

. (mutual exclusion). , , .

:

1. .

2. . .

- . (safety) , . (liveness) , - , , , . - , - . . , .

- . f1. , , f1 = true, - f1 = false.

program protect_example (* *)

var fl: boolean;

begin

f1: = true;

cobegin

while true do (* *)

begin (* *)

repeat until f1 = true;

(* *)

f1:= false;

end; (* *)

while true do (* *)

begin (* *) repeat until f 1 = false;

(* *)

f1: = true;

end; (* *)

coend;

end (* protect_example *)

- f1 , f1 . , , , .

, . . , , , , f1. , , , . , (busy loop), , .

- f1, . , , f1, . , f1 .

f1 ..

repeat until f1 = true;

f1:= false;

(* *)

f1:= true;

, , . f1 = true, f1 = false, f1, , . , .

, , , . , , .

, test_and_set ("__"), , . test_and_set , . .

test_and_set read-modify-write VMEbus. - . test_and_set , , .

. , test_and_set, . , . , , , . , . - , . , , . , , , .

, . . , : , , . .

, , , test_and_set . .

2.

, - . , . (deadlock) (. 1).

, . (starvation). , , , . , , , (. . ), , .

1. - : ;

 

, . , - .

. , , , . , , , .

, - . , , . - , .

. 1. (background) , . . . , , , .

, . , .

. , .

1. . , .

2. . , , , , .

3. . , . . .

4. .

. , , .

, .

, , . , , .

. , , , , . , , , .

"-" , . , .

. - , - - , , , , , . , .

. , () , . , " " . , . , , , , .

4.

, . . , , , . , , , , . .

. . (tl+, t1+k) . ( ), .

. , , , (, ), , . , , .

, (). , , .

, , , , , , , . .


3.4.

1. .

2. .

3. .

4. .

5. .

 

1.

. . , .. , .

- , /. , , , , . , , , .

. , . , , , . .

2.

, , - . , (. 1). .

1. -

 

, . : , , / , , . , .

. , , . - , .

/ . , , , , , .

, , ,

put_mailbox (# 1, message)

,

get _mailbox (# 1, message)

, . , , , .

. - , FIFO. ( ), . , , , .

3.

(pipe) , , . UNIX . UNIX / , () (), - , , . , , ( "|"). UNIX, OS/9 Windows NT ().

. - , , , . , , . , , , . , , .

/ . , , , , , , . , ..

, / / , "-". UNIX TCP/IP, Windows NT . , , .

4.

"-" "" , , , .

"-" (Remote Procedure Call - RPC). , , . , . .

, RPC . RPC , , , . RPC (time out) , ; , , - . , RPC , .

5. , , , , , , , - . . , .

, , , - signal wait put get , . . "". , "", . "" . , "" .

, , . , , . , , . , , - , , . , , . .

. , , , . , , , , .

, , IP TCP, . , . , , , , , . - . , . .


. 3.5.

1. .

2. Spox.

3. Multiprox.

4. VCOS.

5. DEASY.

6. UNIX.

7. OSF/1 D.

8. VAX/VMS.

 

1.

() , , . . , - , , - , , . , .

: , ; ; , . , , . Motorola : OS-9 Microware Systems; VxWorks WindRiver Systems; LynxOS Lynx Real-Time Systems; pSOS+ Integrated Systems; QNX Quantum Software Systems; VRTX/OS 3.0 Ready Systems; Nucleus Accelerated Technology; RTXC Embedded System Products; OSE Enea Data, Precise/MQX Intermetrics Microsystems Software; VMEexec Motorola.

- "" "" (). "" , . VMEexec. "" , , , . OS-9/9000.

. , "", , , , , , , - . , VMEexec MULTI GreenHills Software, VxWorks Tornado, CrossWind GNU- Cygnus Support, VRTX pSOS XRAY Microtec Research. , "" , , . . , OS9/9000 20 ( VMEexec, VxWorks, pSOS - 10 ), .

, (), , . . , -, , . - , (host-). . . VCOS DEASY.

Spox Multiprox. 20-40 . , . Spox Spectron Microsystems , , . Spox , .

Multiprox Comdisco. Multiprox , - -.

2. Spox

Spox ( Spectron 1987 .) , . , -, ( ). Spox - .

Spectron OSPA ( ) Spox - . MS Windows, OSPA . , host- - ( ). OSPA API ( ), - .

Spectron Spox TMS320C30, Motorola 96002, TI C40 Analog Device 21020. Spectron Spox . . , , -. Spox , . SPOX .

. , . , - . SPOX - , . , , -. SPOX .

. (, VXWorks, OS-9, LynxOS) -. , - . , Spectron , ( ) DSP. .

. -. (MS-Winows, Unix, DOS), , , , . , -, .

. , : , , , , , , , . - , , SPOX .

SPOX , , , - . SPOX - , . SPOX - , . , , . SPOX , , .

3. Multiprox

Multiprox Comdisco, , SPW (Signal Processing Workstation). , - , , - . Multiprox , , .

SPW- Multiprox - - , . -, , . , , .

4. VCOS

VCOS (Visible Caching Oparating System) . VCOS , . VCAS (VCOS Application Server) host- , - - host- -.

VCOS 400 32- . host- . , . VCOS host , VCOS , . VCOS .

VCOS - . V.32 , V.29 FAX , , , , - .

5. DEASY

DEASY , DSP3x . DEASY . ( ) 500 .

DEASY , , , . , , , , , , - .. .

DEASY .

System.a30 TMS320C30 -.

Host.lib , , .

Deasy.a30 - Borland C , .

Bgi.a30 - Boland C IBM PC.

Deasy.exe , . .

Kg30.exe, Cq30.exe, , .

System Host. , . , (DSP) (CPU) , . CPU DSP DSP, . System Host .

System , TMS320C30. Host DSP , . : Borland C/C++, Microsoft C, Watcom C.

6. UNIX

UNIX , . 1970- AT&T Bell Laboratories. , , , UNIX- UNIX.

UNIX . AT&T Bell Laboratories Berkeley Software Distribution. UNIX , . , . , UNIX .

UNIX , . UNIX OSF/1, Windows NT. UNIX , TCP/IP X Window.

UNIX , (, /), , , . UNIX 10000-20000 1000-2000 - , . 100 1 . UNIX - . , UNIX .

UNIX . , . UNIX , . - , , , , , , . , . UNIX , . - , UNIX , .

UNIX . , . , , . , , . , . - , .

, UNIX, . / . , , / , , . .

UNIX . , , , , . "" UNIX. UNIX , / , . .

UNIX , , - . , , , , . POSIX - , UNIX, IEEE 1003.1-1988.

7. OSF/1 D

UNIX , . System V AT&T . - Digital, Equipment, Hewlett Packard, IBM . - , Open Software Foundation (OSF) , - . OSF UNIX-co , .

OSF/1 , Mach, - , Carnegie-Mellon University (. , ) . Mach .

OSF/1 AT&T UNIX System V Berkeley. Mach OSF/1 - UNIX, .

UNIX OSF/1 , . OSF/1 TCP/IP. OSF/1 NFS TCP/IP.

OSF . OSF/Motif , .

(Distributed Computing Environment - DCE) , . D OSF/1, .

8. VAX/VMS

VMS Digital Equipment 32- VAX. , , . VMS , .

VMS , . . VMS , , . VMS (, ), . .

, VMS , . VMS, , , VAX/ELN. - . , , , . .

, , . , - 1 . . . , .

- . , . - , , - , . , , , . test_and_set. , -.

, . , . .


3.6. OS-9 VxWorks

1. OS-9.

2. VxWorks.

 

1. OS-9

OS-9, , Motorola. : OS-9 Motorola 68K 6800 683, OS-9000 6, 5, MPCSxx, MCF52xx, : Intel 486, Pentium, SPARC, MIPS. , OS-9. OS-9 IBM-PC, Windows, SUN, HP, IBM RS/6000 UNIX.

OS-9 . . . , .

OS-9 - , , (OS-9 kernel), (I/O man), - (.1). , - , , - . OS-9 . , .

OS-9 .

Atomic (28 ) . , MC68040 25 3 , "" . ( , , ) , .

Standard . - 67 38 680,683 ( OS-9), 512 , , 75 24 PowerPC ( OS-9000). Standard





:


: 2016-09-06; !; : 716 |


:

:

,
==> ...

1982 - | 1820 -


© 2015-2024 lektsii.org - -

: 0.152 .