Leones Comentario en UNIX sexta edición , [1] de 1976 por John Lions , con el código fuente, [2] contenían comentario analítico sobre el código fuente de la sexta edición de Unix equipo sistema operativo 'núcleo residente' [3] (es decir, del núcleo ) software , más una copia formateada e indexada por los Leones, de dicho código fuente obtenido de los autores en AT&T Bell Labs , comúnmente conocido como el Libro de los Leones . [ cita requerida ]
Autor | John leones |
---|---|
País |
|
Idioma | Inglés; también disponible en chino y japonés |
Sujeto | Sistema operativo Unix |
Género | Ciencias de la Computación |
Editor | Universidad de Nueva Gales del Sur |
Fecha de publicación | 1976 |
OCLC | 36099640 |
Decimal Dewey | 005.43 |
Clase LC | QA 76,76 .O63 L56 |
En sí mismo, un ejemplo del éxito inicial de UNIX como código portátil para una plataforma de publicación, el trabajo de Lion se compuso utilizando herramientas UNIX, en sistemas que ejecutan código portado en la Universidad , similar al que documentó, ver página vi . [4]
Por lo general, se consideraba el libro más copiado en ciencias de la computación . [ cita requerida ] A pesar de su antigüedad, "el Libro de los Leones" todavía se considera un excelente comentario sobre código simple y de alta calidad.
El trabajo de los Leones fue reimpreso más recientemente en 1996 por Peer-To-Peer Communications, [5] y ha sido distribuido, recreado o reconstruido de diversas formas en varios medios por otras partes, por ejemplo, ver la página web de Greg Lehey. [4]
Sinopsis
El código fuente del sistema operativo UNIX El nivel seis es el código fuente del kernel, ligeramente editado por Lions para separar mejor la funcionalidad: inicialización del sistema y administración de procesos, interrupciones y llamadas al sistema, E / S básicas, sistemas de archivos y tuberías y dispositivos de caracteres. Todos los procedimientos y símbolos se enumeran alfabéticamente con una referencia cruzada.
El código presentado se ejecutará en un PDP-11 /40 con unidad de disco RK-05 , interfaz de impresora de línea LP-11, grabadora de cinta de papel PCL-11 e interfaz de terminal KL-11, o un emulador de PDP-11 adecuado, como SIMH .
Un comentario sobre el sistema operativo UNIX comienza con notas sobre UNIX y otra documentación útil (las páginas del manual de UNIX, los manuales de hardware DEC , etc.), una sección sobre la arquitectura del PDP-11 y un capítulo sobre cómo leer programas C. Sigue el comentario fuente, dividido en las mismas secciones que el código. El libro termina con ejercicios sugeridos para el alumno.
Como explica Lions, este comentario complementa los comentarios de la fuente. Es posible comprender el código sin comentarios adicionales, y se recomienda al lector que lo haga y lea las notas únicamente cuando sea necesario. El comentario también comenta cómo se podría mejorar el código.
Historia
El código fuente y los comentarios se imprimieron en forma de libro en 1977, después de reunirse por primera vez en mayo de 1976, como un conjunto de notas de lectura [3] para los cursos de informática de los Leones (6.602B y 6.657G, mencionados en la introducción del libro). en la Universidad de Nueva Gales del Sur .
UNSW había obtenido el código fuente de UNIX en 1975, en respuesta a una consulta de 1974 a Dennis Ritchie en Bell. [6] Bell Labs era una subsidiaria de AT&T, con restricciones debido a su naturaleza monopólica como proveedor nacional de infraestructura de telecomunicaciones, y no se le permitía realizar negocios en ningún otro campo, [ cita requerida ] y, por lo tanto, no estaba en libertad de beneficiarse de la venta. de software, [ cita requerida ] sin embargo, UNIX estaba siendo proporcionado bajo licencia por otra subsidiaria de AT&T, Western Electric al menos en 1977. [ aclaración necesaria ]
El grupo de usuarios de UNIX, el boletín de noticias de USENIX , UNIX News , de marzo de 1977, [3] anunció la disponibilidad del libro para los licenciatarios de UNIX. Tenga en cuenta que el aviso de restricción de circulación del boletín, redactado enérgicamente, solo podría haberse aplicado en el marco de las licencias existentes a los licenciatarios con acuerdos celebrados con las organizaciones mencionadas, no a los no licenciatarios, como una cuestión de contrato civil: el boletín muestra no hay evidencia de autoridad gubernamental del tipo que podría permitir la supresión general de la circulación, como la clasificación de alto secreto de seguridad nacional ).
La dificultad para mantener el ritmo de la popularidad del libro significó que en 1978 solo estaba disponible en AT&T Bell Labs . [ cita requerida ]
Durante muchos años, el libro de los Leones fue la única documentación del kernel de UNIX disponible fuera de Bell Labs. [ cita requerida ] Aunque la licencia de la sexta edición [ cita requerida ] permitía el uso en el aula del código fuente, la licencia de la séptima edición [ cita requerida ] excluía específicamente dicho uso, por lo que, posteriormente, el libro, basado en la licencia más liberal versión, difundida ampliamente a través de reproducciones de fotocopiadoras, posiblemente bajo varias excusas, que incluyen (¡pero no se limitan a!) términos generosos de licencia educativa otorgados a la institución editorial por el propietario del código fuente [ cita requerida ] , así como varias exenciones de derechos de autor que protegen la discusión de El trabajo matemático, aunque a la sombra de la creciente presión política para erosionar tales derechos, como medio tecnológico para 'autocopiarse' - e incluso auto-publicar - los trabajos se volvió más barato, más eficiente y más prolífico. [ cita requerida ] UNIX en sí , fue uno de ellos, habiendo sido una innovación exitosa financiada en Bell con el fin de facilitar la publicación de manuales técnicos internamente. [ cita requerida ]
Cuando AT&T anunció la versión 7 de UNIX en USENIX en junio de 1979, la licencia académica / de investigación ya no permitía automáticamente el uso en el aula.
Sin embargo, miles de estudiantes de informática de todo el mundo distribuyen fotocopias. Como no se les enseñaba en clase, a veces se reunían después de horas para discutir el libro. Muchos pioneros de UNIX y el código abierto tenían una fotocopia de múltiples generaciones muy apreciada. [7]
Otros efectos posteriores del cambio de licencia incluyeron a Andrew S. Tanenbaum creando Minix . Como escribió Tanenbaum en Operating Systems (1987):
Cuando AT&T lanzó la Versión 7, comenzó a darse cuenta de que UNIX era un producto comercial valioso, por lo que emitió la Versión 7 con una licencia que prohibía el estudio del código fuente en los cursos, para evitar poner en peligro su condición de secreto comercial. Muchas universidades cumplieron simplemente abandonando el estudio de UNIX y enseñando solo teoría.
Varias personas de UNIX, en particular Peter H. Salus , Dennis Ritchie y Berny Goodheart, presionaron a los distintos propietarios de Unix (AT&T, Novell , la Operación Santa Cruz ) durante muchos años para que permitieran la publicación oficial del libro. En 1996, la Operación Santa Cruz finalmente autorizó la publicación del código fuente de la sexta edición de hace veinte años (junto con el código fuente de otras versiones de " Ancient UNIX "), y el código completo más la versión de 1977 del comentario fue publicado por Peer-To-Peer Communications ( ISBN 1-57398-013-7 ). [5] La reedición incluye comentarios de Michael Tilson (SCO), Peter Salus, Dennis Ritchie, Ken Thompson , Peter Collinson, Greg Rose, Mike O'Dell , Berny Goodheart y Peter Reintjes .
"No se espera que entiendas esto"
El infame comentario del programa "No se espera que entienda esto" aparece en la línea 2238 del código fuente ( Comentario de los Leones , p. 22) al final de un comentario que explica el mecanismo de intercambio del proceso. Se refiere a la línea 325 del archivo slp.c. [8] El código fuente dice: [9]
/ * * Si el nuevo proceso se detuvo porque fue * intercambiado, establezca el nivel de pila en la última llamada * a savu (u_ssav). Esto significa que el retorno * que se ejecuta inmediatamente después de la llamada a aretu * en realidad regresa de la última rutina que hizo * el savu. * * No se espera que comprenda esto. * / if ( rp -> p_flag & SSWAP ) { rp -> p_flag = & ~ SSWAP ; aretu ( u . u_ssav ); }
Una de las principales razones por las que este fragmento de código era difícil de entender era que dependía de una peculiaridad de la forma en que el compilador de C para el PDP-11 guardaba los registros en las llamadas a procedimientos. Este código falló cuando se transfirió a otras máquinas y tuvo que ser rediseñado en la Versión 7 UNIX . [10] Dennis Ritchie explicó más tarde el significado de este comentario: [9]
"No se espera que usted entienda esto" fue pensado como un comentario con el espíritu de "Esto no estará en el examen", más que como un desafío insolente.
Ver también
xv6 , una reimplementación moderna de la Sexta Edición UNIX en ANSI C para sistemas multiprocesador x86 y RISC-V .
Referencias
- ^ Leones, John (1976–1977). Un comentario sobre el sistema operativo Unix. Universidad de Nueva Gales del Sur: Departamento de Ciencias de la Computación.Mantenimiento CS1: formato de fecha ( enlace )
- ^ Nivel seis del código fuente del sistema operativo Unix. Universidad de Nueva Gales del Sur: Departamento de Ciencias de la Computación. 1976–1977.Mantenimiento CS1: formato de fecha ( enlace )
- ^ a b c "Noticias UNIX" . USENIX. Marzo de 1977. La revista Cite requiere
|magazine=
( ayuda ) - ^ a b Lehey, Greg (14 de septiembre de 2015). " Comentario sobre la sexta edición del sistema operativo UNIX " . Greg Lehey, Warren Toomey.
- ^ a b " Libros entre pares: comentario de los Leones sobre UNIX " . Archivado desde el original el 16 de noviembre de 2018 . Consultado el 12 de enero de 2020 .
- ^ Facultad de Ingeniería, UNSW, (Decano) (18-09-2020). "Recordando a Ken Robinson" . Universidad de Nueva Gales del Sur: Ingeniería.
- ^ "Libro de los Leones" . Archivo de jerga . 29 de diciembre de 2003 . Consultado el 11 de enero de 2020 .
- ^ Ken Thompson. "Unix-history-repo / usr / sys / ken / slp.c" . Consultado el 12 de octubre de 2018 .
- ^ a b Dennis Ritchie (22 de junio de 2002). "Comentarios raros y hechos extraños en Unix" . Consultado el 14 de mayo de 2021 .
- ^ Johnson, SC; Ritchie, DM (1978). "Sistema de tiempo compartido UNIX: portabilidad de programas C y el sistema UNIX" (PDF) . Revista técnica de Bell System . 57 (6): 2021-2048. doi : 10.1002 / j.1538-7305.1978.tb02141.x .
Otras lecturas
- Andrew S. Tanenbaum , Sistemas operativos: diseño e implementación , ( Prentice Hall , ISBN 0-13-637331-3 , junio de 1987)
- Code Critic (Rachel Chalmers, Salon , 30 de noviembre de 1999)
- El demonio, el GNU y el pingüino - Cap. 6 ( Peter H. Salus , 1979)
- Brian W. Kernighan y Dennis Ritchie , El lenguaje de programación C , ISBN 0-13-110362-8
- Obra de Francisco de Goya, Saturno devorando a su hijo
- Barrio Sésamo Adivina la palabra