• Hace poco más de una semana me puse a escribir un articulo en partes sobre aspectos básicos del manejo de computadoras Amiga.
    Orientado a tareas simples y poner un poco de luz en como el AmigaOS se diferencia o parece a otros sistemas operativos.
    Todavía no esta completo pero voy a publicar cada parte en un post separado, dejando posts en blanco para las partes aún no escritas.
    Más adelante agregaré imagenes según sea necesario.

    La lista de capitulos es como sigue:

    1. El sistema Operativo
    2. Dispositivos, Volumenes y Assigns
    3. Los directorios del sistema
    4. AmigaDOS y el startup-sequence
    5. Mountlist
    6. Librerias
    7. GUI y Workbench
    8. Utilidades recomendadas
     

  • 1. El sistema Operativo

    El AmigaOS es un sistema operativo gráfico con multitarea preemptiva, esto quiere decir , dicho de manera muy simple que el sistema es quien maneja que tajada del tiempo de ejecución le es otorgada a cada programa. Al contrario de la multitarea cooperativa (usado en Windows antes de W95 y en Mac antes de MacOSX) donde es cada programa el que decide cuando ceder su turno para los demas programas en ejecución.

    El sistema operativo soporta una forma de plug & play llamada Autoconfig, que elimina la necesidad de configurar jumpers y archivos de configuración manualmente.

    Por lo general los componentes principales del AmigaOS están dentro de la ROM Kickstart.

    El AmigaOS es totalmente modular, y cada componente es una librería dinamica (equivalente a una DLL en windows)

    El componente principal es EXEC, el kernel multitarea que se encarga de administrar la ejecucion de los programas, el manejo de memoria, el envio de mensajes entre tareas, etc.

    AmigaDOS es el sistema operativo de disco, se encarga de los dispositivos de almacenamiento, sistemas de archivo y consolas de linea de comando entre otras cosas.

    Intuition es la interfaz gráfica, se encarga de administrar pantallas, ventanas y los botones y controles de las aplicaciones.

    Finalmente, Workbench es el escritorio en AmigaOS, enlaza de forma gráfica al usuario con el/los sistemas de archivos presentes en el equipo.

    Un vistaso rápido a las versiones clasicas de AmigaOS:

    AmigaOS tiene tanto número de versión como número de release, este último es el que se usa comunmente para identificarlo. El número de versión es diferente al de release y suele haber mas de una versión para cada release (sea para identificar versiones para distintas maquinas, pequeñas correcciones de bugs o agregados a los discos de instalación).

    Release 1.0 y 1.1 (v30 y v31.34(NTSC), v32.34(PAL)): Son las versiones originales para la Amiga 1000, basadas en disco. 1.0 solo funciona en computadoras NTSC. Mientras que 1.1 tiene versiones separadas para PAL y NTSC.

    Release 1.2 (v34.4): La versión que equipaba a las primeras Amiga 500 y 2000, tiene soporte automatico para PAL y NTSC. Incluye Autoconfig por primera vez, aunque aún no es capaz de arrancar desde discos rigidos.

    Incluye SetMap, lo que proporciona soporte para teclados internacionales.
    El Workbench soporta selección de varios iconos a la vez.
    Aparece el directorio Expansion, para cargar drivers de placas de expansión.

    Release 1.3 (v34.5): Corrige los errores en Autoconfig y permite arrancar desde disco rigido. También configura expansiones de memoria automaticamente.
    Incluye el Shell.
    Existen varias subversiones que varian solo en el disco del workbench y las utilidades que este incluye.

    Release 2.x (v36.141 a v37.350): Gran cambio en el look de la interfaz gráfica. Ahora todo tiene un aspecto '3D'.

    Agrega el Boot menu.
    Incluye GadTools, una biblioteca para diseño de interfaces, por primera vez AmigaOS estandariza el 'look and feel' de la interfaz gráfica.
    AmigaDOS es reescrito en C, basado en el trabajo de ARP (AmigaDOS Replacement Project)
    Introduce BOOPSI, un sistema basado en objetos que extienede a Intuition.
    El Workbench puede mostrar archivos que no tienen un icono asociado.
    Cuadros de dialogo estandarizados.
    Fuentes escalables (antes AmigaOS solo soportaba fuentes bitmap)
    Introduce AmigaGuide, un formato de documentos con hypertexto.

    Release 3.0 y 3.1 (v39.106 y v40.xx): Soporte para chipset AGA.

    Diagnostico y otras funciones añadidas al Boot Menu (Amiga Early Startup Control)
    Introduce Datatypes, un sistema de librerias para formatos de archivo, que permite que toda aplicación escrita con soporte para Datatypes puede abrir todos los formatos de archivo cuyo Datatype esté instalado en el equipo.
    Remapeado de colores, y soporte para RTG (ReTargetable Graphics), una API que permite el uso de placas gráficas.
     

  • 2.Dispositivos, Volumenes y Assigns

    Puede decirse que el manejo de dispositivos en AmigaOS es más similar a Unix que a MS-DOS.

    A excepción de las disqueteras, la partición de arranque del disco rigido y algunos otros dispositivos logicos como la consola, todo dispositivo fisico o lógico debe montarse antes de poder usarse.

    Las unidades de disquete son nombradas como DFx: donde x es el número de únidad.
    Para discos rigidos es DHx: o, menos común HDx:

    Aunque estos dos casos estan estandarizados (especialmente las disqueteras), el nombre del dispositivo puede ser cualquiera que se determine a la hora de montarlo.
    Incluso puede ser un nombre relativamente largo, como SPEAK: que se refiere al sintetizador de voz por software que viene en AmigaOS 1.x

    Es común tener un RAMdisk en amiga, el normal es llamado RAM: , es de tamaño dinamico (solo ocupa la cantidad de memoria correspondiente a los archivos que contiene) y se borra al hacer reset. Es necesario contar con RAM-Handler en L: para que funcione.
    En segundo tipo de RAMdisk es RAD: (*) que es de tamaño fijo y no pierde su contenido luego de un reset. Para usarlo se necesita ramdrive.device en DEVS: y la entrada correspondiente en mountlist, indicando el tamaño a reservar.

    Los puertos paralelo y serie se llaman PAR: y SER: respectivamente, y su uso no difiere con como se usan en MS-DOS, la única diferencia es que SER: envia los datos en paquetes de 400 bytes.

    PRT: se refiere a la impresora según este configurada en preferencias. Si no se sabe a que puerto va a estar conectada la impresora del sistema, usando este dispositivo como salida elimina la incertidumbre.

    A un nivel mas alto están los volumenes, esto se refiere al nombre del medio insertado algún dispositivo. Es mayormente utilizado con disquetes.
    Para referirse a un volumen en particular se procede de la misma manera que con un dispositivo, se coloca el nombre del volumen seguido de dos puntos, por ejemplo para acceder a un disquete llamado Utils se utilizaria: 'Utils:'

    Luego estan los Assigns (asignaciones), son dispositivos o volumenes virtuales, similar a como los alias funcionan en otros sistemas. Permite por ejemplo darle un nombre único y simple a un subdirectorio.
     

  • 3. Los directorios del sistema

    AmigaOS maneja la ubicación de todos sus comandos y componentes externos a travez de asignaciones, por defecto estas asignaciones apuntan a subdirectorios del volumen desde el cual arrancó el sistema.

    SYS: Se refiere al directorio raiz del volumen desde donde arrancó el sistema.

    C: Este es el directorio donde estan todos los comandos de AmigaDOS, por defecto SYS:c

    S: Este es el directorio donde se encuentran los scripts de inicio, incluyendo startup-sequence, por defecto SYS:s

    L: En este directorio se encuentran los llamados handlers, que hacen de interfaz entre los dispositivos y/o sus drivers y el AmigaDOS, y tambien sistemas de archivos. Por defecto SYS:l
    Ciertos tipos de handlers exponen un nombre de dispositivo al AmigaDOS, como por ejemplo SPEAK: o CON:
    Mientras que los handlers que implementan sistemas de archivos exponen un nombre de drive al AmigaDOS, como DF0: o PC0:

    Este esquema permite a un dispositivo fisico ser accedido por distintos sistemas de archivos  'al mismo tiempo', usando el ejemplo anterior la disquetera interna de la Amiga puede leer discos con formato amiga desde DF0: o con formato de PC desde PC0:

    LIBS: En este directorio estan todas las librerias externas del sistema, así como cualquier librería de terceros que necesiten usar los programas instalados. Por defecto SYS:libs

    DEVS: Aquí se encuentran los drivers de todos los perifericos instalados. También se encuentra un archivo de texto llamado MOUNTLIST, el cual discutiremos más adelante. Por defecto SYS:devs

    FONTS: Todas las fuentes instaladas se encuentran en este directorio. Por defecto SYS:fonts

    T: Directorio para archivos temporales. Por defecto SYS:t, usualmente RAM:t

    ENV: Directorio donde se guardan las variables del sistema y preferencias de programas. Por defecto RAM:env

    CLIPS: Directorio temporal para recortes (para copy/paste). Por defecto RAM:clipboards

    Otros directorios ubicados en SYS: son

    SYS:System - Contiene utilidades básicas del sistema, como Format, Setmap para seleccionar el mapa del teclado, FastMemFirst para dar prioridad a la memoria fast, etc

    SYS:Prefs - Aquí estan todos los programas de seteo de preferencias del sistema.

    SYS:Utilities - Pequeñas utilidades como calculadora, visor de textos, etc.

    SYS:Expansion - Este directorio era usado, especialmente antes de 1.3 para almacenar las 'bios' de placas de expansión que no se autoconfiguraban.
     

  • 4. AmigaDOS y el startup-sequence

    AmigaDOS esta basado en TripOS, y si bien no era tan avanzado como el sistema de disco originalmente pensado para la Amiga (y que finalmente no se usó porque el desarrollador del mismo pudo cumplir con los tiempos establecidos), aún tenía caracteristicas interesantes para la epoca.

    AmigaDOS permite originalmente nombres de hasta 25 caracteres de largo, tanto en mayusculas como minusculas, ademas de un comentario de 79 caracteres.

    Si bien los archivos pueden tener nombres con mayusculas y minusculas, el sistema no le hace caso a esto y acepta comandos y nombres aún si no coinciden con la forma que se encuentran grabados en disco. Esto se extiende a nombres de dispositivos.
    En este texto se usan mayusculas solo para mayor claridad.

    El usuario puede acceder a AmigaDOS a travez de consolas de linea de comando, la consola por defecto y original es CLI (Command Line Interface), que normalmente toma el nombre de dispositivo CON:

    CLI es bastante básica, y no tiene muchas posibilidades de edición, por lo que pronto aparecio AmigaShell, tomando el nombre de dispositivo NEWCON: y que permite mejor edición e historial de comandos.
    En AmigaOS 1.x, para que AmigaShell funcione es necesario hacer residente a Shell-Seg con el comando:


    Resident CLI L:Shell-Seg SYSTEM pure


    El manejo es similar a cualquier otra linea de comandos.

    cd <directorio> permite cambiar directorios, para subir un directorio se usa '/', para volver al directorio raiz se usa ':'

    dir <directorio> lista el contenido del directorio de manera abreviada, similar a dir /w en MS-DOS/Windows

    list <directorio> lista el directorio con toda la información de permisos y fecha

    run <nombre programa> corre un comando en segundo plano.

    execute <nombre secuencia batch> ejecuta una secuencia batch, si el archivo especificado no se encuentra en el directorio actual, busca en S:

    assign <nombre> <directorio/s> <ADD> asigna el nombre a directorio. Si no se dan argumentos lista todos los volumenes, asignaciones y dispositivos presentes en el sistema.
    A partir de AmigaOS 2, se pueden indicar más de un directorio por asignación. De manera que el sistema toma todos los directorios indicados como una unica asignación. Esto se puede hacer dando una lista de directorios separada por espacios, o individualmente, agregado el parametro ADD al final del comando.

    avail muestra la cantidad de memoria instalada en el sistema, cuanta esta siendo usada, cuanta esta libre, y cual es el segmento más grande disponible

    copy <origen> <destino> <ALL> copia el archivo o directorio origen hacia destino, si se usa la opción ALL entonces se copiarán todos los subdirectorios de origen si existiesen.

    delete <nombre> <ALL> borra el archivo o directorio especificado. Si se borra un directorio, y se usa la opción ALL, entonces se borrarán todos los archivos y subdirectorios que contenga.

    makedir <nombre> crea un directorio

    install <drive> hace booteable el disquete dentro de la unidad drive

    mount <device> monta el dispositivo device, el cual debe tener una entrada correspondiente en el archivo DEVS:mountlist

    loadwb carga el Workbench

    resident <nombre> <programa> <ADD><REMOVE> <SYSTEM> <PURE> guarda en memoria el "programa" dandole opcionalmente el nombre "nombre", de manera que queda residente para ser llamado cuando sea necesario sin ser cargado desde disco.
    PURE sirve para forzar programas que no estan marcados por el sistema de archivos como 're-ejecutables' a ser tratado como tal. SYSTEM agrega el programa a la sección del sistema de residentes, del cual no puede ser removido.
    REMOVE elimina un programa o nombre residente.
    En caso que programa ya exista en la lista de residentes, pero se quiere agregar otra copia, debe usarse un nombre diferente y la opción ADD.
    Si no se indica ningún parametro se imprimirá la lista de programas residentes en el sistema.

    endcli cierra la consola actual.

    alias <nombre> <comando> Le da a comando el apodo nombre. comando puede (y es usualmente usado de esta manera) incluir todos los parametros necesarios. De forma que un comando complejo muy usado puede sustituirse con una simple palabra.


    - Redirigiendo la entrada o salida de los comandos: Usando '<' y '>' se puede redirigir la entrada o salida de un comando respectivamente. Por ejemplo:

    dir >RAM:listado SYS:utilities


    creara un archivo de nombre 'listado' en RAM: conteniendo el listado del directorio SYS:utilities

    Existe un dispositivo especial, llamado NIL: que permite descartar cualquier salida que se le envia. Por ejemplo:


    run >NIL: copy SYS:prefs/env RAM:env


    Copiará en segundo plano el contenido de SYS:prefs/env a RAM:env, sin que el progreso de la copia aparezca en pantalla y ademas permitirá que la consola actual pueda ser cerrada con endcli antes que la copia se complete.

    -Patrones y comodines: Los dos comodines principales usados en AmigaDOS son '#' y '?'

    #x Busca coincidencias de cualquier largo del caracter 'x' (incluyendo 0 coincidencias). Por ej:

    N#O coincide con N, NO, NOO y NOOOOO

    ?  Busca por un caracter individual cualquiera. Por ej:

    NEN? coincide tanto con NENE como con NENA

    #? Busca por cualquier repetición de cualquier caracter, por lo tanto es equivalente al asterisco en otros sistemas. Por ej:

    #?.BAS coincide con todos los archivos con extensión .BAS

    Hay otros comodines, pero esos dos son los básicos.


    El startup-sequence

    continuará....
     

  • 5. Mountlist

    Muy pronto
     

  • 6. Librerias

    Muy Pronto
     

  • 7. GUI y Workbench

    Muy Pronto
     

  • 8. Utilidades recomendadas

    Muy Pronto
     

  • Excelente... tenia ganas de hacer algo asi yo... pero no me decidia si iniciar con el sistema o con AMOS

    Igualmente creo que los puntos 5 y 6 deberian ser 1 punto solo con 3 secciones o bien 3 secciones independientes...

    A no ser que al decir Mountlist en el punto 5 hagas referencia a DEVICES (DEVS) y HANDLERS (L), ya que unos van de la mano con los otros...
     

Moderador (s): homecomputer, Selandari, elpiloto, pastbytes, Durandal