Posix nécessite-t-il des appareils?

12

Posix nécessite-t-il des appareils? Par exemple /dev/urandom, /dev/zeroou /dev/null?

Je ne pense pas à cause des OS non * nix, mais je voulais demander l'exhaustivité.


la source
2
/dev/null /dev/tty... et ... c'est peut-être ça. Il faut aussi le /tmpchemin. Je le sais car j'ai déjà posé une question similaire . Oh, et /dev/console.
mikeserv

Réponses:

10

POSIX général définit trois fichiers spéciaux:

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

En outre, /et /tmpsont également définis par POSIX.

/dev/zero, /dev/urandomOu /dev/randomsont définis dans certains type UNIX systèmes d'exploitation. Certains systèmes d'exploitation peuvent ne pas les définir ou implémenter avec des noms différents.

Remarque

cuonglm
la source
J'ai vu nulet consolesur Windows, mais je ne pense pas avoir jamais vu tty.
2
@noloader: Windows n'implémente que la première version de la norme POSIX. Voir: en.wikipedia.org/wiki/Microsoft_POSIX_subsystem
cuonglm
3
@noloader Windows nulet consolene sont pas liés à Unix /dev/nullet /dev/consolesauf d'une manière historique indirecte. Les noms nulet consoleont été hérités de CP / M (qui n'avait pas de répertoires); CP / M / DOS / Windows nulsignifie la même chose que sous Unix /dev/nullmais consolesous DOS et Windows signifie un port série, pas la console comme sur les systèmes Unix. Si vous exécutez une application dans le sous-système POSIX de Windows (ou dans une autre implémentation POSIX au-dessus de Windows), vous obtiendrez /dev/null, /dev/ttyet /dev/console.
Gilles 'SO- arrête d'être méchant'
1
Pour ajouter à l'explication de @Gilles, fondamentalement, Windows / Dos consoleest destiné à UNIX /dev/tty1ou Plan9 /dev/console. Mais historiquement signifiait le clavier et la souris ou stdin. Alors que les ports série étaient sur COM {1..4} ou AUX, et les ports parallèles sur LPT {1-4}.
Dwight Spencer du