OS / 8 era el principal sistema operativo utilizado en la Digital Equipment Corporation 's PDP-8 minicomputadora .
Desarrollador | Corporación de equipos digitales |
---|---|
Estado de trabajo | Interrumpido |
Modelo fuente | Fuente cerrada |
Versión inicial | 1971 |
Plataformas | PDP-8 |
Interfaz de usuario predeterminada | Lenguaje de comandos conciso (CCL) ( interfaz de línea de comandos ) |
Licencia | Propiedad |
Antes de OS / 8 había sistemas operativos anteriores PDP-8:
- Monitor RL, [1] también denominado MS / 8 .
- P? S / 8, [2] que requiere solo 4K de memoria.
- Sistema de monitorización de disco PDP-8 4K [3]
- PS / 8 ("Sistema de programación / 8"), que requiere 8K. Esto es lo que se convirtió en OS / 8 en 1971.
Otros sistemas operativos de DEC / relacionados fueron: OS / 78 , OS / 278, [4] OS / 12. Esta última es una versión prácticamente idéntica de OS / 8 y se usó con la computadora PDP-12 de Digital .
Imágenes OS / 8 publicadas en formato digital con fines no comerciales [5] que pueden emularse mediante SIMH .
Descripción general
OS / 8 proporcionó un entorno operativo simple [6] que era acorde en complejidad y escala con las computadoras PDP-8 en las que se ejecutaba. La E / S fue compatible a través de una serie de controladores suministrados que utilizaban técnicas de sondeo (no controladas por interrupciones). Los controladores de dispositivo debían escribirse inteligentemente [7], ya que solo podían ocupar una o dos páginas de memoria de 128 palabras de 12 bits , y debían poder ejecutarse en cualquier página del campo 0. Esto a menudo requería una inteligencia considerable, como el uso de la instrucción OPR (7XXX) para pequeñas constantes negativas.
La "huella" residente en memoria de OS / 8 era de sólo 256 palabras; 128 palabras en la parte superior del campo 0 y 128 palabras en la parte superior del campo 1. El resto del sistema operativo (el USR, "Rutinas de servicio del usuario") se intercambió dentro y fuera de la memoria de forma transparente (con respecto al programa del usuario) según sea necesario.
El lenguaje de comandos conciso
Las primeras versiones de OS / 8 tenían un intérprete de línea de comandos muy rudimentario con muy pocos comandos básicos : GET, SAVE, RUN, ASSIGN, DEASSIGN y ODT . Con la versión 3, agregaron una superposición más sofisticada llamada CCL ( Concise Command Language ) que implementó muchos más comandos. La CCL de OS / 8 se modeló directamente después de la CCL que se encuentra en los sistemas PDP-10 de Digital que ejecutan TOPS-10 . De hecho, gran parte del sistema de software OS / 8 se diseñó deliberadamente para imitar, lo más fielmente posible, el entorno operativo TOPS-10. (El lenguaje de comando CCL se usó más tarde en computadoras PDP-11 que ejecutan RT-11 , RSX-11 y RSTS / E , proporcionando un entorno operativo de usuario similar en las tres arquitecturas: PDP-8s, PDP-10s y PDP-11s .)
El sistema operativo básico y CCL implementaron muchos comandos bastante sofisticados, muchos de los cuales aún no existen en los lenguajes de comandos modernos, ni siquiera en sistemas operativos tipo MS-DOS , Windows o Unix .
Por ejemplo, el comando COMPILE buscaría automáticamente el compilador correcto para un archivo fuente dado e iniciaría el ciclo de compilación / ensamblaje / enlace.
Los comandos ASSIGN y DEASSIGN permitieron usar nombres de dispositivos lógicos en un programa en lugar de nombres físicos (como se requiere en MS-DOS). Por ejemplo, su programa podría escribir en el dispositivo FLOP: AAA.TXT, y si primero hiciera un "ASSIGN FLOP: RXA2:", el archivo se crearía en el dispositivo físico RXA2 (la segunda unidad de disquete). VAX / VMS y el sistema operativo AmigaOS de Commodore Amiga (y otros sistemas operativos construidos alrededor de Tripos ) hicieron un uso considerable de esta característica tan flexible.
El comando SET fue capaz de configurar muchas opciones del sistema, aunque mediante el método tosco de parchear ubicaciones en el código binario del sistema. Uno de ellos, un comando bajo OS-78, [8] fue SET SYS OS8, y volvió a habilitar los comandos MONITOR que no eran parte de OS-78.
El comando BUILD podría reconfigurar el sistema operativo sobre la marcha, incluso agregando controladores de dispositivo , a menudo sin tener que reiniciar el sistema operativo.
El sistema operativo puede arrancar desde un disco duro y presentar el símbolo del sistema en menos de medio segundo.
El sistema de archivos OS / 8
OS / 8 admitía un sistema de archivos simple y plano en una variedad de dispositivos de almacenamiento masivo , incluidos:
- TU56 DECtapes
- Discos de cabezal fijo DF32 32KW [9]
- Discos de cabezal fijo RF08 256KW [10]
- Unidades de disco de cartucho RK01 / 02/03/04/05
- Unidades de disco de cartucho RL01 / 02
- 02 / RX01 disco flexible unidades
Los nombres de archivo en el PDP-8 tomaron la forma de FFFFFF.XX donde "F" representa un mayúsculas , alfanumérica de caracteres del nombre de archivo y "X" representa un mayúsculas, caracteres alfanuméricos de la extensión (tipo de archivo).
- .PA: lenguaje ensamblador
- .SV: imágenes de núcleo guardadas (programas ejecutables)
- .FT: archivos fuente de Fortran
- .DA: archivos de datos [11]
El contenido de cualquier archivo dado se almacenó de forma contigua en una única "extensión". PIP incluía una opción para comprimir ("exprimir") el sistema de archivos, de modo que todo el espacio no asignado se moviera a una única extensión al final del disco. Esto podría invocarse mediante el comando SQuish CCL , [12] de la misma forma que MUNG podría usarse para ejecutar una macro TECO .
Los volúmenes OS / 8 tenían un tamaño de almacenamiento máximo muy limitado (4096 bloques de 256 palabras de 12 bits) y el disco de cabezal móvil RK05 (2,4 MB) excedía este tamaño: "1,6 millones de palabras de almacenamiento". [13] Debido a esto, los cartuchos RK05 se dividieron en dos particiones. Por ejemplo, el primer RK05 en un sistema se conocería como RKA0: (SY :) y RKB0 :. Se pensaba comúnmente que esta división significaba "la superficie superior" y "la superficie inferior", pero esto era incorrecto; de hecho eran "los cilindros exteriores" y "los cilindros interiores".
Archivos ASCII
Los archivos ASCII se almacenaron como 3 caracteres de 8 bits por par de palabras de 12 bits: los caracteres 1 y 2 a la derecha de las palabras 1 y 2, con los bits 0-3 y 4-7 del tercer carácter almacenados en los bits más a la izquierda de el par de palabras. [8]
- PALABRA 1: c0 c1 c2 c3 | a0 a1 a2 a3 a4 a5 a6 a7
- PALABRA 2: c4 c5 c6 c7 | b0 b1 b2 b3 b4 b5 b6 b7 Los
archivos ASCII terminan con CTRL / Z (ASCII 232).
Formato de fecha OS / 8
OS / 8 asignó las palabras de 12 bits del PDP-8 para almacenar fechas por:
- 4 bits para el mes
- 5 bits para la fecha en el mismo
- 3 bits por año. [14] [15]
Y3B! Esto se reconoció cuando se desarrolló COS-310 . [16] [17]
OS / 8 CUSP (programas de utilidad)
Los CUSP (programas de sistema de uso común, es decir, utilidades) suministrados con OS / 8 incluían:
- BUILD (el programa para instalar un sistema OS / 8 configurado en el almacenamiento masivo)
- DIR (el programa de listado de directorios)
- EDITAR (un editor orientado a líneas) [18]
- MACREL (Un ensamblador de reubicación que, a diferencia de PAL, implementó macros. Escrito por Stanley Rabinowitz del Grupo de Sistemas Pequeños de DEC. Stan tenía una imagen de arte ASCII de un pez en su oficina que decía "MACREL ES UN PESCADO")
- FLAP (Un ensamblador absoluto derivado de RALF)
- FORTRAN -II. [19]
- FOTP (Programa de transferencia orientado a archivos, una alternativa a PIP)
- PAL (El ensamblador)
- PIP (el programa de intercambio de periféricos, utilizado para copiar archivos)
- PIP10 (una versión de PIP utilizada para copiar archivos desde PDP-10 DECtapes)
- RALF (Otro ensamblador de reubicación para el FPP)
- TECO (Editor de texto y COrrector, un editor mucho más sofisticado). El comando MUNG ejecutó macros TECO.
- CCL, el intérprete de línea de comandos , se proporcionó en forma de código fuente y el usuario podría ampliarlo.
Lenguajes de programación
BÁSICO
Un BASIC para un solo usuario y dos versiones multiusuario de BASIC estaban disponibles como opciones.
El BASIC de un solo usuario utilizó varias superposiciones para proporcionar la funcionalidad completa del lenguaje; cuando se arrancaba OS / 8 desde una DECtape, se producía un retraso muy notable cada vez que se requería que BASIC cambiara las superposiciones, ya que era necesario leerlas desde la cinta.
Las versiones multiusuario de BASIC (EDU20 y EDU25) solo diferían en si admitían o no dispositivos reemplazables en bloque (DECtape o disco). Debido a las limitaciones de costos, muchos PDP-8 tenían lectores de cinta de papel perforados como su único dispositivo de E / S de almacenamiento masivo. EDU20 se cargaba desde una cinta de papel y podía hacer salida a una grabadora de cinta de papel si la máquina tenía una, mientras que EDU25 entendía la estructura de un sistema de archivos, podía cargar desde DECtape o disco y podía crear archivos en DECtape o disco. Ambos podían ejecutar varios programas BASIC simultáneamente utilizando un planificador de tareas primitivo que realizaba turnos entre los terminales conectados. La memoria siempre fue muy escasa porque el PDP-8 usaba memoria central, que era extremadamente cara en comparación con la tecnología RAM que apareció unos años más tarde. En tan solo 8K de palabras de 12 bits, EDU20 podría admitir hasta 4 terminales a la vez, aunque se recomendó más memoria. EDU25 requería un banco de memoria adicional de 4K (por un mínimo de 12K) porque el código contenía un controlador de dispositivo de disco y un controlador de sistema de archivos. Mientras se ejecutaban, EDU20 y EDU25 eran programas autónomos que no usaban ninguna llamada al sistema OS / 8. Inmediatamente después de ser invocados desde el intérprete de comandos de OS / 8, sobrescribían toda la parte residente de OS / 8, las 256 palabras. Al iniciarse, EDU25 guardaría el contenido de la memoria en DECtape o en el disco y lo restauraría cuando saliera. Pero EDU20 no pudo hacer esto ya que estaba dirigido a configuraciones de hardware sin ningún dispositivo reemplazable por bloques.
FORTRAN
Además de un compilador de FORTRAN II disponible gratuitamente , también había un compilador de FORTRAN IV bastante completo disponible a un costo adicional. Este compilador generó código para el procesador de punto flotante FPP-8 opcional, que era esencialmente una CPU separada, que solo compartía memoria con la CPU PDP-8. Si tuviera la opción FPP-8 instalada, el código de tiempo de ejecución de FORTRAN la detectaría y usaría el FPP-8 para ejecutar el código del programa principal, y la CPU PDP-8 se ejecutaría como un procesador de E / S. Si no tuviera el FPP-8, el código de tiempo de ejecución llamaría a un intérprete FPP-8 que se ejecuta en la CPU del PDP-8, por lo que el programa aún se ejecutaría, pero a una velocidad considerablemente reducida.
Este compilador de FORTRAN IV en la versión 1 tenía el error interesante de que los bucles DO contaban incorrectamente: los bucles DO contarían 1, 2, 3, 5, 6, 7,… (omitiendo 4). Se lanzó un parche rápido para solucionar este problema.
Ver también
- Multics
- Unix
- TSS-8
Referencias
- ^ para Richard Lary, quien también estuvo involucrado con OS / 8 y RTS8. "¿Qué es un PDP 8?" . Archivado desde el original el 25 de agosto de 2004.
- ^ sí, ¡con un signo de interrogación!
- ^ "Sistema de monitor de disco" (PDF) . BitSavers .
- ^ COMPUTERWORLD, junio de 1984: "OS / 278 está disponible por 74 dólares". "Decmate II 08/278 Digital Equipment Corp. ha presentado una nueva versión de su OS / 8 ..." Computerworld . 11 de junio de 1984. p. 130.
- ^ Archivo: /Licenses/os8_license.txt en os8swre.tar.Z
- ^ Una lista anotada de comandos está disponible en "COMANDOS DE MONITOR OS / 8" .
- ^ "Mi PDP8 / E" .
- ^ a b Rick Moore. "Folleto de asistencia de servicio de campo OS-8" .
- ^ medido en palabras de 12 bits "Unidad de disco duro DF32 / DS32" .
DF32 Disk File and Control es un disco duro de cabezal fijo con una capacidad total de 32K palabras de 12 bits.
- ^ 256 K x 12 bits de palabras
- ^ aunque también se pueden utilizar otros tipos de archivo para almacenar datos.
- ^ "OS / 8" . Wiki de Historia de la Computación .
Squish es como desfragmentar, en el sentido de que eliminará archivos y moverá cosas para que pueda obtener el máximo espacio libre.
- ^ p.6-67 en PDP 8 / e Small Computer Handbook . Corporación de Equipos Digitales. 1973.
- ^ 1970-1977
- ^ "OS / 8 solo puede almacenar fechas durante un período de 8 años ..." "Directorio de linctape-images / os8l / ps-8-system-25.linc" .
- ^ "COS-310, el sistema operativo comercial de DEC para el PDP-8, compatible ... pero con un nuevo formato de archivo de texto. El sistema de archivos es casi el mismo que OS / 8, pero las fechas se registran de manera diferente ..."
- ^ "The Digital Equipment Corporation PDP-8: Preguntas más frecuentes" .
- ^ Para obtener una descripción general del programador de OS / 8 EDIT, consulte "Edición de archivos en un PDP-8 usando OS / 8 EDIT" .
- ^ "Manual de referencia del programador 4K Fortran" (PDF) .
enlaces externos
- Kits de software SIMH que incluyen una imagen OS / 8.
- Manuales de OS / 8 en Bitsavers.
- Enlaces a la licencia y documentación de aficionado de DEC