Vad är en blockenhet? [duplicera]

<åt sidan class = "s-notice s-notice__info js-post-notice mb16" role = "status">

Denna fråga har redan svar här :

Svar

A Blockera specialfil eller blockera enhet är :

En fil som hänvisar till en enhet. En speciell blockfil skiljer sig normalt från en specialfil genom att ge åtkomst till enheten på ett sådant sätt att enhetens hårdvarukarakteristik inte syns. / p>

De exakta maskinvaruegenskaperna abstraheras genom cachning på kärn- eller förarnivå. Blockeringsenheter representerar vanligtvis hårdvara som hårddiskar, men det är plattformsberoende. FreeBSD har till exempel inte några blockenheter .

Filer är i allmänhet inte enheter.

”Blockera enhet”, som kastas runt med hänvisning till filer, hänvisar till specifika enhetsfiler i (troligtvis) /dev. Det är till stor del en implementeringsdetalj från användarnivå, med ett gränssnitt exponerat av föraren. Många typer av hårdvara är blockstrukturerade internt, men både block- och karaktärsenheter kan användas för att komma åt dem.

Svar

Förmodligen kommer du aldrig att kunna hitta en enkel definition av detta. Men på det mest allmänna och förenklade sättet, om du jämför en karaktärsenhet med en blockenhet, kan du säga att karaktärenheten ger dig direkt åtkomst till hårdvaran, som om du lägger in en byte, som byten kommer till hårdvaran naturligtvis är det inte så enkelt som det idag). Medan blockanordningen läser från och skriver till enheten i block av olika storlekar. Du kan ange blockstorlek, men eftersom kommunikationen är ett block i taget, är det en bufferttid involverad.

Tänk på en blockenhet som en hårddisk där du läser och skriver ett block med data åt gången, och karaktärenheten är en seriell port. Du skickar en byte med data och den andra sidan tar emot den byten och sedan nästa, och så vidare och så vidare.

Återigen är det inte ett mycket enkelt koncept att förklara. Exemplen jag gav är grova generaliseringar och kan lätt motbevisas för en viss implementering av varje exempel.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *