Mensajepor ron » 06 Sep 2018 11:18
Tras repasar todos los apuntes históricos, por el momento doy por aclarado lo referente al estadio inicial del desarrollo del software de sistema para Atari ST.
Me parece conveniente añadir algunas etiquetas, que entre todos si buenamente se puede intentaremos corregir y consensuar de alguna forma, aunque solo sea para uso aquí en la casa.
¿ Existió el CP/M68K para Atari ST ? y ¿ Existe alguna copia operativa de CP/M68K para Atari ST ?
En teoría..., los cinco prototipos de Atari 130ST ( datos en el hilo ) usados en el Winter CES de enero de 1985 en Las Vegas estaban ejecutando CP/M68K y sobre ellos el GEM. Leonard Tramiel poseé uno de estos prototipos.
Desconocemos los requisitos para usar el CP/M68K y si este pudiera adaptarse para los ST actuales. Es de suponer que tiene unos requerimientos y unas ROM totalmente diferentes, aparte de los datos que hay en el hilo poco o no mucho más de momento podemos aportar.
¿ Puedo usar programas CP/M68K en Atari ST ?
No directamente, pero si tal y como se ha explicado en el hilo recompilando con Alcyon. EL principal escollo es que hay muy poco software disponible y accesible, por no decir casi nada para CP/M68K. Suerte que se preservaran las fuentes del sistema operativo, aunque son las de DRI y de las de Atari ST no hay nada.
¿ Finalmente que sistema operativo lleva el Atari ST ?
Se supone que el sistema operativo debe ser TOS, sin embargo. ¿ CP/M68K ?, ¿ GEMDOS ?, ¿ qué es esto ?, ¿ está en el ST ?
Esta pregunta puede responderse con pocas palabras. El sistema operativo en el Atari ST se llama TOS.
TOS, a diferencia de la información anterior, solo contiene algunas reminiscencias del CP/M 68K de Digital Research. Pero NO ES CP/M68K y tampoco es compatible directamente con el mismo. Al comienzo del desarrollo del software de sistema para el Atari ST, el CP/M68K se implementó en él ya que formaba parte del acuerdo y de lo contratado por Tramiel a DRI, pero esto se rectificó y se fue modificando sobre la marcha debido a la carencia de un sistema de ficheros moderno y a que el CP/M68K no era exactamente un modelo de velocidad y eficiencia. Un 68000 corriendo a 8MHz y provisto con DMA veía su rendimiento considerablemente reducido por la operación del sistema.
En 1984 Digital Research comenzó a desarrollar un nuevo sistema operativo que incluiría una interfaz gráfica user-level . Este sistema operativo se llamaba GEMDOS y se utilizó un Apple Lisa para portarlo a M68000. DRI ya disponía en ese momento de una versión totalmente funcional para PC. Para Atari ST GEMDOS es exactamente lo que constituye la parte independiente del hardware de TOS.
AL igual que el CP/M68K, TOS consta de dos partes, una parte dependiente del hardware y de otra independiente. La parte dependiente del hardware contiene la BIOS y la XBIOS, mientras que el parte independiente del hardware en el Atari ST es lo que conocemos como GEMDOS.
Esto ultimo puede parecer un poco lioso, simplemente BIOS y XBIOS son las partes que controlan el hardware, mientras el gemdos es un interfaz que une las aplicaciones de usuario con el hardware.
Una enorme cantidad de funciones están integradas en GEMDOS, a través de las cuales el programador puede controlar el I/O del ST. Funciones para la entrada de teclado y salida de texto en la consola, pantalla o impresora y el funcionamiento de las demás interfaces presentes.
Otro grupo bastante importante contiene funciones para manejo de archivos y para administración lógica de archivos y discos.
Y esto es a modo resumen lo que he podido ir redescubriendo.
¿ Qué pasa con el Sistema Operativo del ATARI ST ?
El Atari ST tiene un sistema operativo extremadamente complejo que consta de varios grupos de rutinas que comprenden varios niveles diferentes de interacción con la máquina, lo cual significa que hay una gran cantidad de llamadas, las cuales pueden ser divididas en grupos y estos grupos se relacionan entre sí de una manera parecida a un árbol. Las principales bibliotecas son BIOS, el XBIOS, el GEMDOS, las rutinas de la línea A, el AES, y la VDI. Estos grupos pueden a su vez ser puestos en condiciones de servicio y el GEM
¿ Cómo se relacionan las rutinas del Sistema Operativo del Atari ST ?
En las siguientes secciones echamos un vistazo abajo hacia arriba en las bibliotecas individuales, la forma en que se relacionan entre sí y lo que hacen. La primera sección trata sobre la organización general del ( sistema operativo ) OS.
Un amplio ángulo de visión ofrecido por Digital Research
EL OS ( sistema operativo )del ST se puede dividir en dos grandes grupos de rutinas, TOS ( The Operating System ), y el GEM ( Graphics Environment Manager ). La TOS contiene las rutinas subyacentes que hacen que la máquina funcione, y GEM tiene las rutinas que hacen posible comunicarse amablemente con el usuario. Esto significa que no hay consola, que no hay comandos y que intuitivamente el usuario puede manejar su sistema de ficheros y en general el uso de la máquina.
TOS puede dividirse a su vez en BIOS, XBIOS, GEMDOS y bibliotecas Línea A. Estas bibliotecas controlan funciones de la máquina dependientes ( como el control de los periféricos ) y Entrada/Salida (I/O)) básica. Las rutinas de la Línea A son rutinas básicas gráficas que son utilizados por GEM para crear el entorno de ventanas que el usuario ve.
GEM contiene dos bibliotecas, las rutinas AES y VDI. GEM es responsable de la entorno de ventanas y el escritorio que hacen uso del ST más intuitivo. La AES está ocupada sobre todo con las ventanas y cuadros de diálogo, las cosas con las que el usuario interactúa. Las rutinas de VDI manejan pantalla de texto complejo y niveles altos en manipulaciones gráficas.
Finalmente. la TOS es el corazón del ST. Todo lo que haces, ejecutas o escribes en tu ST utiliza TOS.
Cuando lanzas un programa es la TOS la que hace posible que se ejecute ese programa. Descartando la parte gráfica GEM hay programas que activan gráficos y música desde TOS sin necesidad de la capa de GEM.
El GEMDOS
El GEMDOS, como se ha señalado antes, está compuesto por las rutinas independientes de máquina para el manejo de archivos y tareas ( programas ) y gestionar los niveles de E/S. Tienen cierta semejanza a las rutinas de MS-DOS. Estas rutinas hacen que sea fácil manipular archivos mediante fopen, fread y fseek. El control de la ejecución de los programas se gestiona mediante rutinas como pexec y pterm.
La facilidad con la que se realizan las operaciones de E/S es mediante cconin y cconout. Estas rutinas permiten al programador realizar la mayor parte de lo que le gustaría hacer en operaciones de E/S con muy poquito esfuerzo.
El GEMDOS se ejecuta al nivel más alto de TOS. Está construido sobre las rutinas en el resto de condiciones de servicio, es decir, el BIOS y el XBIOS. Hay por tanto un solapamiento entre estos y el GEMDOS. El GEMDOS fue escrito para hacer más fácil el trabajo del programador mediante la incorporación de las rutinas de bajo nivel en las rutinas de nivel superior que son más específicas.
La BIOS
La BIOS está compuesta por la colección de rutinas que utiliza el ST para comunicarse con los muchos dispositivos disponibles. Mediante el uso de rutinas de la BIOS se puede leer y escribir en, y obtener el estatus de, como por ejemplo el puerto serie, el puerto midi, el puerto paralelo, los discos y la pantalla/terminal. Estas rutinas ( como bconin y bconout ) son rutinas generales. Con la misma rutina se puede obtener información de varias fuentes variando los parámetros de llamada. Se puede ver cómo las rutinas específicas de dispositivos en el GEMDOS se pueden construir a partir de las rutinas de la BIOS.
La XBIOS
Está formada por rutinas que son muy similares a las de la BIOS, pero implican mucho más control sobre los periféricos del ST. En general, leer o escribir con llamadas de la BIOS, se pueden controlar con llamadas a la XBIOS. Estas rutinas también permiten controlar el chip de sonido, las unidades de disco, el puerto serie, el ratón, y el puerto midi. GEMDOS también se construye a partir de estas llamadas.
Las rutinas de la Línea A
Estas rutinas son las primitivas gráficas del ST. Permiten crear gráficos complejos con relativamente pocos comandos simples. Con estas rutinas se puede dibujar píxeles, líneas y cuadros, así como sprites de control y el puntero del ratón. Las rutinas de GEM se construyen a partir de estas rutinas ( volveremos a las rutinas de la Línea A más adelante).
Aquí terminan las rutinas que componen TOS. En adelante se trata en conjunto el GEM.
GEM
Ahora llegamos a la materia compleja. GEM, el Administrador de gráficos para el Entorno ST.
Es una rutina independiente de máquina ( existen versiónes de GEM para Apple Lisa y PC también ) compuesta por un conjunto de rutinas que permiten al programador utilizar ventanas, cuadros de diálogo, el ratón, botones y controles deslizantes para interactuar con el usuario final. GEM también permite presentar gráficos y dirigir su salida a un número de diferentes dispositivos complejos. Está construido de modo que estas características se pueden definir, acceder, y se utilizan con un número relativamente pequeño de rutinas. También permite la multitarea limitada a través de accesorios de escritorio. Además de todo eso, GEM permite la comunicación y el control entre procesos. ¡ Ya dije que era materia compleja !
GEM se compone de dos bibliotecas de rutinas, el AES (Application Environment Services) y la VDI (Virtual Device Interface). El AES es responsable de elaborar y capturar la entrada de las ventanas y cuadros de diálogo, así como la coordinación de múltiples fuentes de entrada y la interacción entre los programas que se ejecutan al mismo tiempo. Es principalmente de entrada.
La VDI es responsable de la producción compleja. Maneja la salida de texto en modo gráfico, salida de gráficos de alto nivel y la salida a dispositivos distintos de la pantalla.
AES
La AES, como he mencionado antes, se refiere principalmente a la entrada. Mientras que es responsable de la elaboración de ventanas y cuadros de diálogo, el trabajo más importante es recibir entrada a través de esas ventanas y cuadros de diálogo. Los evnt_button, evnt_timer y llamadas evnt_multi son llamadas de entrada relacionada en AES.
Otra función de la AES es coordinar más de un programa en ejecución. Los Mensajes y la coordinación entre los programas son responsabilidad de AES .
El punto central del AES es la noción de un objeto. Un objeto es ( generalmente ) algo que se elaborará en una ventana ( como una barra de desplazamiento ) o un cuadro de diálogo ( como un botón ). Los objetos también pueden ser texto o cajas. Una colección de objetos se organiza en un árbol, que da información sobre las relaciones entre los objetos. Una vez elaborado, un objeto puede actuar sobre ( lista, selección, mover, tamaño, etc. ), y los resultados de estas acciones comprenden la entrada que AES se encarga de la obtener.
El AES intenta proporcionar un interfaz suave y fácil entre el usuario y el programa.
VDI
Las rutinas de VDI se ocupan principalmente de la producción. La VDI ofrece capacidades gráficas complejas utilizando rutinas simples y de fácil manejo. También se ocupa de las fuentes y la salida de texto.
Una de las funciones más importantes es VDI para proporcionar acceso a una variedad de dispositivos de salida. Las rutinas VDI se construyen de manera que el dispositivo de salida en el que están no es específico. Se puede dibujar un círculo en la pantalla o en un plotter con la misma rutina. La parte independiente del dispositivo VDI es el GDOS. Sus rutinas de control de los dispositivos periféricos y permiten la salida de las rutinas de VDI a estos.
El concepto importante en la biblioteca VDI es la estación de trabajo. Una estación de trabajo es un dispositivo que puede manejar la salida de las rutinas de VDI. Impresoras, plotters y la pantalla son ejemplos de estaciones de trabajo. Cada rutina VDI se entregara a la estación de trabajo que se espera que le de salida.
La VDI proporciona un medio flexible para la presentación de salida compleja para el usuario.
Por el momento es todo, sentiros libres de comentar, añadir, rectificar, etc... todo es bienvenido. Gracias y saludos