Die Datenstrukturen für Terminaltreiber sind mit 3 C-Listen verbunden:
Algorithmus zum Schreiben von Daten auf ein Terminal
algorithm terminal_write
{
while (more data to be copied from user space)
{
if (tty flooded with output data)
{
start write operation to hardware with data
on output clist;
sleep (event: tty can accept more data);
continue; /* back to while loop */
}
copy cblock size of data from user space to output clist:
line diszipline converts tab characters, etc;
}
start write operation to hardware with data on output clist;
}