Med IPC för trådlös kryptering med Intel Galileo (3 / 10 steg)
Steg 3: IPC objekt
IPC objekt kommer i två huvudsakliga familjer: SysV och POSIX. Detta projekt kommer att använda SysV utan någon verklig speciell anledning. (Båda familjer stöds på Galileo så när jag är klar med detta Instructable jag planerar att gå tillbaka och byta saker till POSIX-versioner eftersom de erbjuder några fördelar). SysV har tre IPC objekt: delat minne, semaforer och meddelandeköer. Detta projekt kommer bara att göra användningen av två första.Ett delat minne objekt är bara en del av minnet som kan nås av mer än en process. Det är det snabbaste sättet att överföra stora mängder data mellan processer. Det har dock inte någon inbyggd skydd. Utan att lägga till ytterligare synkronisering kod kommer processer sannolikt skriva över varandras data.
En semafor kan ses som en räknare för hur mycket av en delad resurs är tillgänglig. En process kan atomically (dvs. utan avbrott) öka eller minska antalet en semafor. Om en process försöker minska en semafor när antalet är noll, kommer vanligtvis processen gå sysslolös tills en annan process steg den semaphore räkning. Vikten av att gå sysslolös är att processen inte längre är konsumerar OS resurser. En naiv genomförande som i stället avsöker på räkningen till vara noll kommer att både använda OS resurser och göra det svårare för andra processer för att möta deras deadlines.
För en mer omfattande beskrivning av delat minne eller semaforer finns det många förklaringar och exempel mellan Wikipedia och Stack Overflow.