In Linux erfolgt der Zugriff auf alle Schnittstellen über eine spezielle Datei.
Während es in MS - DOS und in darauf aufbauenden grafischen Oberflächen notwendig ist, direkt auf die Hardware des Systems zuzugreifen, um mit den Schnittstellen arbeiten zu können, genügt es in Linux, diese Datei zu öffnen und, wie bei jeder gewöhnlichen Datei, daraus zu lesen oder hineinzuschreiben.
Vor dem Öffnen der Datei müssen aber die Zugriffsberechtigungen für die betreffende Schnittstelle gesetzt werden; ansonsten verweigert das Betriebssystem den Schreib- und auch den Lesezugriff. Um die Berechtigungen zu setzen, wird die folgende Funktion verwendet:
int ioperm (int port, int offset, int rights);
Im Parameter port muss dabei die Adresse der Schnittstelle übergeben werden, in offset die Anzahl von Bytes, für die die Berechtigungen gesetzt werden sollen. In rights werden schließlich die Berechtigungen angegeben. Bei Erfolg liefert ioperm 0 zurück, ansonsten -1.
Es ist zu beachten, dass nur der Systemadministrator root das Recht hat, auf die Schnittstellen zuzugreifen.
Nach erfolgreichem Setzen der Zugriffsberechtigungen kann die Datei /dev/ports für Lese- und Schreibzugriff geöffnet werden. Um von einer bestimmten Adresse zu lesen oder auf eine bestimmte Adresse zu schreiben, genügt es nun, den Dateizeiger auf die richtige Position zu setzen und dann zu lesen oder zu schreiben. Die Adresse eines bestimmten Registers ist in /dev/ports der Abstand vom Dateianfang. Um beispielsweise auf die Adresse 378h zugreifen zu können, muss der Dateizeiger auf ein Offset von 378h Bytes vom Dateianfang gesetzt werden.