Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Besturingssysteem >> Linux >> Content
Wat UNIX Operating System 's worden gebruikt voor Named Pipes maken ?
In het Unix-besturingssysteem , een pijp is een logisch systeem apparaat dat communiceert tussen twee Unix processen . Sinds een pijp worden gegevens tussen twee processen op een First - In - First - Out basis , worden ze ook wel FIFO pijpen . Er zijn twee soorten buizen in Unix - de naam en het naamloze pipes . Ze zijn hetzelfde in gedrag en semantiek , behalve dat named pipes hebben een naam en een vermelding in het telefoonboek , als een bestand . Named pipes bieden het voordeel van beveiliging met lees - schrijf rechten evenals automatische bescherming door het systeem wanneer ze worden gedeeld door veel processen . Maak een Named Pipe Op de commandoregel

Het programma " mknod " en " mkfifo " maak een named pipe op de shell prompt . De eerste letter van de invoer is " p ", wat aangeeft dat het apparaat is een pijp . " 0666 " is de modus gebruikt, die wordt gewijzigd met behulp van de huidige waarde van umask . Start het programma " man " voor gedetailleerde handleiding inzendingen op " mknod " en " mkfifo ' op uw systeem . " mknod " is een generieke commando voor alle typen apparaten

$ mknod nmpipe_multiway por $ mkfifo nmpipe_multiway 0666

Zie de pijp als een directory listing : . $ ls-l
< br >
Maak een Named pipe in een C-programma

Bel het Unix-systeem functie mkfifo ( ) om de named pipe in een program.The eerste parameter te creëren is de naam van de pijp en het pad aan. "Mode " geeft de toegangsrechten waarmee u de named pipe te creëren . De functie neemt de O_CREATE | O_EXCL vlaggen , wat betekent dat het zal een foutmelding geven als de pijp al bestaat . Een return waarde van nul geeft aan dat de pijp is aangemaakt

De functie prototype is : . Int mkfifo ( const char * pad , mode_t modus ) ;
Open het Named pipe

Bel het Unix-systeem functie open () of de standaard C library call fopen ( ) naar een named pipe openen als alleen-lezen , alleen schrijven of lezen schrijven , volgens de parameter van het programma loopt . Daarentegen zijn naamloze pipes gemaakt met de pijp ( ) oproep . Gedrag van de open () functie is hetzelfde voor alle apparaten inclusief bestanden . Bij succesvolle , open () retourneert een device descriptor en fopen ( ) de wijzer keert terug naar de C library structuur "FILE . " Verschillende processen kunnen lezen en schrijven naar de named pipe . Als een proces opent de buis voor het lezen, het slaapt totdat een ander proces opent de zelfde pijp voor het schrijven en vice - versa . De Unix kernel , of kern , wekt de slaap proces zodra de verwachte gebeurtenis zich voordoet .
Lees - Schrijven op FIFO

Bel de functies read ( ) en schrijven ( ) te lezen van en schrijven naar named pipes . Met pijpen , het FIFO concept is vergelijkbaar met een schrijfproces met een einde van de buis en een leesproces van het andere uiteinde . Het aantal processen lezen mag niet gelijk zijn aan het aantal processen schrijven . Als er meer dan een proces leest of schrijft , de processen coördineert de werkzaamheden met behulp van de multi - tasking algoritmen in Unix . De Unix kernel behandelt gegevens in een pijp als het bestand gegevens zou behandelen . Bij een named pipe , de wijze waarop deze wordt geopend dwingt vereiste veiligheid . Ook zijn named pipes automatisch beveiligd wanneer gedeeld door meerdere processen : Synchronisatie om data-integriteit te handhaven valt op de schouder van de programmeur bij het gebruik van niet nader genoemde leidingen
Managing vol of leeg Pijpen

Als een proces probeert om gegevens te schrijven naar een pijp en er geen ruimte is , drukt de kernel het proces om te slapen tot de pijp schrijft de gegevens naar fysieke opslag . Ook een poging om te lezen uit een lege pijp zet het proces om te slapen tot een ander proces schrijft gegevens naar de buis . In deze gevallen , de kernel behandelt naam en naamloze pipes gelijk.
Sluit een Named Pipe

Bel het systeem functie close ( ) of standaard C -functie fclose ( ) om sluit een named pipe . Het sluiten van een named pipe is hetzelfde als een bestand sluit , behalve dat de kern volgens een bijzondere procedure voordat de middelen bezet door de buis . Als slapen processen wachten op de buis te lezen , de Unix kernel wakker ze op en ze terugkomen van het lezen ( ) functie zonder gegevens . Als er geen lees -processen op deze buis en sommige processen zijn slapen op schrijven , de kernel wakker ze op en ze terug te keren zonder het schrijven . Bij het sluiten van een named pipe , de kernel behandelt het als een naamloos pijp voor consistentie.

Previous: Next:
  Linux
·Hoe de ATI Installer gebruiken…
·Hoe maak je een Grub Boot Maak…
·Hoe te OpenSUSE 11.2 installer…
·Hoe te Voorwaarde Vervang in A…
·Hoe naar WAV converteren naar …
·Hoe kan ik een nieuw thema op …
·Hoe het opzetten van een Apach…
·Hoe maak je Linux sneller lope…
·Hoe vind ik het Sudo vergeten …
  Related Articles
Hoe je Auto Login inschakelen in Windows…
Wat zijn de functies van Microsoft Windo…
Hoe te vertellen Wat Huidig ​​Service Pa…
Wat zijn de voordelen van upgraden naar …
Wat betekent het bericht langer is dan n…
Wat is de oorzaak een Runtime Fout in Wi…
Wat is de Registry Cleaner in Windows XP…
Wat is XP Pro OEM ? 
Over Windows XP Operating System 
  Besturingssysteem Articles
·Hoe maak Songs spelen op Windows Start U…
·Hoe de Tijdzone van de Register-editor F…
·Hoe maak je een CD - ROM Driver Fix 
·Hoe te herstellen verwijderde bestanden …
·Hoe te Pas een iDock 
·Hoe je oudere versies van Adobe Upgrade …
·Problemen met Windows XP Service Pack 2 …
·Hoe te Startup taakbalk items te verwijd…
·Hoe te openen een tweede Ubuntu 8.10 Ter…
Copyright © Computer Kennis http://www.nldit.com