Met behulp van IPC voor draadloze codering met Intel Galileo (5 / 10 stap)

Stap 5: De functies van de Open/Close


Het openen en sluiten functies abstract weg allermeest naar de gegevens voor het genereren van IPC-objecten. Dit biedt een schonere en eenvoudiger interface voor de gebruiker schrijven de schets.
Open In de methode open, vier sleutels worden gemaakt met verschillende bestanden en de opgegeven ID (moet niet-nul) wanneer dit exemplaar van de IPCBuffer is gemaakt. Dit staat slechts 255 IPCBuffer objecten die kunnen worden gebruikt in een keer.

De buffer die wordt gebruikt om te houden van de gegevens tussen de Python en schets van processen wordt bepaald door de breedte en lengte. Breedte is het aantal bytes die deel van één enkele toegelaten eenheid gegevens uitmaken. Bijvoorbeeld, codeert AES gegevens in op 16-byte blokken, zodat de breedte zou 16. Het zinvol niet in dit geval om een proces te lezen meer of minder dan 16 bytes op een moment, aangezien de gegevens onvolledig zou zijn. We zullen later zien waarom we niet toestaan dat een proces te lezen of schrijven van meer dan één breedte de waarde van de gegevens tegelijk.

De lengte van de buffer is hoeveel eenheden van gegevens daarin kan worden opgeslagen. Dus als de buffer 5 AES blokken bevatten kan, de lengte 5 worden zou en zou de totale omvang in bytes (16 bytes) * 5 = 80 bytes. Om een proces te weten waar het moet lezen of schrijven vervolgens in de buffer, moeten we een kop en staart index. Gegevens worden geschreven naar de buffer aan het hoofd en gelezen van de staart. Deze vier stukken van gegevens moeten worden geplaatst aan het begin van het gedeelde geheugen segment. Anders is de Python-script zou niet weten hoe groot de buffer is of waar het moet lezen of schrijven van gegevens. De bovenstaande afbeelding ziet u hoe een gedeeld geheugen segment zou worden opgezet voor een breedte van 2 en lengte van 4.

De semafoor vertegenwoordigen de vrije ruimte in de buffer wordt geïnitialiseerd als 'lengte' en de semafoor voor hoeveel geldige gegevens in de buffer is ingesteld op 0. Een derde semafoor, sem_lock, is ingesteld op 1 zodat we slechts een enkel proces te lezen of schrijven van het gedeelde geheugen segment tegelijk. Zonder dit slot zou de code niet veilig zijn met meerdere lezers en schrijvers.
Nauwe De methode close vernietigt gewoon de huidige IPC-objecten. shmdt: Hiermee wordt het gedeelde geheugen segment losgekoppeld en shmctl (die heeft vergelijkbare argumenten aan semctl) markeert het segment moet worden verwijderd. Wanneer geen meer processen zijn aangesloten het willl worden verwijderd. Op dit punt wordt de sleutel weergegeven als 0 in /proc/sysvipc/shm van de kat. Na het aanroepen van semctl te verwijderen van de semaforen die ze zullen onmiddellijk worden verwijderd en kat zal /proc/sysvipc/sem niet meer laten zien

Gerelateerde Artikelen

Aan de slag met Intel Galileo

Aan de slag met Intel Galileo

Ik heb onlangs Intel Galileo vanuitMicroscoop aangezien ik behoor tot de finalistIoT concurrentie. Nu ben ik mijn tijd doen een heleboel creatieve materialen met mijn Galileo doorbrengen. Ik schrijf dit instructable zijn voor iedereen die wilde aan d
Interfacing Keypad en LCD-scherm met Intel Galileo

Interfacing Keypad en LCD-scherm met Intel Galileo

IntroductieIn deze tutorial ga je laten zien hoe interface van vloeibare kristallendisplay en een toetsenbord met Intel Galileo. In deze tutorial zullen we gebruiken een 16 x 2 LCD, 2 rijen of teken in 16 kolommen weergegeven.Stap 1: De onderdelen;On
Raadselachtig Ladenkastje opent met behulp van twitter en draadloze energie

Raadselachtig Ladenkastje opent met behulp van twitter en draadloze energie

Een raadselachtige cadeau! Mijn "slachtoffer" wordt gegeven drie vakken:Een zeer kleine doos vergrendeld met ketting en een hangslot.Een vergrendelde kleine doos met geen buiten sloten, dat is gesloten en heeft een reflecterende bovenste deksel.
Robo-auto met behulp van 360 ° servomotor draadloze

Robo-auto met behulp van 360 ° servomotor draadloze

smart auto robot met behulp van 360 graden continue rotatie servomotor.Stap 1: onderdelen Stap 2: maken van stappen Stap 3: prototype Stap 4: draadloze communicatie systeem - zigbee Stap 5: programma #include < Servo.h >/////////////////////////////
Met behulp van Codea voor de iPad

Met behulp van Codea voor de iPad

Codea door twee woont links is een van de hoogste kwaliteit codering omgevingen beschikbaar voor de iPad. Met behulp van Codea op de iPad is veruit de beste codering van de ervaring die men zou kunnen hopen op een iPad. Voor degenen onder u die nieuw
Met behulp van gelatine voor schimmels en protheses

Met behulp van gelatine voor schimmels en protheses

na mijn ' ible over alginaat gebruiken als een mal maken materiaal, er waren veel vragen over materialen en het verkrijgen van hen. Hier is een andere methode die gebruikmaakt van alleen de items die beschikbaar zijn.Gelatine is een veel genegeerde p
Disco Party licht met behulp van decoraties voor de feestdagen van de overgebleven

Disco Party licht met behulp van decoraties voor de feestdagen van de overgebleven

mijn nichtje is van plan om een Disco thema verjaardagsfeest dit jaar, en dus we hebben al op zoek naar goedkoop disco lichten voor haar partij.  Voor Halloween hadden we verschillende knipperende LED decoratieve geest die waren gekocht van de dollar
A maken 3D Print van begin tot het bestand met behulp van Zbrush voor Beginners

A maken 3D Print van begin tot het bestand met behulp van Zbrush voor Beginners

U moet:Een computer Zbrush 4R4 of een vergelijkbare groep Z plugin 3D Printer exporteur (vrij van Pixologic van web-pagina)Tijd: 2-3 uurOK, dit is mijn eerste instructable en ik hoop dat u het nuttig vinden. Het doel is om te laten zien dat jullie he
Met behulp van Diodes voor ventilator controle.

Met behulp van Diodes voor ventilator controle.

Dit in alternatief voor het gebruik van reostaten en chips voor het beheersen van de snelheid van de ventilator.Het idee voor deze kwam uit http://www.cpemma.co.uk/sdiodes.html nu http://www.pcsilencioso.com/cpemma/sdiodes.html en ik wilde uitleggen
Met behulp van Printcraft voor afdrukken in 3D

Met behulp van Printcraft voor afdrukken in 3D

3D printen kunnen een heleboel plezier. Er zijn zoveel gratis printables op sites zoals Thingiverse die u zal nooit opraken van de dingen om af te drukken. Maar wat als u liever uw eigen oorspronkelijke object zou afdrukken? SketchUp en blender zijn
Met behulp van curven voor kleur enhacement

Met behulp van curven voor kleur enhacement

Deze tutorial is bedoeld voor beginners, het is een eenvoudige manier om kleuren te verbeteren en het aantal drama toevoegen aan uw foto's met behulp van curven in Photoshop. Ik heb een oudere versie van Photoshop CS5 die ik op Mac draait ben, er zij
Maken van foto's van truc met behulp van Gimp voor Windows software

Maken van foto's van truc met behulp van Gimp voor Windows software

In de foto hierboven, lijkt het dat ik heb een 32 Ford coupe in mijn oprit met draaiende motor en uitlaat dampen die uit de dubbele uitlaat pijpen.  Dit is eigenlijk een schaalmodel 1/24, die ik uitgebreid aan het passen van de scène.  Terwijl sommig
Met behulp van Sugru voor een nieuwe crockpot deksel greep

Met behulp van Sugru voor een nieuwe crockpot deksel greep

de plastic handvat brak het glas deksel van onze crockpot deksel.Ik heb besloten dat ik de Sugru genadig kopen van Instructables en Sugru voor een wedstrijd zou gebruiken om het maken van een nieuwe greep voor het deksel.Stap 1: Maak het handvat-onde
Pirate's hoed met behulp van papier voor Halloween

Pirate's hoed met behulp van papier voor Halloween

Hoi allemaalIn dit instructable. Ik zal delen hoe ik maakte een eenvoudige pirate's hoed voor mijn zoon voor Halloween.Dit is eenvoudige ambacht, zeer eenvoudig te maken, nauwelijks neemt 2 uurStap 1: materialenWat we nodig hebben?Zwarte grafiek papi