Speciale blokbestanden en speciale tekenbestanden zijn twee soorten speciale bestanden in Unix-achtige besturingssystemen. Ze bieden een manier waarop gebruikersprocessen kunnen communiceren met hardwareapparaten.
Speciale bestanden blokkeren worden gebruikt voor apparaten die toegankelijk zijn in gegevensblokken, zoals harde schijven en cd-rom-drives. Wanneer u leest uit of schrijft naar een speciaal blokbestand, worden de gegevens overgedragen in blokken van een bepaalde grootte. De grootte van de blokken wordt bepaald door het apparaatstuurprogramma voor het apparaat. Harde schijven gebruiken bijvoorbeeld doorgaans blokken van 512 bytes, terwijl cd-rom-drives doorgaans blokken van 2048 bytes gebruiken.
Speciale tekenbestanden worden gebruikt voor apparaten die met één teken tegelijk toegankelijk zijn, zoals toetsenborden en seriële poorten. Wanneer u leest uit of schrijft naar een speciaal tekenbestand, worden de gegevens teken voor teken overgedragen.
Het belangrijkste verschil tussen speciale blokbestanden en speciale karakterbestanden is de manier waarop ze worden benaderd. Speciale blokbestanden zijn toegankelijk in gegevensblokken, terwijl speciale tekenbestanden per teken tegelijk worden geopend.
Hier is een tabel met een samenvatting van de belangrijkste verschillen tussen speciale blokbestanden en speciale karakterbestanden:
| Kenmerk | Speciaal bestand blokkeren | Speciaal tekenbestand |
|---|---|---|
| Type apparaat | Apparaten die toegankelijk zijn in datablokken | Apparaten die met één teken tegelijk toegankelijk zijn |
| Toegangsmethode | Toegankelijk in gegevensblokken | Eén teken tegelijk geopend |
| Voorbeeldapparaten | Harde schijven, cd-rom-drives | Toetsenborden, seriële poorten |
Aanvullende informatie
* Speciale blokbestanden worden doorgaans gemaakt met de opdracht `mknod`.
* Speciale tekenbestanden worden doorgaans gemaakt met de opdracht `mknod`.
* Het bestandstype van een speciaal bestand kan worden bepaald met behulp van het commando `stat`.
* Het apparaat dat aan een speciaal bestand is gekoppeld, kan worden bepaald met behulp van het `ls`-commando. |