Ero sivun ”Zero” versioiden välillä
Jem (keskustelu | muokkaukset) (korjattu: /dev/zero ei palauta yhtä nollatavua, vaan niin monta kuin halutaan. Lisätty maininta mmap:sta.) |
Jem (keskustelu | muokkaukset) p (tarkennus: mmap-kutsun parametriksi ei anneta "/dev/zero" suoraan, vaan open-kutsun palauttama tiedostokahva.) |
||
Rivi 1: | Rivi 1: | ||
<tt>/dev/zero</tt> on Unix-järjestelmissä (myös Linux) [[Linuxin hakemistorakenne|<tt>/dev</tt>-hakemistossa]] sijaitseva [[laitetiedosto]], johon kaikilla käyttäjillä on [[tiedoston oikeudet|kirjoitusoikeus]], mutta johon kirjoitettu data yksinkertaisesti häviää. Se muistuttaa läheisesti [[null|<tt>/dev/null</tt>-laitetiedostoa]], mutta erotuksena <tt>/dev/zero</tt>sta lukeminen palauttaa nollatavuja '\0', eli [[wikipedia:fi:tavu|tavuja]], jossa kaikki [[wikipedia:fi:bitti|bitit]] ovat 0-arvoisia. Lukeminen <tt>/dev/zero</tt>-tiedostosta ei koskaan katkea tiedoston loppuun, vaan nollatavuja palautetaan aina pyydetty määrä. | <tt>/dev/zero</tt> on Unix-järjestelmissä (myös Linux) [[Linuxin hakemistorakenne|<tt>/dev</tt>-hakemistossa]] sijaitseva [[laitetiedosto]], johon kaikilla käyttäjillä on [[tiedoston oikeudet|kirjoitusoikeus]], mutta johon kirjoitettu data yksinkertaisesti häviää. Se muistuttaa läheisesti [[null|<tt>/dev/null</tt>-laitetiedostoa]], mutta erotuksena <tt>/dev/zero</tt>sta lukeminen palauttaa nollatavuja '\0', eli [[wikipedia:fi:tavu|tavuja]], jossa kaikki [[wikipedia:fi:bitti|bitit]] ovat 0-arvoisia. Lukeminen <tt>/dev/zero</tt>-tiedostosta ei koskaan katkea tiedoston loppuun, vaan nollatavuja palautetaan aina pyydetty määrä. | ||
<tt>/dev/zero</tt> on hyödyllinen myös [[mmap]]-systeemikutsun | <tt>/dev/zero</tt> on hyödyllinen myös [[mmap]]-systeemikutsun kanssa. Kun mmap:lla tehdään <tt>/dev/zero</tt>-tiedoston kuvaus prosessin muistiavaruuteen, saadaan anonyymi kuvaus tiedoston ja muistialueen välille. Anonyymillä muistialueella tarkoitetaan tässä sitä, että alue ei liity mihinkään tiedostojärjestelmän tiedostoon. Tällaista muistialuetta voidaan mm. käyttää prosessien väliseen kommunikointiin isä- ja [[Prosessi|lapsiprosessin]] välillä. | ||
== Katso myös == | == Katso myös == |
Nykyinen versio 21. syyskuuta 2011 kello 13.51
/dev/zero on Unix-järjestelmissä (myös Linux) /dev-hakemistossa sijaitseva laitetiedosto, johon kaikilla käyttäjillä on kirjoitusoikeus, mutta johon kirjoitettu data yksinkertaisesti häviää. Se muistuttaa läheisesti /dev/null-laitetiedostoa, mutta erotuksena /dev/zerosta lukeminen palauttaa nollatavuja '\0', eli tavuja, jossa kaikki bitit ovat 0-arvoisia. Lukeminen /dev/zero-tiedostosta ei koskaan katkea tiedoston loppuun, vaan nollatavuja palautetaan aina pyydetty määrä.
/dev/zero on hyödyllinen myös mmap-systeemikutsun kanssa. Kun mmap:lla tehdään /dev/zero-tiedoston kuvaus prosessin muistiavaruuteen, saadaan anonyymi kuvaus tiedoston ja muistialueen välille. Anonyymillä muistialueella tarkoitetaan tässä sitä, että alue ei liity mihinkään tiedostojärjestelmän tiedostoon. Tällaista muistialuetta voidaan mm. käyttää prosessien väliseen kommunikointiin isä- ja lapsiprosessin välillä.