semafor

(semaphore) – i programmering: en datatyp som håller räkning på tillgången till gemensamma och begränsade resurser i ett it‑system. Semaforerna har två lägen som motsvarar ledig och upptagen. För varje resurs som har semaforer finns det lika många semaforer som det maximala antalet processer som samtidigt kan använda resursen. Det maximala antalet markeras traditionellt med bokstaven S. (Om bara en process åt gången kan använda resursen talar man om en binär semafor, annars om räknande semaforer.) En process som använder en resurs skickar en instruktion att en semafor ska markeras som upptagen (wait, traditionellt marke­rat med bokstaven P). När processen inte behöver resursen längre skickar den en instruktion om att en semafor ska slå om till ledig (signal, tradition­ellt mark­e­rat med bokstaven V). Och innan en process använder en resurs kollar den sema­for­erna för att se om det finns någon ledig plats; om ingen tillgång till resursen är ledig måste processen vänta. Semaforerna håller bara räkning på antalet lediga respektive upptagna resurser, inte på exakt vilka det är. – Ordet: Från början var en semafor en mekanisk signal i form av en rörlig skylt, använd på järnvägar och avsedd att kunna avläsas på långt håll. Det är en förfranskning av grekiska sema – tecken och phoros – bärare.

[programmering] [5 juni 2017]