stringtranslate.com

Manzana DOS

Apple DOS es la familia de sistemas operativos de disco para la serie de microcomputadoras Apple II desde finales de 1978 hasta principios de 1983. Fue reemplazado por ProDOS en 1983. Apple DOS tiene tres versiones principales: DOS 3.1, DOS 3.2 y DOS 3.3; cada una de estas tres versiones fue seguida por una segunda versión menor de "corrección de errores", pero sólo en el caso de Apple DOS 3.2 esa versión menor recibió su propio número de versión, Apple DOS 3.2.1. La versión más conocida y utilizada es Apple DOS 3.3 en las versiones de 1980 y 1983. Antes del lanzamiento de Apple DOS 3.1, los usuarios de Apple tenían que depender de cintas de audio para el almacenamiento y recuperación de datos.

Historial de versiones

Cuando Apple Computer presentó el Apple II en abril de 1977, la nueva computadora no tenía unidad de disco ni sistema operativo de disco (DOS). Aunque el cofundador de Apple, Steve Wozniak, diseñó el controlador Disk II a finales de ese año y creía que podría haber escrito un DOS, su cofundador Steve Jobs decidió subcontratar la tarea. La empresa consideró utilizar CP/M de Digital Research , pero Wozniak buscó un sistema operativo que fuera más fácil de usar. El 10 de abril de 1978, Apple firmó un contrato de 13.000 dólares con Shepardson Microsystems para escribir un DOS y entregarlo en un plazo de 35 días. Apple proporcionó especificaciones detalladas, y Randy Wigginton, uno de los primeros empleados de Apple , trabajó estrechamente con Paul Laughton de Shepardson mientras este último escribía el sistema operativo con tarjetas perforadas y una minicomputadora . [2]

No había Apple DOS 1 o 2. Las versiones 0.1 a 2.8 fueron revisiones enumeradas en serie durante el desarrollo, que bien podrían haberse llamado compilaciones 1 a 28. Apple DOS 3.0, una edición renombrada de la versión 2.8, nunca se lanzó públicamente debido a errores. . Apple no publicó documentación oficial hasta la versión 3.2. [3] [4]

Apple DOS 3.1 se lanzó públicamente en junio de 1978, poco más de un año después de la introducción del Apple II, convirtiéndose en el primer sistema operativo basado en disco para cualquier computadora Apple. Posteriormente llegó una versión de corrección de errores, que solucionaba un problema mediante su MASTER CREATEutilidad, que se utilizaba para crear discos maestros (de arranque) de Apple DOS: el comando integrado INITcreaba discos que sólo podían arrancar en máquinas con al menos la misma cantidad de la memoria como la que los había creado. MASTER CREATEIncluye una versión de DOS con reubicación automática que arranca en Apple con cualquier configuración de memoria.

Apple DOS 3.2 se lanzó en 1979 para reflejar los cambios en los métodos de arranque de la computadora que se incorporaron en el sucesor del Apple II, el Apple II Plus. El nuevo firmware incluía una función de inicio automático que encontraba automáticamente un controlador de disco y arrancaba desde él cuando se encendía el sistema, lo que le valió el nombre de " ROM de inicio automático ". [ cita necesaria ] DOS 3.2.1 se lanzó en julio de 1979 con algunas correcciones de errores menores. [5]

Apple DOS 3.3 fue lanzado en 1980. Mejora varias funciones [ ¿cuáles? ] de la versión 3.2, al tiempo que permite grandes ganancias en el almacenamiento disponible en disquetes . Las PROM P5A/P6A más nuevas en el controlador de disco permiten la lectura y escritura de datos a una mayor densidad, por lo que se pueden almacenar 16 sectores (4 KiB) por pista en lugar de 13 sectores (3,25  KiB ), aumentando la capacidad de 113,75 KB a 140. KB por lado: 16 KB de los cuales se utilizan para la sobrecarga del sistema de archivos y una copia de DOS, dejando 124 KB para los programas y datos del usuario. Sin embargo, DOS 3.3 no es compatible con versiones anteriores ; no puede leer ni escribir discos DOS 3.2. Para solucionar este problema, Apple Computer lanzó "MUFFIN", una utilidad para migrar archivos y programas Apple DOS 3.2 a discos de la versión 3.3. Apple nunca ofreció una utilidad para copiar en la otra dirección. Para migrar archivos Apple DOS 3.3 a discos de la versión 3.2, alguien escribió una utilidad "NIFFUM". También existen utilidades comerciales (como Copy II Plus) que pueden copiar archivos entre cualquiera de los formatos (y eventualmente también entre ProDOS ). La versión 3.3 también mejora la capacidad de cambiar entre Integer BASIC y Applesoft BASIC, si la computadora tiene una tarjeta de idioma ( expansión de RAM ) o una tarjeta de firmware.

Detalles técnicos

Los discos Apple DOS 3.1 utilizan 13 sectores de datos por pista, cada sector tiene 256 bytes. Utiliza 35 pistas por lado del disco y solo puede acceder a un lado del disquete, a menos que el usuario le dé la vuelta al disco . Esto proporciona al usuario una capacidad de almacenamiento total de 113,75 KB por lado, de los cuales unos 10 KB se utilizan para almacenar el propio DOS y el directorio del disco, dejando unos 100 KB para los programas del usuario.

La primera capa del sistema operativo se llama RWTS, que significa "sector de seguimiento de lectura/escritura". Esta capa consta de subrutinas para búsqueda de pistas, lectura y escritura de sectores y formateo de disco. Además de esto, se creó una API llamada Administrador de archivos que implementa funciones para abrir, cerrar, leer, escribir, eliminar, bloquear (es decir, proteger contra escritura), desbloquear (es decir, habilitar escritura) y cambiar el nombre de archivos, además de verificar. la integridad estructural de un archivo. También hay una CATALOGfunción para enumerar archivos en el disquete y una INITfunción que formatea un disco para usarlo con DOS, almacena una copia de DOS en las primeras tres pistas y almacena un programa de inicio (generalmente llamado HOLA) que se ejecuta automáticamente. -se inicia cuando se inicia este disco. Además de la API del Administrador de archivos, se implementan las principales rutinas de DOS que se conectan al intérprete BÁSICO de la máquina e interceptan todos los comandos del disco. Proporciona BLOAD , BSAVE y BRUN para almacenar, cargar y ejecutar ejecutables binarios. LOAD, RUNy SAVEse proporcionan para programas BASIC, y EXECse proporcionó un para ejecutar archivos por lotes basados ​​en texto que constan de comandos BASIC y DOS. Finalmente, existen cuatro tipos de archivos, identificados por letras en un listado de catálogo:

Hay cuatro tipos de archivos adicionales; "R", "S" y "A" y "B adicionales", ninguno de los cuales es totalmente compatible. DOS reconoce estos tipos sólo para listados de catálogos y no existen formas directas de manipular estos tipos de archivos. El tipo "R" encontró algún uso para archivos ejecutables binarios reubicables. Algunos programas admiten el tipo "S" como archivos de datos.

Una tabla de vectores de llamadas en la región de $03D0–03FF 16 permite a los programas encontrar DOS dondequiera que esté cargado en la memoria del sistema. Por ejemplo, si el DOS conectado a BASIC CLI deja de funcionar, se puede reinicializar llamando a la ubicación $03D0 16 (976 10 ), de ahí el 3D0Gcomando tradicional ("3D0 go") para regresar a BASIC desde el Monitor del sistema.

Cargador de arranque

El proceso de carga de Apple DOS implica una serie de programas muy pequeños, cada uno de los cuales avanza el proceso de carga unos pocos pasos antes de pasar el control al siguiente programa de la cadena.

Compatibilidad con enteros BASIC y Applesoft BASIC

El Apple II original incluía un intérprete BASIC en la ROM conocido originalmente como Apple BASIC y más tarde como Integer BASIC . Las variables en este lenguaje sólo pueden manejar números enteros que van desde −32,768 a +32,767 ( valores binarios de 16 bits ); Los números de punto flotante no son compatibles. Apple encargó a Microsoft el desarrollo de Applesoft BASIC , [6] capaz de manejar números de punto flotante. Applesoft BASIC no puede ejecutar programas Integer BASIC, lo que hace que algunos usuarios se resistan a actualizarlo.

DOS 3.3 se lanzó cuando Applesoft BASIC era estándar en la ROM del Apple II Plus, por lo que Apple lo diseñó para admitir el cambio entre los dos intérpretes BASIC. Integer BASIC se carga en la RAM en la tarjeta de idioma de Apple II (si está presente) y al escribir FPo INTdesde BASIC, el usuario puede cambiar entre cualquiera de las versiones.

Rechazar

Después de 1980, Apple DOS entró en un estado de estancamiento cuando Apple concentró sus esfuerzos en la desafortunada computadora Apple III y su sistema operativo SOS . A principios y mediados de 1983 se lanzaron dos versiones más de Apple DOS, ambas todavía llamadas DOS 3.3 pero con algunas correcciones de errores y mejor soporte para el nuevo modelo Apple IIe .

Sin parches de terceros, Apple DOS sólo puede leer disquetes que se ejecutan en una unidad Disk II de 5,25 pulgadas y no puede acceder a ningún otro medio, como unidades de disco duro, unidades RAM virtuales o unidades de disquete de 3,5 pulgadas. La estructura de los discos Apple DOS (particularmente el mapa del sector libre, que estaba restringido a parte de un solo sector) es tal que no es posible tener más de 400 KB disponibles a la vez por unidad sin una reescritura importante de casi todas las secciones. del código; Esta es la razón principal por la que Apple abandonó esta versión de DOS en 1983, cuando Apple DOS fue reemplazado por completo por ProDOS .

ProDOS conserva el formato de bajo nivel de 16 sectores de DOS 3.3 para discos de 5,25 pulgadas, pero introduce un nuevo formato de alto nivel que es adecuado para dispositivos de hasta 32  MB ; esto lo hace adecuado para discos duros de esa época y disquetes de 3,5 pulgadas. Todas las computadoras Apple desde II Plus en adelante pueden ejecutar DOS 3.3 y ProDOS; la Plus requiere una expansión de memoria "Tarjeta de idioma" para usar ProDOS; Los modelos e y posteriores tienen hardware de tarjeta de idioma incorporado y, por lo tanto, pueden ejecutar ProDOS directamente. ProDOS incluye software para copiar archivos desde discos Apple DOS. Sin embargo, muchas personas que no necesitaban las mejoras de ProDOS (y a quienes no les gustaba su uso de memoria mucho mayor ) continuaron usando Apple DOS o uno de sus clones mucho después de 1983. La convención de Apple de almacenar un sistema operativo de arranque en cada disquete disco significa que se puede utilizar software comercial sin importar el sistema operativo que posea el usuario. Un programa llamado DOS.MASTER permite a los usuarios tener múltiples particiones virtuales de DOS 3.3 en un volumen ProDOS más grande, lo que permite el uso de muchos programas DOS basados ​​en disquetes con un disco duro.

Poco después de que saliera ProDOS, Apple retiró el permiso de terceros para redistribuir DOS 3.3, pero concedió a una empresa, Syndicomm, una licencia exclusiva para revender DOS 3.3. [7]

Los juegos comerciales generalmente no usaban Apple DOS, sino que tenían sus propias rutinas de disco personalizadas para fines de protección contra copia y rendimiento.

Mejoras de rendimiento

La rutina RWTS de DOS puede leer o escribir una pista en dos revoluciones con el intercalado adecuado. Un sector del disco giratorio pasa por debajo del cabezal de lectura/escritura mientras la rutina RWTS decodifica el sector recién leído (o codifica el siguiente que se escribirá), y si este sector perdido es el siguiente que se necesita, DOS debe esperar. casi una revolución entera del disco para que el sector vuelva a recuperarse. A esto se le llama "soplar una revolución" y es un cuello de botella de rendimiento bien entendido en los sistemas de disco. Para evitar esto, los sectores de un disco DOS están dispuestos en orden intercalado: [8]

0 7 mi 6 d 5 c 4 b 3 un 2 9 1 8 f

Posteriormente, ProDOS organizó los sectores en este orden: [8]

0 8 1 9 2 a 3 b 4 c 5 d 6 mi 7 f

Al leer y decodificar el sector 0, pasa el sector 8, de modo que el sector 1, el siguiente sector que probablemente se necesitará, estará disponible sin esperar. Al leer el sector 7, dos sectores innecesarios, f y 0, pasan antes de que el sector 8 esté disponible, y al leer el sector 15, la unidad siempre tendrá que esperar una revolución adicional para el sector 0 en la misma pista. Sin embargo, el sector 0 realmente necesario en la mayoría de los casos estará en la siguiente pista superior, y esa pista se puede organizar en relación con la última para permitir el tiempo necesario para decodificar el sector recién leído y mover la cabeza antes de que llegue el sector 0. alrededor. En promedio, se puede leer una pista completa en dos revoluciones del disco.

El primer administrador de archivos de DOS subvirtió esta eficiencia al copiar bytes leídos o escritos en un archivo uno por uno entre un búfer de disco y la memoria principal, lo que requería más tiempo y provocaba que DOS aumentara constantemente las revoluciones al leer o escribir archivos. [9] Desde el principio estuvieron disponibles programas para formatear discos con intercalaciones de sectores modificados; Estos discos le dan a DOS más tiempo entre sectores para copiar los datos, lo que mejora el problema.

Más tarde, programadores externos a Apple reescribieron las rutinas del Administrador de archivos para evitar realizar copias adicionales para la mayoría de los sectores de un archivo; Se ordenó a RWTS que leyera o escribiera sectores directamente hacia o desde la memoria principal en lugar de desde un búfer de disco cada vez que se iba a transferir un sector completo. Uno de los primeros "parches" para proporcionar esta funcionalidad se publicó en Call-APPLE . Las aceleraciones al LOADmando de tres a cinco veces eran típicas.

Esta funcionalidad pronto apareció en productos comerciales, como Pronto-DOS, Diversi-DOS, Hyper-DOS y David-DOS, junto con características adicionales, pero nunca se usó en una versión oficial de DOS de Apple. Sin embargo, el sistema operativo sucesor de Apple, ProDOS, empleó una funcionalidad similar. El sistema operativo GS/OS específico de Apple IIGS eventualmente emplearía una técnica de "lectura dispersa" aún más eficiente que leería cualquier sector que pasara por debajo del cabezal de lectura si fuera necesario para el archivo que se está leyendo.

Lanzamiento del código fuente

En 2013, más de 35 años después del debut del Apple II , el Museo de Historia de la Computación publicó el código fuente original de Apple DOS en su sitio web. [10] Fue donado por el autor original, Paul Laughton. [11]

Ver también

Referencias

  1. ^ Apple II DOS - Código fuente
  2. ^ Terdiman, Daniel (3 de abril de 2013). "La historia no contada detrás del sistema operativo de Apple de 13.000 dólares". CNET . Consultado el 4 de abril de 2013 .
  3. ^ "Computadora Apple". Laughton.com . Consultado el 14 de junio de 2013 .
  4. ^ "Historia de Apple II» 14-DOS ". Apple2History.org . Archivado desde el original el 10 de julio de 2010 . Consultado el 14 de junio de 2013 .
  5. ^ "Historia de Apple II» 14-DOS ". Apple2History.org . Archivado desde el original el 10 de julio de 2010 . Consultado el 14 de junio de 2013 .
  6. ^ Steven Weyhrich. "Capítulo 16 de la historia de Apple II". Archivado desde el original el 29 de enero de 2009 . Consultado el 26 de enero de 2009 .
  7. ^ Dean Esmay (18 de noviembre de 2010). "Incluso Apple utilizó herramientas piratas". Archivado desde el original el 25 de julio de 2011 . Consultado el 11 de agosto de 2011 .
  8. ^ ab "Acerca de los formatos de archivo" . Consultado el 26 de abril de 2012 .
  9. ^ DOS 3.3, ProDOS y más allá v1.3 viñeta 07 de julio 01
  10. ^ Shustek, Len (12 de noviembre de 2013). "Código fuente de DOS de Apple II". ComputerHistory.org . Consultado el 30 de noviembre de 2013 .
  11. ^ "El sistema operativo Apple II de 35 años ya está abierto al público". 13 de noviembre de 2013.

Otras lecturas

enlaces externos