Czy Posix wymaga jakichkolwiek urządzeń?

12

Czy Posix wymaga jakichkolwiek urządzeń? Na przykład /dev/urandom, /dev/zerolub /dev/null?

Podejrzewam, że nie z powodu systemów operacyjnych innych niż * nix, ale chciałem poprosić o kompletność.


źródło
2
/dev/null /dev/tty... i ... może to jest to. Wymaga również /tmpścieżki. Wiem, bo kiedyś zadałem podobne pytanie . Och, i /dev/console.
mikeserv

Odpowiedzi:

10

POSIX general definiuje trzy pliki specjalne:

  • / dev / tty
  • / dev / console
  • / dev / null

Ponadto, /a /tmptakże są zdefiniowane przez POSIX.

/dev/zero, /dev/urandomCzy /dev/randomzostały określone w niektórych UNIX takich systemów operacyjnych. Niektóre systemy operacyjne mogą ich nie definiować lub implementować pod różnymi nazwami.

Uwaga

Cuonglm
źródło
Widziałem nuli consolena Windowsie, ale nie sądzę, żebym kiedykolwiek widział tty.
2
@noloader: Windows implementuje tylko pierwszą wersję standardu POSIX. Zobacz: en.wikipedia.org/wiki/Microsoft_POSIX_subsystem
cuonglm
3
@noloader Windows nuli consolenie są powiązane z Uniksem /dev/nulli /dev/consolepoza jakimś pośrednim historycznym sposobem. Nazwy nuli consolezostały odziedziczone po CP / M (które nie miały katalogów); CP / M / DOS / Windows nuloznacza to samo co UNIX, /dev/nullale consolepod DOS, a Windows oznacza port szeregowy, a nie konsolę jak w systemach UNIX. Jeśli uruchomisz aplikację w podsystemie POSIX systemu Windows (lub w innej implementacji POSIX na systemie Windows), otrzymasz /dev/null, /dev/ttyi /dev/console.
Gilles „SO- przestań być zły”
1
Aby dodać do wyjaśnienia @Gilles, w zasadzie system Windows / Dos consolenależy do systemu UNIX /dev/tty1lub Plan9 /dev/console. Ale historycznie oznaczało to klawiaturę i mysz lub standardowe wejście. Podczas gdy porty szeregowe były ponad COM {1..4} lub AUX, a porty równoległe były ponad LPT {1-4}.
Dwight Spencer