Sistema operativo
Sistema operativo
Incompatible Timesharing System ( ITS ) es un sistema operativo de tiempo compartido desarrollado principalmente por el Laboratorio de Inteligencia Artificial del MIT , con la ayuda del Proyecto MAC . El nombre es el complemento jocoso del Sistema de Tiempo Compartido Compatible con el MIT (CTSS).
ITS y el software desarrollado en él tuvieron una influencia técnica y cultural mucho más allá de su comunidad principal de usuarios. El acceso remoto para "invitados" o "turistas" estaba fácilmente disponible a través de los primeros ARPANET , lo que permitía a muchas partes interesadas probar informalmente las funciones del sistema operativo y los programas de aplicación. La filosofía ITS abierta y la comunidad colaborativa en línea fueron una gran influencia en la cultura hacker , como se describe en el libro Hackers de Steven Levy , [3] y fueron los precursores directos del software libre y de código abierto , el diseño abierto y Wiki. movimientos.
Historia
El desarrollo de ITS fue iniciado a finales de la década de 1960 por aquellos (la mayoría del personal del Laboratorio de IA del MIT en ese momento) que no estaban de acuerdo con la dirección tomada por el proyecto Multics del Proyecto MAC (que había comenzado a mediados de la década de 1960), particularmente decisiones como la inclusión de un potente sistema de seguridad . El nombre fue elegido por Tom Knight como una broma sobre el nombre del primer sistema operativo de tiempo compartido del MIT, el Compatible Time-Sharing System , que data de principios de los años 1960. [3]
Al simplificar su sistema en comparación con Multics, los autores de ITS pudieron producir rápidamente [ se necesita aclaración ] un sistema operativo funcional para su laboratorio. [4] ITS fue escrito en lenguaje ensamblador , originalmente para la computadora PDP-6 de Digital Equipment Corporation , pero la mayor parte del desarrollo y uso de ITS se realizó en el PDP-10 posterior, en gran medida compatible . [3]
Aunque no se utilizó con tanta intensidad después de 1986, ITS continuó funcionando en hardware original en el MIT hasta 1990, y luego hasta 1995 en Stacken Computer Club en Suecia. Hoy en día, algunas implementaciones ITS siguen siendo accesibles de forma remota, mediante la emulación del hardware PDP-10 que se ejecuta en computadoras modernas y de bajo costo respaldadas por piratas informáticos interesados.
Características técnicas importantes
ITS introdujo muchas características nuevas en ese momento:
- La primera salida del terminal de gráficos independiente del dispositivo ; Los programas generaban comandos genéricos para controlar el contenido de la pantalla, que el sistema traducía automáticamente en secuencias de caracteres apropiadas para el tipo particular de terminal operado por el usuario.
- Un mecanismo general para implementar dispositivos virtuales en software que se ejecuta en procesos de usuario (que se denominaban "trabajos" en ITS).
- Utilizando el mecanismo de dispositivo virtual, ITS proporcionó acceso transparente al sistema de archivos entre máquinas . Todas las máquinas ITS estaban conectadas a ARPAnet , y un usuario en una máquina podía realizar las mismas operaciones con archivos en otras máquinas ITS como si fueran archivos locales.
- Gestión de procesos sofisticada ; Los procesos de usuario estaban organizados en un árbol y un proceso superior podía controlar una gran cantidad de procesos inferiores. Cualquier proceso inferior podría congelarse en cualquier momento de su funcionamiento y examinarse su estado (incluido el contenido de los registros); entonces el proceso podría reanudarse de forma transparente.
- Una función de interrupción de software avanzada que permitía que los procesos del usuario operaran de forma asincrónica, utilizando complejos mecanismos de manejo de interrupciones .
- PCLSRing , un mecanismo que proporciona lo que parecían (para los procesos de usuario) ser llamadas al sistema casi atómicas y interrumpibles de forma segura . Ningún proceso podría observar ningún proceso (incluido él mismo) en medio de la ejecución de una llamada al sistema.
- Para respaldar el trabajo de robótica del AI Lab, ITS también admitió operaciones simultáneas en tiempo real y de tiempo compartido.
Entorno de usuario
El entorno que veían los usuarios de ITS era filosóficamente muy diferente del que ofrecían la mayoría de los sistemas operativos de la época. [3]
- Inicialmente no había contraseñas y un usuario podía trabajar en ITS sin iniciar sesión. [5] Sin embargo, iniciar sesión se consideraba de buena educación, por lo que la gente sabía cuándo uno estaba conectado.
- Para hacer frente a una serie de incidentes en los que los usuarios buscaban fallos en el sistema para bloquearlo , se adoptó un enfoque novedoso. Se implementó un comando que provocó que el sistema fallara y cualquiera podía ejecutarlo, lo que eliminó toda la diversión y el desafío de hacerlo. Sin embargo, sí difundió un mensaje para decir quién lo estaba haciendo.
- Todos los usuarios podían editar todos los archivos, incluida la documentación en línea y el código fuente . Una serie de artículos informales y notas técnicas documentaron nuevos comandos, problemas técnicos, juegos primitivos, acertijos matemáticos y otros temas de interés para la comunidad de hackers de ITS. Algunos se publicaron como memorandos de AI más formales , incluido el compendio HAKMEM .
- Todos los usuarios podrían hablar con mensajería instantánea en el terminal de otro, o podrían usar un comando (GRITAR) para pedir ayuda a todos los usuarios activos.
- Los usuarios podían ver lo que estaba sucediendo en la terminal de otra persona (usando un comando llamado OS para "espía de salida"). Un objetivo de OS podría detectarlo y matarlo usando otro comando llamado JEDGAR, que lleva el nombre del director del FBI , J. Edgar Hoover . Posteriormente, esta función se desactivó con un comando placebo : parecía como si la sesión remota hubiera sido cancelada, pero no fue así. [6]
- Los turistas (usuarios invitados en las terminales del MIT AI Lab o a través de ARPAnet) fueron tolerados y ocasionalmente invitados a unirse activamente a la comunidad ITS. La política informal sobre acceso turístico se formalizó posteriormente en una política escrita. [7] La facilidad de acceso, con o sin una cuenta de invitado, permitió a las partes interesadas explorar y experimentar informalmente con el sistema operativo, los programas de aplicación y la cultura "hacker". Cualquier persona en el sistema puede consultar o actualizar libremente copias de trabajo de la documentación y el código fuente.
- La seguridad del sistema, en la medida en que existía, se basaba principalmente en la "seguridad por oscuridad" de facto. Se esperaba que los piratas informáticos invitados dispuestos a dedicar mucho tiempo y esfuerzo a aprender ITS se comportaran con respeto y evitaran interferir con los proyectos de investigación que financiaban los sistemas de hardware y software. Había poco de valor exclusivo en los sistemas ITS, excepto información, gran parte de la cual eventualmente se publicaría para distribución gratuita, y en general se fomentaba el intercambio abierto y gratuito de conocimientos.
La filosofía ITS abierta y la comunidad colaborativa fueron las precursoras directas de los movimientos de software libre y de código abierto , diseño abierto y Wiki . [8] [9] [10]
Aplicaciones importantes desarrolladas sobre ITS
El editor EMACS ("Editor MACroS") se escribió originalmente en ITS. En su instanciación ITS era una colección de programas TECO (llamados "macros"). En sistemas operativos posteriores, se escribió en el lenguaje común de esos sistemas, por ejemplo, el lenguaje C en Unix y Zetalisp en el sistema Lisp Machine .
El sistema de ayuda de información de GNU era originalmente un subsistema EMACS, y luego fue escrito como un sistema independiente completo para máquinas tipo Unix.
Varios lenguajes y sistemas de programación importantes se desarrollaron en ITS, incluido MacLisp (el precursor de Zetalisp y Common Lisp ), Microplanner (implementado en MacLisp), MDL (que se convirtió en la base del entorno de programación de Infocom ) y Scheme .
Entre otros subsistemas de software importantes e influyentes desarrollados en ITS, el sistema de álgebra simbólica Macsyma , iniciado en 1968, fue el primer entorno informático matemático ampliamente conocido. Fue un precursor de Maxima , MATLAB , Wolfram Mathematica y muchos otros sistemas de álgebra informática .
El programa SHRDLU de Terry Winograd se desarrolló en ITS. El juego de ordenador Zork también se escribió originalmente en ITS.
Mac Hack VI de Richard Greenblatt fue el programa de ajedrez mejor calificado durante años [ cita necesaria ] y fue el primero en mostrar una representación gráfica del tablero. [ cita necesaria ]
Misceláneas
El intérprete de comandos de nivel superior ITS predeterminado era el depurador de lenguaje de máquina PDP-10 ( DDT ). El editor de texto habitual en ITS era TECO y más tarde Emacs , que estaba escrito en TECO. Tanto DDT como TECO se implementaron a través de tablas de despacho simples con comandos de una sola letra y, por lo tanto, no tenían una sintaxis verdadera . El administrador de tareas ITS se llamó PEEK.
La ortografía local "TURIST" es un artefacto de las limitaciones de los nombres de archivos de seis caracteres (y otros identificadores), que se puede rastrear hasta seis caracteres codificados SIXBIT que caben en una sola palabra PDP-10 de 36 bits. "TURIST" también puede haber sido un juego de palabras con Alan Turing , un pionero de la informática teórica . [11] El término menos elogioso " LUSER " también se aplicó a los usuarios invitados, especialmente aquellos que repetidamente participaban en comportamientos vandálicos o despistados. [12]
El Archivo Jargon comenzó como un esfuerzo combinado entre personas en las máquinas ITS del MIT y de la Universidad de Stanford SAIL . El documento describe gran parte de la terminología, los juegos de palabras y la cultura de los dos laboratorios de IA y grupos de investigación relacionados, y es el predecesor directo del Hacker's Dictionary (1983), [13] el primer compendio de jerga hacker publicado por una importante editor ( MIT Press ).
Diferentes implementaciones de ITS admitían una extraña variedad de periféricos, incluido un pelador de cables automático ideado por el hacker Richard Greenblatt, que necesitaba un suministro de cables de puente previamente pelados de varias longitudes para envolver el hardware de computadora que él y otros estaban creando prototipos. El dispositivo utilizaba un motor paso a paso y una antigua herramienta pelacables y cortadora de mano, operada por solenoide , todo bajo control por computadora desde el software ITS. Cualquier usuario de ITS podía acceder al dispositivo, pero resultaba decepcionantemente poco fiable en su uso real.
La impresora gráfica Xerox (XGP), una de las primeras impresoras láser del mundo, contó con el respaldo de ITS en 1974. [14] El laboratorio de inteligencia artificial del MIT tenía uno de estos prototipos de impresoras de bobina continua para experimentación y uso por parte de su personal. En 1982, la XGP se complementó con una impresora Xerox Dover , una de las primeras impresoras láser de alimentación de hojas. [15] Aunque cualquier usuario de ITS podía acceder a las impresoras láser, el acceso físico para recoger las impresiones estaba limitado al personal y otras personas que obtenían acceso al laboratorio del MIT, para controlar el uso de los suministros de la impresora que debían solicitarse especialmente.
Los sistemas de archivos CTSS e ITS tienen varios elementos de diseño en común. Ambos tienen un MFD (directorio de archivos maestro) y uno o más UFD (directorios de archivos de usuario). Ninguno de ellos tiene directorios anidados (subdirectorios). Ambos tienen nombres de archivos que constan de dos nombres con una longitud máxima de seis caracteres. Ambos admiten archivos vinculados.
Desarrolladores originales
Ver también
Referencias
- ^ Informe de progreso del proyecto MAC IV (PDF) . 1967. pág. 18. Archivado desde el original (PDF) el 8 de marzo de 2016.
- ^ "LÉAME". MIT CSAIL . y . Consultado el 10 de noviembre de 2022 .
- ^ abcd Levy, Steven (2010). "Ganadores y perdedores". Hackers: Heroes of the Computer Revolution - Edición del 25 aniversario (1ª ed.). Sebastopol, CA: O'Reilly Media . págs. 85-102. ISBN 978-1449388393.
- ^ Estuardo, Brian L. (2008). Principios de los sistemas operativos: diseño y aplicaciones . Cengage Aprendizaje EMEA. pag. 23.ISBN 9781300668558. OCLC 221248143.
- ^ Eastlake, Donald E. (1972). "Informe de estado de ITS". Memorándums del laboratorio de IA del MIT . AIM-238. hdl :1721.1/6194.
- ^ Eric S. Raymond , ed. (29 de diciembre de 2003). "SO y JEDGAR". El archivo de jerga (4.4.7 ed.) . Consultado el 21 de diciembre de 2009 .
- ^ "Política turística del MIT AI Lab". 15 de enero de 1997 . Consultado el 21 de diciembre de 2009 .
- ^ Pan, Guohua; Bonk, Curtis J. (abril de 2007). "Una perspectiva sociocultural sobre el movimiento del software libre y de código abierto". Revista internacional de tecnología educativa y aprendizaje a distancia . 4 (4). Archivado desde el original el 12 de octubre de 2014 . Consultado el 2 de junio de 2014 .
- ^ Stallman, Richard M. (2002). Software libre, sociedad libre: ensayos seleccionados de Richard M. Stallman. Lulu.com. pag. 13.ISBN 9781882114986. Consultado el 2 de junio de 2014 .
- ^ "Historia del OSS". Desarrollo de software para las masas . Consultado el 2 de junio de 2014 .
- ^ "turista". Diccionario.com . TuristDictionary.com, LLC . Consultado el 4 de junio de 2014 .
- ^ "lusero". Diccionario.com . Diccionario.com, LLC . Consultado el 4 de junio de 2014 .
- ^ "Diccionario del hacker original". dourish.com . Pablo Dorish . Consultado el 16 de junio de 2014 .
- ^ "Catálogo de fuentes XGP" (PDF) . MIT Dspace . Instituto de Tecnología de Massachusetts. 24 de mayo de 1974 . Consultado el 20 de agosto de 2021 .
- ^ Stacy, Christopher C. (7 de septiembre de 1982). "Introducción a la informática en Al Lab" (PDF) . MIT Dspace . Instituto de Tecnología de Massachusetts . Consultado el 20 de agosto de 2021 .
Bibliografía
- Eastlake, D; Greenblatt, R; Holloway, J; Caballero, T; Nelson, S (julio de 1969). Manual de referencia ITS, versión 1.5 (PDF) . Laboratorio de IA del MIT. Archivado (PDF) desde el original el 16 de marzo de 2022.
- Una introducción a ITS para el usuario de MACSYMA
- Bawden, Alan (29 de diciembre de 2000). "PCLSRing: mantener el estado del proceso modular" . Consultado el 21 de diciembre de 2009 .
- Lin, Yuwei (24 de febrero de 2004). "Sistemas epistemológicamente centrados en múltiples actores: o EMACS en el trabajo". Ubicuidad . 5 (1). Asociación para Maquinaria de Computación . Consultado el 21 de diciembre de 2009 .
- Chiou, Stefanie; Música, Craig; Sprague, Kara; Wahba, Rebekah (16 de diciembre de 2001). "Una unión de conveniencia: la fundación del laboratorio de inteligencia artificial del MIT" (PDF) . Consultado el 21 de diciembre de 2009 .
- Williams, Sam (2002). Gratis como en libertad: la cruzada de Richard Stallman por el software libre . Petaluma, California: O'Reilly . ISBN 978-0-596-00287-9. Consultado el 21 de diciembre de 2009 .
enlaces externos
- Documentación del sistema ITS
- SV: un sistema ITS que se ejecuta en línea y está abierto para iniciar sesión
- ARRIBA: Sistema público ITS operado por el Update Computer Club de la Universidad de Uppsala
- KLH10: el emulador PDP-10 de Ken Harrenstien
- instrucciones que permiten que ITS se ejecute en el emulador SIMH PDP-10 .
- Entrada de archivo de jerga
- SU bibliografía