.


:




:

































 

 

 

 


pthread_t ғ ; pthread_attr_t ғң ғ.




POSIX ғ қ ғ :

  1. pthread_create():ғ құ
  2. pthread_exit(): ғ қ
  3. pthread_cancel(): ғ
  4. pthread_join(): ғ қғғ ғң ұғ.
  5. pthread_detach(): ғ pthread_attr_init(): ғ ң құ
  6. pthread_attr_setdetachstate(): ғ ғ ү ү ө.
  7. pthread_attr_destroy(): ғ .

POSIX ғ ң : (mutexes) ұққ ә (conditional variables)

  1. pthread_mutex_init() құ;
  2. pthread_mutex_destroy() ;
  3. pthread_mutex_lock() қ;
  4. pthread_mutex_trylock() -
  5. pthread_mutex_unlock() ;
  6. pthread_cond_init() құ;
  7. pthread_cond_signal() ұғ;
  8. pthread_cond_wait() ү.

POSIX ғ қ ққ.

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#include <pthread.h>

static void wait_thread(void)

{

time_t start_time = time(NULL);

while (time(NULL) == start_time)

{

// , 1 .

}

}

static void *thread_func(void *vptr_args)

{ int i;

for (i = 0; i < 20; i++) {

fputs(" b\n", stderr);

wait_thread();

}

return NULL;

}

int main(void)

{ int i;

pthread_t thread;

if (pthread_create(&thread, NULL, thread_func, NULL)!= 0) {

return EXIT_FAILURE;

}

for (i = 0; i < 20; i++) {

puts("a");

wait_thread();

}

if (pthread_join(thread, NULL)!= 0) {

return EXIT_FAILURE;

}

return EXIT_SUCCESS;

}

ұ ғң . ғ құғ (pthread_create), ң ө (thread_func) ә ә ғң қ ү (pthread_join) өң ө ө.

Solaris қ үң ғ ү

Solaris қ ү ө/ө ғ қ. қ ұ ү ң ү . Solaris қ ү ққ ғ өң ң ү , ө ғ , ңғ үң - ү .

5. Solaris ғ ұ

 

6. Solaris қ ү ү ұ

ө ә ү ү қ ққ ң қ өң ң үң ұ.

Windows 2000 ғ

Windows қ ү өғқң / ү . Ә ғ ұ:

  1. ғ (thread id);
  2. ғ
  3. ққ ә ү ғ ғ
  4. ғң ә ғ ғ (thread-local storage TLS).

Linux-ғ ғ

Linux ү ғ threads , tasks () .ғ clone () ү қ құ. ү қ қң -қ (ү) қ қ қғ ү .

Java-ғ ғ

Java ө ә қ ң ғ өң ғ ғқ . Java ғ қ құ:

  1. Thread ң ң ү
  2. құ ғ ә run - ғ Runnable ү

Java-ғ ғ JVM қ қ.ғ ң ә ң ү құ ү.

Java ғ ғ ү ғ 7- ө. - ғғ ұқ, Java-ғ ғ ң құ ә қ , ; wait, sleep ә. ә қ ғ ү ; run ә қғ ғ қ.

7. Java-ғ ғ ғ.

ʳ

Mac C-threads MacOS ү ққ ғ.

POSIX Pthreads POSIX ғ ә POSIX қ қ ғ

Solaris threads Solaris - қ ғ.

Thread Java ғ ө .

ғ pthread_attr_t POSIX ғғ ң ә.

ғ (thread group) өң ғ ү қ қғ ғң ә.

POSIX-ғ pthread_t .

(task) Linux-ғ ғ .

(exception) - ә -ғғ қ өң ғ ң

ғң (thread-local storage - TLS) қғ ғғ ә ғ ғ қ .

өғқ ғ ғ қ ғң ө ә.

ө/ө ә ү ққ ғ ә ү ғ ө ү ө

ө/ өғқ , ққ ғ ғ ғ ө ү ө .

/ ә ққ ғ қғ ғ ө ү ө

(mutex) - қ ө қ .

ң (lightweight process) ғ - ү ұ .

ғ (thread) - ң ң үң ұқ ү қ қ .

Қ ң ғ (user thread) қң қғ ң ғ ң ғ.

ғ (kernel thread) ң ң қ ә қ ө ң ү ғ.

ғ (ThreadPool) NET ғ ғ құң .

( UNIX) қ ғғ ө ң өң .

"ү" (heavyweight) ңғ ү қ-қөң ң қ ү .

(conditional variable) wait ә signal - қ .

өғқ (multi-threading) ң ң ң ғң қ ғ ғ. ғ ң - ү үң ү.ғ өң , қ ғ ә ғ .

(lightweight process) - ғ .

ғқ ұғ қ ғ қ , ғ 1970 ң ғ "" ү қ. өғқ UNIX-, Solaris- ә Windows NT- . Ә ү - қ өғқ - . ғқ өғқң ә қ ң Java- .NET- .

ғ ө ң:ү ғ( ғ) ө ққ ң ғң . өғқң ә ү ү (ү ққ ғң ө) -, -ө, ө-.

өғқ ққ қ: fork ә exec ү қ қ; ғң қ; өң;ғ ғ құ; ғ қ (TLS);ғ ; ғқ ә ң қ

POSIX threads (Pthreads) API -ң UNIX өғқ қ .ғ өң ә . ғ ү қ.

Solaris - ғ ү ә ққ ү қ ң ү қ .Ә әү ү құғ ң ү қ. өғқң "ө-ө" қ.

Windows 2000 "-" өғқ қ. Ә ғ өң ө, қ, ү ә ққ ү , ғ (TLS) қ.).

Linux ғ (tasks) ә clone ү қ қ құ.

Java-ғ ғ ә қ ң қ. Thread ә ө. Java қ. ғ құғ . қ ғ ғ .

Қ 12-13. ˲ò ҮIJ

қ: ү ң құ ң қ

ʳ ө: , ү, ү, қ , ққ , қ , , , қ , , қ , қ , -,

ә (2 ғ)

  1. ү құ. OSI .
  2. ң . TCP/IP . қ .
  3. Ү ү ү .
  4. Ү үң ұқғ ү (ғқ).
  5. Ү ү ү ү ә .

қ ү, ү ( , ) ә қү қ құң, ғқ қң ә ә ң .

қ ( ) қ ғ ә ққ қ қ ң қ .

қ ( ) , ә қ құғ қ қ -қ , қ ә ғқ қ қ . ұ ң ү қ - , , - ә қ құғғ қ құ қ .

қ ( ) ққ , ә ң (ү) қ ү () .

қ ғ ( ғ) ң қ ә қ құ ү қ ғ. ғ ү ұ ө қ, ү ү , қ қү ң. ғ , ұ ғ ү ә қ, қ ә ө.

-ң қ құғ , ә ө -ғ құғ ғ, қ (Local. Area Network, LAN) (Wide Area Network, WAN) ( қ ғ) ғ. ү қғ ү: қ құғң қ ғ (ғ, ), ң ә ң ү ққ қ қ, ә қ, ә ғ , қ (IP -), қ ә қ .

қ құғ: ә ң ә . ғ қ құғ ү LPT -, FireWire ә USB.

қ ү құғ

қ қ құң ә ү ү қ құғ. ғ қ қғғ , -қ ғ ғ .

қ , ( , ; the touch display, server) :

1) ө , -қ қ құғ, , , ұқ ғ

. қ, ө ғ ү;

2) өң ұ ү қ ғң ө.

қ қ қ құғ. қ ә ү қ қ ә қ қ қ қ ғ ө.

- ә ң ғ қ ө. (1 =1 /) ө.

(ғ. ) қ қ ғ ә қ құғ.

ә ү қ қ, қ ү . қ қ . қ - ү ң ә ұ ү.

қ ң ә ң ә , ә қ ү қ (ө ұ / ғ ү). қ ү ә қ. қ қ ү . қ қ қ қ ғ . ә қ қ ғ қ ғ ғ . ү қ қ ә .

қ ( ) ( ( ) ұ ү қ , қ .

-, (ғ. Һ -) қ , ғ ұқ қ құғ . ұ ң ғ қ, ғ ғғ . қ ұ ү : (- ү), (- ү), ( Ұ). ғ ғ ғ ұ қ, , қ ә қ қ өң, ә ғ ү ү ә ң қ өң.

ғ ( -) ң ө қғ . Қ :

қ ү ң ң ғ ү.

ISDN қ қ ү

DSL ө () қ ө ұ ү . ғ қ қ, ә - ғ . ө қ ә ә қ .

ғ ә ү қ , ұқ ө .

Ұ қ ұ GPRS, 3, 4 ә .. ғ ұ . Ұ-қ() ү . ұ ө ұ қ.

xDSL :

xDSL қ ң ң қ ққ . (Digital Subscriber Line қ ).

ADSL (Asymmetric Digital Subscriber Line) қ , ғ (downstream) 6,1 / , 16640 /. қ ұғ ә ң .

UADSL (Universal ADSL), ғ DSL Lite, қғ ADSL-ң қғ ұқ ( ұғ 3,5 қ 1,5 / ә 384 / ү ғ; ұғ 5,5 640 ә 196 /). Құғ ң ә ү қ .

RADSL (Rate Adaptive Digital Subscriber Line) () ә ғ ө .

HDSL (High Data-Rate Digital Subscriber Line) ғ қ , 1,536 2,048 / қ қ . ұғ 3,7 , ө .

SDSL (Single-Line Digital Subscriber Line) ғ қ (1,536 2,048 /) , , - .

VDSL (Very High Data-Rate Digital Subscriber Line) ө ғ қ (56 / ), . Қққ 1,5 . . қ қ, қ ү қғ ғ.

ә құ ң ғ. - қ ә ғ ғқ ә қ құң ү ү. қ қ әү ә ққ қ ғ . ғқ құ қ ү қ ұ. ң ұ ү -ң ү қ. қ қғ ғ ғ (Windows NT, Novell NetWare, ..). қ -ң ү ң қ ғқ (қ ғ, ә қ, ...).

қ қ құғ ү қ қ ө, :

- ұ ;

- ;

- ққ .

(Computer NetWork, net - , work - ұ) ә ә ү қ қ - ә қ .

қ :

  1. ұ өң ғ ;
  2. Қ ә ұ қ;
  3. ң ү ;
  4. ң, ә ө ү қ;
  5. Құғ ң ө ә .

қ қ :

  1. қ қ ғ қ;
  2. ө ө ө () ;
  3. - құ қ;
  4. қ .

қ қ ғ қ ғ ө:

  1. (-Local Area Network, LAN) - ң ғ ө қ ұ-ғ ғ қ қ . ұ 10-20 - ( қққ 10 -ғ ).
  2. қ, ғқ (-Wide Area Network, WAN) , ү ә қ қ ү.
  3. ққ, ( -Metropolitan Area Network MAN) қ, , . ұ ғ, ғ қ , , қғ ң, ұ ң .

Ө ө ө () :

  1. ө ;
  2. ;
  3. ә ғ ө

- құ қ ң :

Ә ң ө ққ :

қ ң қ, қ ң ұ , ң ққ, ә қ қ .

қ ң ү, қ қ, ұ ұ. ң ү, ғ қ ң ә ү ғқ қ .

қ ә қ ү, ұ ғ ғ - ә ә ә қ қ ө . ң ғ қ, ұ қ.

қ ә қ :

  1. Қ Қ ˲, Ұ - ˲ Ұ Қ. ғқ қ қ ң ө ү, ә қ . қ қ ұ . ө қ қ.
  2. Ң˲ ˲Ѳ ( ò˲) Ұ ˲Ͳ Қ Қ Ң ҚҰҚҚ . қ қ, ә ү - ә ғ қғ. ң ғ қ .

қ қ

(қ ):

ұ ә ң (ұ ң) қ қ , қ ә қ , қ ө.

құғ қ ң ұ ү ғқ-қ құ .

() ә -ң ңқ , ғ ә / ғғ .

ң ң ғ ү:

  1. Arcnet (Attached ResourceComputer NETWork);
  2. Ethernet;
  3. Token Ring.

Arcnet , қ ұ - . ұ ә ұ қ. ұ (Token bus) қ қ ә қ-, ғ . ғ ң, құғ-ң ғ ә . ө ә ә қ қ ө.

ұ ә ғ 2,44 /, ү , қ, қ ң .

ұ ң ө . ң қ -/ққ . Ә ң ғ ө ө (0-255) . ғ ө ә қ . ә ққғ 6 , қ ғ ө (2,44 /).

Ethernet қ - қ, ә қ () . қ ә ғ қ. ұ ұ ә қ , -. ө ә қ. ә -ғ 10 /c, қ ң ү (қ) -ғ ө .

Token Ring IBM ұғ. ә ғ қ ә қ . ә ғ 4 / ә 16 /. ә қ қ. - қ ұ. ә ққғ - 120 ( ғ).

қ қ

  1. ( )
  2. (transceiver)
  3. Қ (Repeater)
  4. (Hub)
  5. ө (-Bridge)
  6. (Switch)
  7. (Router)

RJ-45

BNC

қ ү қ ә қ, қ ү, ғ ғғ қ қ . Ә ң қ ө ө .

ғ - , ң қ- қ. ғ AUI (Attachment Unit Interface) - қ ұ.

Қ

Қ әү құғ , ғқ қ , ә ққғ , ғ ө. Қ ң. ң ү .

MicroHub TP1008C

қ ү ұ қ . ң қ ө, қ ң қ ө-. ң ә ү, ө қ қ қ ө.

Ү

ө

ө ң ә ө ө ұ , ү ә қ ө .

ө

қ ө ұқ, қ ұң ұ ө ғ, ө ө ғ . ө қ .

ө ғ қғ ң ә ө ө ө. қ , ә әң ң ңғ ң , ... ү ғ ң ұ ү.

 

ң ң ә

ә ұ ққ -ң (ISO - International Standards Organization) қ ұ ү, ә OSI (қ үң ә Model of Open System Interconnections) ғ қ. ISO/OSI әә 7 ғ ө қ. ң ғғ қ ң, ң ө қ ң .

IP-

қғ ә -ң ө қ қ . (IP-). ү ө 4 қ ұ, ң әқ - 0 255 ң ғ . ғ қ қ. :

194.84.93.29 128.29.15.124

ү 2564 4,3 қ . ә қ қ 32- (4 ) .

қ ңғ (ғ қ қ), қ ұ қ () ә. қ ғ ө ұ.

қ :

:// . [// / ]

OSI қ . ғқ қ құ қ ә үң ә ү қ ү ң ққ Ұ (International Standart Organisation ISO) қ ү ә қ (Open System Interconnection -OSI) құ. ұ ұң ң қ ү, ң:

1) қ ң;

2) ң;

3) ң;

4) ң;

5) қ ң;

6) ұ ң;

7) қ ң.

Ә ң ғғ қғ ө қ () қ, ә ң . әң ә ңң ө ғ ә , ғ ә

Қ 14-15. Ң

ҚҚҚ Қ

қ: ң қққ қ

ʳ ө: ү, , , қ, , , қ, , ү, ,

ә (2 ғ)

  1. ғң ө ң ә ғ ң .
  2. XDRү, , ңқ .
  3. Ү қ құ ү DCOM ә COBRA қ. IDL .
  4. SMB , ң ғ, Samba ә қ ә қ .
  5. ұ қ қ . ұ қ қ .
  6. ә қ қ құ.

қ құ

қ ү ғ қ ү үң қ құ қ . қ ү құ . ө ұ ғ қ құ қ. Ү қ ң қ ғ ғң ү қ. қ ұ қ ө.

қ

Pentium ң қғғ үң қ JMP ә CALL қ ү .

ғ ү қ. ұ ә ң ұқ ғ JMP ә CALL ғ ұқ ұ. ұ қ ү ұ.

ұ қ 1- ө. ә қ қ ң ө.

=0 ғғ қ ғ . қ ұқ , қ ң ққ ң қ ққ ң ә ғ қғ ұқ .

1. Үң қ.

iii ғ қ ғ құққ ң қ ғ қғ құ . -ң қғң үi i қ қ, өi үi қ i қ ғ үiii . ғ қ өi үi , ұ әiң ii үi қ әi - қ қ ғ ә ө қ .

ii ғ ii: ңғ ққ ө қ қ . ұ қғ ғ. ққң ңi i ғ қң қ қғғ ғ қ үi ұ ә ғ қң қ . ә , ұ Pentium ң қғ үiiң құ қ қғң өiii - құққ , ққң ңi, ә ұ қғ ii ғ , қң қ әii үi қғ , әi үi ғ .

ғ қ. , қ қ ғ ii үi қ өi i-ғ ғ ұқ үi -iң ң қii қ әi қ . i әiiң үiiiiң i үi, ә ң ii -ң ң (=1) ғ i . Қ ғ (DPL CPL) ққң ңi ң ғң CALL JMPiң ғ ң ө- қ қғ .

қ қ. қң ә қғ ғ үi қ i үi қ қ. iii әi ғ ққ ғ ңi қ үiң ң ққң үii ңi қ ғ қғ ii үii i. ii әi өi -ң қғ, қ ғ , ққң қ ңi ә үi қ өii үi үi әi ұ . Pentium қ ii қ ғ i әii қ - қ ғ ққң ө i ңi ұ ii құққ қғ үii i (ұ) қ. қң ғ i ққғ - қ i үiiң қң үiii өii қ. , ғ ң CALL ұ әiң ң үiii ғ қғ қ ғ i үiiң ә қғ, ғ қ ғ ii ң ә қ. қң ii i.

i үiiң құққ қ i қ, ә ұ i үi өi i - қң ң .

қ 2- қ өi.

2. қ қ.

ғ ә қ ң ғ i ә ққң ә үi ң ң қ . i үi ққң әi ң, әүi ң, i-i iiң i. , қ қ CPL әi ң iң ққң ғғ ңi ә ә i.

қ.

iң ғ қ i қ қң i ғ . CALL ң ғ TSS үi i ғ өi . , TSS үi қ қ ii үi әii iң i қ. iң i қ ғ ң iiң әi, ұқғ қ ә қ ү әi i қ .

Ққғ (RPC) қ

Ққғ қң ұ

Ққғ қ (Remote Procedure Call - RPC) , қ ә қ қ ә ү ң ң ұ. Ққғ құ ө ө ң ғ. RPC қң ққғ ө қ . ұ қ RPC - ғғ .

ң қң ii:

  1. қ, ғ ө ң ii .
  2. қ, ғ ұ қ қғ ң қғ қ ң .

Ққғ қ қ ғ қғ әқ ққ. қ ә қ әү қ, ң ұ ә ұ, ә ә ә ққ . RPC ө , ұ RPC ұқ ұ ә ғ ө . RPC-ң қ ғ ө ү ү қ, қ ұ қ , ң ө қ ө . ққ қ . ғ қ ә қ ңғ . қ RPC- қ- - ә . ң қғ ғ ғ ү: қ ң қ ғ ққғ қғ қ, ққғ ң қ қ қ - қ қ.

қ ғ ң қ - ғ қ құ ә қ құ қ қ қ .

ә қ ө қ ү ө RPC ң ө .

RPC-ң қ

RPC ұ ү ү, ң , ә ұ қ ққ. ұ ү қ

count=read (fd,buf,nbytes);

ұғ fd ү ,

buf ,

nbytes ү .

қ ү ү қ қғ. Read қ ғ қ ғ ң қ ә , қ ә қ ң қ қ. қ ү (by name), ә (by value) қ. қ ғ қғ -ә ғ ә . қ ө ә үұқң ә ә .

қ ғ ғ , ң әң ө қ ң әң ө . RPC үi ұ ғқ ii ғ. қ ң ғ қ . call-by-copy/restore ә ә ү қ ғ өң қ ұ.

ң қ қ құ . ұ . , , ү ә ә , .

RPC ққғ қң ғ ұқ ө. қ қ RPC- ө ө.

RPC ө . қ ққғ ғ (stub - ) ң қ ү . үұқ ғ ұқ қ ә ғ қ ү . қ үұқ ғ қғ ә ұ, ң ққғ құ.

RPC

ғ- қғ ң қ . ү ә ң ұ ұқ ғ ұ. қ ү ө ү өң ң , ә ғ . ұ ә ә ү ұ ұ ғ, қ ұ ә қ қғ ө. ә қ ә қ . , ү ң қ қ.

қ ғ қ қ, ң ә қ қ.(ң ), ң ұ ң . ң ә ққ , ғ ұқ өң ң ө ,ғғ қ ә . ң ғ ұ . Ƴ қ ә ұң қ,ғ қ қ үң ң. ғ ұң , қ .ң ғ ү қ құғғ ғ қ . қ қ ү . Өң үң ң ұғ ә қ қ ң қ. ң қ ү, өң . ү , ғ ө. Ә ң ,ә ә қ , receive қ .

ұ . ә ү қ . ғ ғ ң, ң қ . ғ ә . ү қ ө ң ә .

RPC ң 14 ңң ө қ.

1. ң қ

2.

3. қ

4. қ

5.ң қ

6. қ ү

7.ң

8. QBUS ң

9. Ethernet ә қ

10.

11.Үң өң .

12.қ қ

13. ң қң ң

14. ң

қ

ң қ ұқ қ. әң әң ғ ң ң қ. қң ң ө :ң ң ң ө,ң ө ә қ ғ қ ғ қ , ң қң . ә ү ғ ү қ қ.

қ ү қ ң қ () . -ң ,ң ө ә қ-ң құ ң .

ғ қ ә ү ң ң . қ ә ғ ү, , қ.

ң ң ғ- ү ғ қ , ә құ.

ә ғ . Ққ ғ әү қ,ң ә - . ғ .

ү ң өң , ғ binder' ғ ә . ұ - : ө , ө, ә қ қ ү





:


: 2017-02-11; !; : 1325 |


:

:

. .
==> ...

1695 - | 1626 -


© 2015-2024 lektsii.org - -

: 0.227 .