Inter Process Communication (IPC) v OS

Co je meziprocesovรก komunikace?

Meziprocesovรก komunikace (IPC) se pouลพรญvรก pro vรฝmฤ›nu dat mezi vรญce vlรกkny v jednom nebo vรญce procesech nebo programech. Procesy mohou bฤ›ลพet na jednom nebo vรญce poฤรญtaฤรญch propojenรฝch sรญtรญ. Plnรก forma IPC je meziprocesovรก komunikace.

Jednรก se o sadu programovacรญho rozhranรญ, kterรฉ umoลพลˆuje programรกtorovi koordinovat aktivity mezi rลฏznรฝmi programovรฝmi procesy, kterรฉ mohou bฤ›ลพet souฤasnฤ› v operaฤnรญm systรฉmu. To umoลพลˆuje konkrรฉtnรญmu programu zpracovat mnoho poลพadavkลฏ uลพivatelลฏ souฤasnฤ›.

Vzhledem k tomu, ลพe kaลพdรฝ poลพadavek uลพivatele mลฏลพe mรญt za nรกsledek spuลกtฤ›nรญ vรญce procesลฏ v operaฤnรญm systรฉmu, mลฏลพe proces vyลพadovat vzรกjemnou komunikaci. Kaลพdรฝ pล™รญstup protokolu IPC mรก svรฉ vรฝhody a omezenรญ, takลพe nenรญ neobvyklรฉ, ลพe jeden program pouลพรญvรก vลกechny metody IPC.

Pล™รญstupy pro meziprocesovou komunikaci

Zde je nฤ›kolik dลฏleลพitรฝch metod pro meziprocesovou komunikaci:

Pล™รญstupy pro meziprocesovou komunikaci
Meziprocesovรฉ komunikaฤnรญ pล™รญstupy

Trubky

Pipe se ลกiroce pouลพรญvรก pro komunikaci mezi dvฤ›ma souvisejรญcรญmi procesy. Jednรก se o poloduplexnรญ metodu, takลพe prvnรญ proces komunikuje s druhรฝm procesem. Aby vลกak bylo dosaลพeno plnรฉho duplexu, je zapotล™ebรญ dalลกรญ potrubรญ.

Pล™edรกvรกnรญ zprรกv

Je to mechanismus pro komunikaci a synchronizaci procesu. Pomocรญ pล™edรกvรกnรญ zprรกv proces mezi sebou komunikuje, aniลพ by se uchyloval ke sdรญlenรฝm promฤ›nnรฝm.

Mechanismus IPC poskytuje dvฤ› operace:

  • Odeslat (zprรกvu) - velikost zprรกvy pevnรก nebo promฤ›nnรก
  • Pล™ijato (zprรกva)

Fronty zprรกv

Fronta zprรกv je propojenรฝ seznam zprรกv uloลพenรฝch v jรกdro. Je identifikovรกn identifikรกtorem fronty zprรกv. Tato metoda nabรญzรญ komunikaci mezi jednรญm nebo vรญce procesy s plnฤ› duplexnรญ kapacitou.

pล™รญmรก komunikace

V tomto typu meziprocesovรฉho komunikaฤnรญho procesu by se mฤ›ly navzรกjem explicitnฤ› jmenovat. V tรฉto metodฤ› je vytvoล™eno spojenรญ mezi jednou dvojicรญ komunikujรญcรญch procesลฏ a mezi kaลพdou dvojicรญ existuje pouze jedna vazba.

Nepล™รญmรก komunikace

Nepล™รญmรก komunikace navazuje jako pouze tehdy, kdyลพ procesy sdรญlejรญ spoleฤnou poลกtovnรญ schrรกnku, kaลพdรก dvojice procesลฏ sdรญlรญ nฤ›kolik komunikaฤnรญch linek. Odkaz mลฏลพe komunikovat s mnoha procesy. Spojenรญ mลฏลพe bรฝt obousmฤ›rnรฉ nebo jednosmฤ›rnรฉ.

Sdรญlenรก pamฤ›ลฅ

Sdรญlenรก pamฤ›ลฅ je pamฤ›ลฅ sdรญlenรก mezi dvฤ›ma nebo vรญce procesy, kterรฉ jsou vytvoล™eny pomocรญ sdรญlenรฉ pamฤ›ti mezi vลกemi procesy. Tento typ pamฤ›ti vyลพaduje, aby byla vzรกjemnฤ› chrรกnฤ›na synchronizacรญ pล™รญstupu napล™รญฤ vลกemi procesy.

FIFO

Komunikace mezi dvฤ›ma nesouvisejรญcรญmi procesy. Jde o plnฤ› duplexnรญ metodu, coลพ znamenรก, ลพe prvnรญ proces mลฏลพe komunikovat s druhรฝm procesem a mลฏลพe se stรกt i opak.

Proฤ IPC?

Zde jsou dลฏvody pro pouลพitรญ meziprocesnรญho komunikaฤnรญho protokolu pro sdรญlenรญ informacรญ:

  • Pomรกhรก urychlit modularitu
  • Vรฝpoฤetnรญ
  • Oddฤ›lenรญ vรฝsad
  • Pohodlรญ
  • Pomรกhรก operaฤnรญmu systรฉmu komunikovat mezi sebou a synchronizovat jejich akce.

Termรญny pouลพรญvanรฉ v IPC

Nรญลพe je uvedeno nฤ›kolik dลฏleลพitรฝch termรญnลฏ pouลพรญvanรฝch v IPC:

Semaphores: Semafor je technika signalizaฤnรญho mechanismu. Tato metoda OS buฤ povolรญ, nebo zakรกลพe pล™รญstup k prostล™edku, coลพ zรกvisรญ na tom, jak je nastaven.

Signals: Je to zpลฏsob komunikace mezi vรญce procesy prostล™ednictvรญm signalizace. Zdrojovรฝ proces vyลกle signรกl, kterรฝ je rozpoznรกn ฤรญslem, a cรญlovรฝ proces jej zpracuje.

Doporuฤenรญ ke ฤtenรญ: - Co je to Semaphore? Binรกrnรญ, typy poฤรญtรกnรญ s pล™รญkladem

Co je jako FIFOS a na rozdรญl od FIFOS

Jako FIFOS Na rozdรญl od FIFOS
Postupuje se metodou FIFO Metoda stahovรกnรญ konkrรฉtnรญch nalรฉhavรฝch zprรกv dล™รญve, neลพ se dostanou na frontu
FIFO existuje nezรกvisle na procesech odesรญlรกnรญ i pล™รญjmu. Vลพdy pล™ipraven, takลพe nenรญ tล™eba otevรญrat ani zavรญrat.
Umoลพลˆuje pล™enos dat mezi nesouvisejรญcรญmi procesy. Nemรก ลพรกdnรฉ problรฉmy se synchronizacรญ mezi otevล™enรญm a zavล™enรญm.

Shrnutรญ

  • Definice: Meziprocesovรก komunikace se pouลพรญvรก pro vรฝmฤ›nu dat mezi vรญce vlรกkny v jednom nebo vรญce procesech nebo programech.
  • Pipe se ลกiroce pouลพรญvรก pro komunikaci mezi dvฤ›ma souvisejรญcรญmi procesy.
  • Pล™edรกvรกnรญ zprรกv je mechanismus pro komunikaci a synchronizaci procesu.
  • Fronta zprรกv je propojenรฝ seznam zprรกv uloลพenรฝch v jรกdล™e
  • Pล™รญmรฝ proces je typ meziprocesovรฉho komunikaฤnรญho procesu, kterรฝ by se mฤ›l explicitnฤ› jmenovat.
  • Nepล™รญmรก komunikace navazuje jako pouze tehdy, kdyลพ procesy sdรญlejรญ spoleฤnou poลกtovnรญ schrรกnku, kaลพdรก dvojice procesลฏ sdรญlรญ nฤ›kolik komunikaฤnรญch linek.
  • Sdรญlenรก pamฤ›ลฅ je pamฤ›ลฅ sdรญlenรก mezi dvฤ›ma nebo vรญce procesy, kterรฉ jsou vytvoล™eny pomocรญ sdรญlenรฉ pamฤ›ti mezi vลกemi procesy.
  • Metoda Inter Process Communication pomรกhรก urychlit modularitu.
  • Semafor je technika signalizaฤnรญho mechanismu.
  • Signaling je zpลฏsob komunikace mezi vรญce procesy prostล™ednictvรญm signalizace.
  • Stejnฤ› jako FIFO nรกsleduje metodu FIFO, zatรญmco na rozdรญl od FIFO pouลพรญvรก metodu k vytaลพenรญ konkrรฉtnรญch nalรฉhavรฝch zprรกv pล™edtรญm, neลพ se dostanou do popล™edรญ.

Shrลˆte tento pล™รญspฤ›vek takto: