Vid en mycket hög nivå , datorer utför tre uppgifter : input , bearbetning och produktion . Inbäddad i hårdvaran för varje dator är en liten uppsättning instruktioner kallas Basic Input /Output System , eller BIOS . BIOS tillhandahåller låg - nivå funktionalitet för en dator att acceptera indata och ger utdata . Ett program , såsom en anordning drivrutinen, ger det mellanliggande bearbetningssteg för att omvandla inmatningen till ett format som kommer att förstås av målenheten. Många av dessa program samordna de olika uppgifter som utförs med hjälp av en brevlåda , eller MBX . MBX Brevlåda
Input /Output verksamheten ofta är uppdelad i trådar , eller uppgifter , som kör samtidigt . Till exempel , kan spela en ljudfil har tre trådar för att läsa , bearbeta och skriva ljuddata . Samtidiga arbetsuppgifter behöver ofta kommunicera med varandra och ibland behöver för att skicka data från en uppgift till nästa . Förutom att ge input /output tjänster , tillhandahåller BIOS en brevlåda eller brevlåda , som kan användas av trådar i samma process för att kommunicera med varandra och att skicka data . Till exempel kan en förälder tråd leka flera barn , var och en av dem kommer att uppdatera en flagga i MBX när deras tilldelade uppgiften är slutförd . Föräldern kommer att övervaka brevlådan och vidta åtgärder antingen när alla uppgifter är fullständiga eller om en uppgift inte har slutförts inom en viss tidsperiod .
Brevlåda Bit Flaggor
brevlåda bitars flaggor används ofta för att representera status för flera samtidiga arbetsuppgifter . Till exempel bör en uppgift som bearbetar ljuddata aktiveras inte om det inte finns data i inbufferten och ledigt utrymme i utbufferten . För att samordna dessa verksamheter , är MBX initialt satt till tre , eller 11 i binär . Ingången uppgiften använder den första biten för att indikera en full ingångsbuffert och utgången uppgiften använder den andra biten för att indikera en tom utgång buffert . När MBX är noll, bearbetning tråd aktiverar , bearbetar data och återställer MBX bitarna .
Kopiera data till en brevlåda
Samtidiga
trådar är inte begränsad till att använda flaggor brevlåda bit för att kommunicera med varandra . Alla data kan placeras i en brevlåda , inklusive rådata , pekare till minnesbuffertar som innehåller data och även kommandon . När data skickas till en brevlåda , är det kopieras till brevlådan .
Andra kommunikationsmetoder
Brevlådor är en av flera datakommunikationstjänster metoder som kan användas för gängor att kommunicera under en anordning in /ut- operation. Andra metoder inkluderar uppgifter rör, eller PIP , dataströmmar , eller SIO , och köer data eller QUE . Data rör och dataströmmar liknar brevlådor eftersom data kopieras och är obegränsad . Data köer ger en kommunikationsmetod utan att kopiera genom att använda en dubbel - länkad lista som fungerar som en första - In - First - Out kö .