El sistema de tiempo compartido de Dartmouth ( DTSS ) es un sistema operativo descontinuado que se desarrolló por primera vez en el Dartmouth College entre 1963 y 1964. [1] Fue el primer sistema de tiempo compartido a gran escala que se implementó con éxito y también fue el sistema para el que se desarrolló el lenguaje BASIC . DTSS se desarrolló de forma continua durante la siguiente década, se volvió a implementar en varias generaciones de computadoras y finalmente se cerró en 1999.
General Electric desarrolló un sistema similar basado en una versión provisional de DTSS, al que denominaron Mark II. Mark II y el Mark III, más desarrollado, se utilizaron ampliamente en sus computadoras centrales de la serie GE-600 y formaron la base de sus servicios en línea . Estos fueron los servicios de este tipo más grandes del mundo durante un tiempo, y finalmente surgieron como el servicio en línea GEnie orientado al consumidor .
Los profesores John Kemeny y Thomas Kurtz del Dartmouth College adquirieron una computadora Royal McBee LGP-30 alrededor de 1959, que fue programada por estudiantes de pregrado en lenguaje ensamblador. Kurtz y cuatro estudiantes programaron el compilador Dartmouth ALGOL 30 , una implementación del lenguaje de programación ALGOL 58 , que dos de los estudiantes, Stephen Garland y Anthony Knapp, luego desarrollaron en el lenguaje SCALP (Self Contained ALgol Processor) entre 1962 y 1964. Kemeny y el estudiante de primer año Sidney Marshall colaboraron para crear DOPE (Dartmouth Oversimplified Programming Experiment) , que se utilizó en grandes cursos para estudiantes de primer año. [2]
Kurtz se acercó a Kemeny en 1961 o 1962 con la siguiente propuesta: [3] todos los estudiantes de Dartmouth tendrían acceso a la informática, debería ser gratuita y de acceso abierto, y esto podría lograrse mediante la creación de un sistema de tiempo compartido (del que Kurtz había oído hablar por su colega John McCarthy en el MIT , quien sugirió "¿por qué no hacen ustedes un sistema de tiempo compartido?"). Aunque se ha afirmado que DTSS se inspiró en un sistema de tiempo compartido basado en PDP-1 de Bolt, Beranek y Newman , no hay evidencia de que esto sea cierto. [ cita requerida ]
En 1962, Kemeny y Kurtz presentaron una propuesta para el desarrollo de un nuevo sistema de tiempo compartido a la NSF (que finalmente fue financiado en 1964). [4] Tenían suficiente seguridad de que tanto Dartmouth como la NSF apoyarían el sistema que firmaron un contrato con GE y comenzaron el trabajo preliminar en 1963, antes de que se financiara la propuesta. [5] En particular, evaluaron las computadoras candidatas de Bendix , GE e IBM , y se decidieron por el sistema GE-225 emparejado con un procesador de comunicaciones DATANET-30 . Este enfoque de dos procesadores era poco ortodoxo, y Kemeny recordó más tarde: [6] "En ese momento, muchos expertos de GE y de otros lugares, intentaron convencernos de que la ruta de la solución de dos computadoras era derrochadora e ineficiente". En esencia, el DATANET-30 proporcionaba la interfaz de usuario y el programador, mientras que los programas de usuario se ejecutaban en el GE-225.
Su implementación comenzó en 1963, por un equipo de estudiantes [7] bajo la dirección de Kemeny y Kurtz con el objetivo de proporcionar un fácil acceso a las instalaciones informáticas para todos los miembros de la universidad. [8] Las computadoras GE-225 y DATANET-30 llegaron en febrero de 1964. Dos estudiantes, John McGeachie y Michael Busch, escribieron los sistemas operativos para DATANET-30 y GE-225; Kemeny contribuyó con el compilador BASIC . El sistema comenzó a funcionar a mediados de marzo, y el 1 de mayo de 1964, a las 4:00 am, el sistema comenzó a funcionar. [9] En otoño de 1964, cientos de estudiantes de primer año comenzaron a utilizar el sistema a través de 20 teletipos , con acceso en Hanover High School a través de un teletipo adicional; [10] más tarde ese otoño, la computadora GE-225 fue reemplazada por una computadora GE-235 más rápida con problemas mínimos. Para el verano de 1965, el sistema podía soportar cuarenta usuarios simultáneos. [11]
Un documento de Dartmouth de octubre de 1964, posteriormente revisado por GE, describe la arquitectura general del DTSS: [12]
El programa del Datanet-30 se divide en dos partes, una parte de tiempo real y una parte de tiempo libre. La parte de tiempo real se introduce a través de una interrupción controlada por reloj 110 veces por segundo para escanear las líneas de teletipo. A medida que se completan los caracteres, la parte de tiempo real los recopila en mensajes y, cuando se encuentra un carácter de "retorno", interpreta el mensaje. Si se trata de una línea del programa, no se hace nada. Si el mensaje es un comando, se configura una tarea de tiempo libre para comenzar a ejecutar el comando y se inserta en la lista de tiempo libre. Si no hay tiempo suficiente para completar esta configuración, la parte de tiempo real completará la configuración durante el siguiente período de tiempo real. La parte de tiempo libre realiza las tareas de tiempo libre, que incluyen principalmente operaciones de disco y ciertas operaciones de teletipo. En la parte GE-235 hay un sistema compilador residente que actúa como traductor y una rutina ejecutiva residente para administrar las operaciones de entrada y salida de disco y para realizar otras funciones. El sistema ejecutivo permite el uso simultáneo de los equipos de tarjetas, las unidades de cinta y la impresora de alta velocidad durante el tiempo compartido mediante el procesamiento de interrupciones. Hay dos lenguajes algebraicos disponibles, BASIC y ALGOL, y se prevé que FORTRAN esté disponible para septiembre de 1965. Estos compiladores de una sola pasada son bastante rápidos y requieren normalmente de 1 a 4 segundos por compilación.
Kemeny y Kurtz observaron que "cualquier tiempo de respuesta que promedie más de 10 segundos destruye la ilusión de tener una computadora propia", por lo que el diseño de DTSS enfatizó la retroalimentación inmediata. [13] Muchos de sus usuarios creían que su terminal era la computadora [14] y que, escribió Kemeny, "la máquina está allí sólo para servirlo y que él tiene control completo de todo el sistema". [15]
Debido a los objetivos educativos, la facilidad de uso fue una prioridad en el diseño de DTSS. Implementó el primer entorno de diseño integrado (IDE) del mundo. Cualquier línea que escribiera el usuario y que comenzara con un número de línea se añadía al programa, reemplazando cualquier línea previamente almacenada con el mismo número; cualquier otra cosa se tomaba como un comando y se ejecutaba inmediatamente. Las líneas que consistían únicamente en un número de línea no se almacenaban, pero sí eliminaban cualquier línea previamente almacenada con el mismo número. Este método de edición proporcionó un servicio simple y fácil de usar que permitió que una gran cantidad de teleimpresoras fueran las unidades terminales para el sistema Dartmouth Timesharing.
Comandos IDE incluidos
Los usuarios solían creer que estos comandos eran parte del lenguaje BASIC, pero en realidad eran parte del sistema de tiempo compartido y también se usaban al preparar programas ALGOL [14] o FORTRAN a través de las terminales DTSS.
Kemeny y Kurtz habían esperado originalmente que GE entrara en una asociación de investigación, y con ese fin Kurtz y el estudiante Anthony Knapp escribieron un documento sobre el diseño del sistema propuesto, que presentaron a la oficina de GE en Phoenix en 1962. [16] Sin embargo, GE rechazó la asociación, y su propuesta de octubre de 1962 a Dartmouth se enmarcó únicamente como una venta comercial. [17] Dicho esto, GE y Dartmouth promocionaron el sistema operativo de tiempo compartido de Dartmouth en octubre de 1964 en la Conferencia Conjunta de Computadoras de Otoño en San Francisco, con tres teletipos conectados al sistema de Dartmouth en Hanover. [18]
Desde diciembre de 1964 hasta enero de 1965, dos estudiantes de Dartmouth instalaron copias funcionales de DTSS y BASIC en computadoras de GE en Phoenix. A principios de 1965, GE comenzó a anunciar servicios de tiempo compartido en su sistema GE-265 (GE 235 + DATANET 30), incluidos BASIC y Dartmouth Algol, [19] que más tarde rebautizó como sistema de tiempo compartido GE Mark I. [20] Durante los siguientes años, GE abrió 25 centros de computación en los Estados Unidos y en otros lugares, que atendieron a más de cincuenta mil usuarios. [21]
La Colección de Historias Corporativas del Museo de Historia de la Computación describe la historia del Mark I de GE de esta manera: [22]
Entre 1966 y 1968, el DTSS se volvió a implementar en el GE 635 , [4] utilizando aún el DATANET-30 para el control de terminales. El sistema GE 635 se entregó en noviembre de 1966. En octubre de 1967, proporcionaba un servicio basado en el software de la Fase I, desarrollado conjuntamente por Dartmouth y GE, que GE posteriormente comercializó como el sistema GE Mark II. [20] En paralelo con este trabajo, Dartmouth se embarcó en 1967 en el desarrollo de la Fase II bajo la dirección del profesor John Kemeny, con la programación realizada por estudiantes y profesores. La Fase II del Sistema de Tiempo Compartido de Dartmouth reemplazó a la Fase I el 1 de abril de 1969, en Dartmouth. [20]
Como se describió en 1969, la nueva arquitectura DTSS estuvo influenciada por tres criterios: [23]
Esta nueva versión era completamente diferente internamente del DTSS anterior, pero proporcionaba una interfaz de usuario casi idéntica para permitir una transición fluida para los usuarios y los materiales del curso. La versión 635 proporcionaba tiempo compartido interactivo a casi 300 usuarios simultáneos en la década de 1970, una cantidad muy grande en ese momento, y operaba en once sitios comerciales y académicos en los EE. UU., Canadá y Europa. [24] A medida que evolucionó en la década de 1970, las versiones posteriores se trasladaron a mainframes de la serie 6000 de Honeywell (1973) y procesadores de comunicación 716 de Honeywell (1974). [25] En 1976, el sistema GE-635 fue reemplazado por una computadora Honeywell 66/40A. Se mantuvo en funcionamiento hasta fines de 1999. [26]
DTSS, versión 2, incluía una forma novedosa de comunicación entre procesos llamada "archivos de comunicación". Estos archivos fueron significativamente anteriores a las tuberías de Unix , ya que los documentos de diseño sitúan su origen conceptual en algún momento de 1967, [27] y fueron descritos brevemente en una conferencia de 1969:
Los archivos de comunicación admitían operaciones de lectura, escritura y cierre, pero también transferencia de datos sincrónica y asincrónica, acceso aleatorio, consultas de estado, señalización fuera de banda, informes de errores y control de acceso, con la semántica precisa de cada operación determinada por el proceso maestro. Como señala Douglas McIlroy : "En esto, [los archivos de comunicación] eran más parecidos al protocolo 9P de Plan 9 que al conocido IO". [28] Una aplicación notable de los archivos de comunicación era el apoyo a las conferencias multiusuario, que se comportaban de forma similar a las llamadas telefónicas en conferencia y se implementaban completamente como programas de aplicación de espacio de usuario. [29]
Como se mencionó anteriormente, la escuela secundaria Hanover High School estuvo conectada a DTSS desde el comienzo del sistema. Durante la década siguiente, muchas otras escuelas secundarias y universidades se conectaron a DTSS a través de la red Kiewit, llamada así por Peter Kiewit, donante de fondos para el Centro de Computación Kiewit que albergaba las computadoras y el personal de DTSS. Estas escuelas se conectaron a DTSS a través de uno o más teletipos, módems y líneas telefónicas de acceso telefónico. [30] Los estudiantes de Dartmouth tenían acceso gratuito e ilimitado a DTSS, pero los estudiantes de secundaria tenían cupos de 40 a 72 horas de acceso a la terminal cada semana, y los usuarios universitarios pagaban por el uso de la computadora. [31] Dartmouth implementó programas activos para involucrar y capacitar a los maestros de secundaria en el uso de la computación dentro de sus cursos.
En 1967, las siguientes escuelas secundarias se habían unido a la red Kiewit: Hanover High School, The Holderness School , Mascoma Valley Regional High School , Kimball Union Academy , Mount Hermon School , Phillips Andover Academy , Phillips Exeter Academy , St. Paul's School y Vermont Academy . [32] Este grupo se expandió en el Proyecto de Escuela Secundaria de Dartmouth, financiado por la NSF durante 1967-1968, que agregó las siguientes escuelas secundarias de Nueva Inglaterra: Cape Elizabeth High School , Concord High School , Hartford High School (Vermont), Keene High School , Lebanon High School , Loomis School , Manchester Central High School , Rutland High School , St. Johnsbury Academy , South Portland High School y Timberlane High School . [33]
Entre 1968 y 1970, Dartmouth incorporó una serie de universidades a la red Kiewit a través de su Consorcio de Universidades Regionales. Entre ellas se encontraban: Bates College, Berkshire Community College , Bowdoin College , Colby Junior College , Middlebury College , Mount Holyoke College , New England College , Norwich University , University of Vermont y Vermont Technical College . [34]
En 1971, la red Kiewit conectaba 30 escuelas secundarias y 20 universidades en Nueva Inglaterra, Nueva York y Nueva Jersey. [35] En ese momento, DTSS admitía a más de 30 000 usuarios, de los cuales solo 3000 estaban en Dartmouth College. [35] En 1973, la red Kiewit se había expandido para incluir escuelas en Illinois, Michigan, el norte del estado de Nueva York, Ohio y Montreal, Canadá . [36]
Ningún estudiante de Dartmouth tiene miedo a las máquinas. Después de un breve período frente a la consola, cuando el estudiante puede jugar un partido de fútbol o escribir algunos programas simples, termina con una relación muy diferente. El miedo y el misterio de la computadora desaparecen de repente.
— Kemeny, 1971 [15]
En 1971, [actualizar]el 57% del uso de DTSS se destinaba a cursos y el 16% a investigaciones. [15] Kemeny y Kurtz pretendían que los estudiantes de campos técnicos y no técnicos utilizaran DTSS. Dispusieron que el segundo trimestre de la clase de matemáticas de primer año incluyera un requisito para escribir y depurar cuatro programas BASIC de Dartmouth. En 1968, más del 80% de los estudiantes de Dartmouth tenían experiencia en programación informática. 80 clases incluían el uso "oficial" de la computadora, incluidas las de ingeniería, clásicos, geografía, sociología y español; [13] que los estudiantes de la Escuela Tuck de Negocios y Ciencias Sociales, no de matemáticas o ingeniería, fueran los usuarios más intensivos sorprendió a Kemeny. En 1972, el 90% de los estudiantes tenían experiencia con la computadora; debido a que el profesorado sabía que los estudiantes estaban familiarizados con DTSS, su uso se convirtió en una parte rutinaria de muchos cursos. [37] Una encuesta de 1975 reveló que el 29% del personal docente utilizaba la computadora en los cursos y que el 73% de los estudiantes estaban inscritos en ellos, el 43% del personal docente la utilizaba en investigaciones y el 45% del personal docente había escrito un programa informático. Para ese año, la administración de la universidad utilizaba el 28% de los recursos de tiempo compartido frente al 20% de los estudiantes, y entre los usuarios se encontraban el registro y la oficina de alojamiento. [38]
El 27% del uso de DTSS en 1971 [actualizar]era para uso casual y entretenimiento, lo que la universidad afirmó que "no se considera en ningún sentido frívolo", ya que era una forma agradable para que los usuarios se familiarizaran con la computadora y no le temieran. [15] [37] La biblioteca de cientos de programas incluía, informaron Kemeny y Kurtz, " muchos juegos ". [13] [37] Estaban satisfechos con el uso generalizado de DTSS por parte de la facultad, y que muchos estudiantes continuaran usando el sistema después de que ya no se les exigiera. Kemeny, por entonces presidente de la universidad, escribió en un folleto de 1971 que describía el sistema que, al igual que un estudiante podía ingresar a la Biblioteca Baker Memorial y tomar prestado un libro sin pedir permiso o explicar su propósito, "cualquier estudiante puede ingresar al Centro de Computación Kiewit, sentarse en una consola y usar el sistema de tiempo compartido. Nadie le preguntará si está resolviendo un problema de investigación serio, haciendo su tarea de la manera fácil, jugando un partido de fútbol o escribiendo una carta a su novia". [15] [39] [37] En 1972, la simulación de fútbol admitía el juego simultáneo cara a cara como un videojuego multijugador . [37] La ubicación de Kiewit cerca de las organizaciones griegas del Dartmouth College lo hizo popular para socializar; [31] los estudiantes a menudo llevaban citas al Centro de Cálculo, tanto para jugar como para demostrar sus propios programas. [37]
En el año escolar 1967-68, además de los 2.600 usuarios de Dartmouth, 5.550 personas de diez universidades y 23 escuelas secundarias accedieron al DTSS. [13] Kemeny tenía una terminal en casa y, como presidente, instaló una en su oficina. [40] A principios de la década de 1970, el campus tenía más de 150 terminales en 25 edificios, [37] incluidas unidades portátiles para pacientes en la enfermería del campus. Aproximadamente 2.000 usuarios iniciaban sesión en el DTSS cada día; el 80% de los estudiantes y el 70% del personal docente usaban el sistema cada año. La red de tiempo compartido educativo fuera del campus de Dartmouth incluía usuarios con 79 terminales en 30 escuelas secundarias y 20 universidades, entre ellas Middlebury College , Phillips Andover , Mount Holyoke College , Goddard College , la Academia de la Marina Mercante de los Estados Unidos , la Academia Naval de los Estados Unidos , Bates College , el Dartmouth Club de Nueva York y una filial de Dartmouth en Jersey City, Nueva Jersey , que compartían DTSS con la gente de Dartmouth. [15] El sistema permitía pasar mensajes de tipo correo electrónico entre usuarios y chatear en tiempo real a través de un precursor del programa Unix talk .
Si bien había varios lenguajes disponibles en DTSS, en 1972 [actualizar]el 98% de los programas estaban escritos en Dartmouth BASIC. [37] Debido a que BASIC no cambió, el sistema siguió siendo compatible con aplicaciones más antiguas; Kemeny informó en 1974 que los programas que había escrito en 1964 todavía se podían ejecutar. [14] En 1980, los lenguajes y sistemas compatibles incluían: [41]
En 2000, se emprendió un proyecto para recrear el sistema DTSS en un simulador y, como resultado, DTSS ahora está disponible para los sistemas Microsoft Windows y para la computadora Apple Macintosh . [42]