À un niveau très élevé , les ordinateurs remplissent trois missions: entrée , traitement et sortie . Intégré dans le matériel de chaque ordinateur est un petit jeu d'instructions appelé Input /Output System Basic, ou BIOS. BIOS offre des fonctions de bas niveau pour un ordinateur pour accepter l'entrée et fournir une sortie . Un programme , par exemple un pilote de périphérique, fournit l'étape de traitement intermédiaire pour convertir l' entrée en un format qui sera comprise par le dispositif cible . Beaucoup de ces programmes coordonner les différentes tâches en cours d'exécution en utilisant une boîte aux lettres ou BAL . MBX Courrier
opérations d'entrée /sortie
sont souvent divisés en fils , ou des tâches , qui s'exécutent simultanément. Par exemple, la lecture d'un fichier audio peut avoir trois fils pour la lecture , le traitement et l'écriture des données audio. Tâches simultanées ont souvent besoin de communiquer entre eux et ont parfois besoin de transmettre des données d'une tâche à l'autre. En plus de fournir des services d' entrée /sortie , le BIOS fournit une BAL, ou boîte aux lettres, qui peut être utilisé par des fils dans le même processus pour communiquer les uns avec les autres et pour transmettre des données . Par exemple, un thread parent peut engendrer plusieurs enfants , dont chacun va mettre à jour un drapeau dans MBX lorsque leur tâche assignée est terminée. Le parent suivra la boîte aux lettres et de prendre des mesures , soit lorsque toutes les tâches sont terminées ou si une tâche n'est pas terminée dans une période de temps spécifique.
Boîte aux lettres indicateurs binaires
boîte aux lettres indicateurs binaires sont couramment utilisés pour représenter l'état de plusieurs tâches simultanées . Par exemple, une tâche qui traite les données audio ne doit pas activer moins qu'il y ait des données dans le tampon d'entrée et l'espace libre dans la mémoire tampon de sortie. Pour coordonner ces activités , BAL est initialement fixé à trois , soit 11 en binaire. La tâche d'entrée utilise le premier bit pour indiquer une mémoire tampon d'entrée pleine et la tâche de sortie utilise le second bit pour indiquer un tampon de sortie vide . Lorsque BAL est zéro , le fil transformation active , traite les données et réinitialise les bits MBX .
Copie de données vers une boîte
threads simultanés ne sont pas limité à l'aide d'indicateurs de bits de boîte aux lettres pour communiquer avec l'autre. Les données peuvent être placées dans une boîte aux lettres , incluant des données brutes, des pointeurs vers des tampons de mémoire qui contiennent des données et des commandes même . Lorsque les données sont envoyées à une boîte aux lettres , il est copié dans la boîte aux lettres .
Autres méthodes de communication
boîtes aux lettres sont une des nombreuses méthodes de communication de données qui pourraient être utilisées pour les discussions pour communiquer pendant une opération d' entrée /sortie . D'autres méthodes incluent les tuyaux de données, ou PIP , flux de données , ou de SiO , et les files d'attente de données ou Qué. Tuyaux de données et les flux de données sont semblables aux boîtes aux lettres parce que les données sont copiées et n'est pas limité. Files d'attente de données fournissent une méthode de communication sans copier en utilisant une liste doublement liée qui fonctionne comme une file d'attente premier entré, premier sorti.