El comando "mknod" fue lanzado a los licenciatarios en Unix (tm) Versión 4 por AT&T. Les recomiendo a todos que valga la pena gastar el tiempo y el dinero para obtener una copia de
Bell System Technical Journal, 57: 6. julio-agosto de 1978 pp 1905-1929. El sistema de tiempo compartido UNIX. (Ritchie, DM; Thompson, K.)
Ese tema, y especialmente ese artículo, lo llevará a apreciar varios conceptos fundamentales que permiten la construcción del sistema operativo elegante, compacto, rápido, estable, seguro y versátil que era Unix (tm). Los diversos sistemas que ahora están disponibles siguen siendo bastante versátiles ;-)
Trataré de mencionar algunos de esos aquí.
1) los bits setuid y setgid y cómo el uso de dichos bits permite la separación de los usuarios en dominios de privilegio confiables y no confiables. Hop Springs eterno que los usuarios de confianza serán menos propensos a ordenar el sistema a "# cd /; rm -rf * .o ", observe tanto el uso inapropiado de privilegios como el" espacio de destrucción ". Observe también que el final de una oración con una frase entre comillas dicta el orden del punto final y las comillas de cierre. La gramática inglesa apesta (fm). dmr y ken donaron la patente semnal al público, bendícelos.
2) acceso al dispositivo a través del mismo espacio de nombres que los archivos. Aquí es donde la simple elegancia de una herramienta pequeña combinada con otras herramientas simples para realizar actividades no pensadas por los fundadores se vuelve poderosa.
3) Un archivo en el espacio de datos es una cadena. La estructura es impuesta por los programas en el espacio del programa y no está estrechamente vinculada al complicado programa Swiss-Army-Knife. Apple (R), Microsoft (R) e IBM (R) podrían haber tenido mejores productos si más de ellos leyeran BSTJ.
4) stdin, stdout, stderr.
5) shells, procesadores de comandos interpretativos, capaces de combinar fácilmente herramientas simples.
6) solo optimice el código en los bucles internos, dedique su tiempo y dinero limitados donde sea importante.
7) no incrustar la sintaxis de E / S en procesadores de traducción de idiomas.
C. <FORTRAN
8) BESO.
9) "Es más fácil diseñar e implementar una extensión de sistema ayaeem de tiempo compartido multiusuario a un buen sistema en tiempo real que al revés", yo, una extensión de tiempo compartido para RSX-11D, implementado usando pequeñas herramientas, escrito en MACRO 11 cuando era inevitable, de lo contrario, la secuencia de comandos de idiomas de nivel superior era bastante buena, 16 usuarios en un PDP-11 // 45 de 248k bytes (memoria de estado sólido de 16k el resto del núcleo). Desarrollo concurrente de programas con FOCAL, BASIC, FORTRAN IV, C, MACRO-11, edición de enlaces, ejecución de programas, lotes, interactivos y adquisición de control / datos de múltiples experimentos científicos usando un LAB-11 e interfaces creativas personalizadas para A / D, D / A, relojes de alta resolución, ...
No hay edición de retraso irritante observable con CRT de 9600 baudios o impresoras de 120 cps, 30 cps de DECwriters. Un staccato un poco desigual con una impresora de 300 lpm. UT200 y 2780 para RJE. Desarrollo de programas más rápido que RSX-11M, RSX-11M +, IAS y versiones anteriores de VMS.
Un programador de tiempo compartido realmente simple implementado como una tarea en tiempo real utilizando las características felices de un ATL vinculado prioritario implementado como una cola.
Las variedades Unix son muy rápidas hoy en día, pero solo porque las CPU pueden hacer un bucle infinito en tres segundos. TFC