Wat is een blokapparaat? [duplicate]

Deze vraag heeft hier al antwoorden :

Antwoord

A Blok speciaal bestand of blok apparaat is :

Een bestand dat verwijst naar een apparaat. Een speciaal blokbestand wordt normaal gesproken onderscheiden van een -teken speciaal bestand door toegang tot het apparaat te bieden op een zodanige manier dat de hardwarekenmerken van het apparaat niet zichtbaar zijn.

De precieze hardwarekenmerken worden weggenomen door caching op kernel- of driver-niveau. Blokapparaten vertegenwoordigen gewoonlijk hardware zoals schijfstations, maar dat is platformafhankelijk. FreeBSD heeft bijvoorbeeld helemaal geen blokapparaten .

Bestanden zijn over het algemeen geen apparaten.

“Block device”, zoals rondgegooid verwijzend naar bestanden, verwijst naar de specifieke apparaatbestanden in (waarschijnlijk) /dev. Het is grotendeels een implementatiedetail van het gebruikersniveau, met een interface blootgelegd door de bestuurder. Veel soorten hardware zijn intern blokgestructureerd, maar zowel blok- als tekenapparaten kunnen worden gebruikt om er toegang toe te krijgen.

Antwoord

Waarschijnlijk zult u hier nooit een eenvoudige definitie van kunnen vinden. Maar op de meest algemene en simplistische manier, als je een character device vergelijkt met een block device, dan kun je zeggen dat het character device je directe toegang geeft tot de hardware, als je één byte invoert, gaat die byte naar de hardware (van natuurlijk is het niet zo eenvoudig als dat in deze tijd). Terwijl het blokapparaat leest van en schrijft naar het apparaat in blokken van verschillende groottes. U kunt de blokgrootte specificeren, maar aangezien de communicatie blok per keer is, is er een buffertijd bij betrokken.

Beschouw een blokapparaat als een harde schijf waarop u één blok gegevens tegelijk leest en schrijft, en het tekenapparaat is een seriële poort. Je stuurt de ene byte aan gegevens en de andere kant ontvangt die byte en dan de volgende, enzovoort, enzovoort.

Nogmaals, het is geen erg eenvoudig concept om uit te leggen. De voorbeelden die ik gaf zijn grove generalisaties en kunnen gemakkelijk worden weerlegd voor een specifieke implementatie van elk voorbeeld.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *