På et svært høyt nivå , datamaskiner utføre tre oppgaver: input, prosessering og produksjon. Innebygd i maskinvaren for hver datamaskin er en liten sett med instruksjoner kalles Basic Input /Output System, eller BIOS. BIOS gir lavnivå funksjoner for et datamaskin til å akseptere inngang og gi utgang. Et program , slik som en driver , gir den mellomliggende prosesstrinn for å konvertere den inngang til et format som det vil forstås av målenheten . Mange av disse programmene koordinere de ulike oppgavene som utføres ved hjelp av en postkasse , eller postboksen . MBX Postkasse
Input /output operasjoner er ofte delt inn i tråder , eller oppgaver , som kjøres samtidig. For eksempel kan spille en lydfil har tre tråder for lesing , bearbeiding og skrive lyddata. Samtidige oppgaver ofte behov for å kommunisere med hverandre og noen ganger trenger å overføre data fra en oppgave til den neste. I tillegg til å gi input /output tjenester , gir BIOS en postboks, eller postkasse , som kan brukes av tråder i den samme prosessen for å kommunisere med hverandre og for å overføre data . For eksempel kan en forelder tråd gyte flere barn , og hver av dem vil oppdatere et flagg i postboksen når deres tildelte oppgaven er fullført. Den av foreldrene vil overvåke postkassen og iverksette tiltak enten når alle oppgaver er fullført , eller hvis en oppgave ikke har ferdig innen en bestemt tidsperiode .
Postkasse Bitflagg
Mailbox Bitflagg blir ofte brukt for å representere status for flere samtidige oppgaver . For eksempel bør en oppgave som behandler lyddata ikke aktivere med mindre det er data i input buffer og ledig plass i output buffer . Å koordinere disse aktivitetene , er postboksen i utgangspunktet satt til tre , eller 11 i binær . Inngangen oppgave bruker den første bit for å indikere en fullstendig inngangsbuffer og utgangssignalet oppgave benytter den andre biten for å angi et tomt output buffer . Når postboksen er null , behandling tråden aktiveres , behandler data og nullstiller MBX biter .
Kopiere data til en postboks
Samtidige trådene er ikke begrenset til å bruke postboks Bitflagg til å kommunisere med hverandre. Eventuelle data kan plasseres i en postkasse, herunder rådata , pekere til minnebuffere som inneholder data og til og med kommandoer . Når data sendes til en postboks , blir den kopiert til postkassen.
Other Communication metoder
Postkasser er en av flere datakommunikasjon metoder som kan brukes for tråder å kommunisere i løpet av en enhet inn /ut- operasjon . Andre metoder omfatter data rør, eller PIP , datastrømmer , eller SIO , og data køer, eller QUE . Data rør og datastrømmer er lik postkasser fordi data blir kopiert og er ubegrenset . Data køer gi en kommunikasjonsmetode uten å kopiere ved hjelp av en dobbel - lenket liste som fungerer som en First -In -First - Out kø .