stringtranslate.com

Ejecutivo (Amiga)

Exec es el núcleo de AmigaOS . Es un  micronúcleo multitarea de 13 KB que permitía la multitarea preventiva en tan solo 256 KB de memoria (como se suministra con los primeros Amiga 1000 ). Exec proporcionó funciones para multitarea, administración de memoria y manejo de interrupciones y bibliotecas dinámicas compartidas . [1] [2]

Actúa como un programador de tareas que se ejecutan en el sistema, proporcionando multitarea preventiva con programación por turnos priorizada . Exec también proporciona acceso a otras bibliotecas y comunicación entre procesos de alto nivel mediante el paso de mensajes . Otros micronúcleos comparables han tenido problemas de rendimiento debido a la necesidad de copiar mensajes entre espacios de direcciones . Dado que Amiga tiene sólo un espacio de direcciones, el paso de mensajes Exec es bastante eficiente. La única dirección de memoria fija en el software Amiga (dirección 4) es un puntero a exec.library, que luego puede usarse para acceder a otras bibliotecas. Exec fue diseñado e implementado por Carl Sassenrath . [3]

ejecutivo

A diferencia de los sistemas operativos modernos más nuevos , el kernel ejecutivo no se ejecuta de forma "privilegiada". Los sistemas operativos contemporáneos para el Motorola 68000 , como Atari TOS y SunOS, utilizaban instrucciones trampa para invocar funciones del kernel. Esto hizo que las funciones del kernel se ejecutaran en el modo supervisor del 68000 , mientras que el software del usuario se ejecutaba en el modo de usuario sin privilegios . Por el contrario, las llamadas a funciones ejecutivas se realizan con la tabla de salto de la biblioteca y el código del kernel normalmente se ejecuta en modo de usuario. Siempre que se necesita el modo supervisor, ya sea por el kernel o los programas de usuario, la biblioteca funciona Supervisor()o SuperState()se utiliza.

Una limitación del núcleo Exec era que un programa que no cooperaba podía desactivar la multitarea durante mucho tiempo, o indefinidamente, invocando las llamadas de Exec Forbid()o Disable(), sin invocar posteriormente el correspondiente Permit()o Enable(), provocando que el entorno se ejecutara como una sola tarea. La multitarea también podría desactivarse mediante programas que, por error o intención de software, modifican las estructuras de datos de Exec o el código almacenado en la memoria de acceso aleatorio (RAM), posiblemente debido a la falta de soporte de la unidad de administración de memoria (MMU).

Incluso con tales límites, Exec satisface la definición de algoritmo de programación preventiva, utilizando una rutina de programación preventiva y basando sus intervalos de interrupción en un reloj. [4]

El desarrollador del kernel de Linux, Linus Torvalds, describió una vez el diseño de Amiga como cooperativo, [5] a pesar de que utiliza una política de programación preventiva. La razón de esto, argumentó, era que la falta de protección [de la memoria] entre tareas significaba que una tarea podría impedir que el sistema funcionara de forma preventiva. Como las tareas tendrían que optar por no detener el mecanismo preventivo, esto se reduciría a una especie de sistema cooperativo invertido. Este tipo de combinación entre protección y política de programación no es estándar.

EjecutivoSG

ExecSG (Segunda Generación) es el kernel utilizado por AmigaOS 4 . Este kernel obtuvo la licencia de Hyperion Entertainment de Thomas Frieden y Hans-Jörg Frieden. [6] Expone las mismas funciones y estructuras que el kernel Amiga Exec pero se ejecuta únicamente en procesadores PowerPC . El origen último de ExecSG no se especifica.

Referencias

  1. ^ Sassenrath, Carl (1986). Manual de referencia del núcleo ROM de Amiga . Ejecutivo.{{cite book}}: Mantenimiento CS1: falta el editor de la ubicación ( enlace )
  2. ^ Holloway, Tim (enero de 1991). "El Amiga Exec orientado a objetos: el diseño del núcleo del sistema operativo Amiga sigue las reglas de la programación orientada a objetos". Byte . No. Enero de 1991. McGraw-Hill . págs. 329–332, 234. ISSN  0360-5280.
  3. ^ "Carl Sassenrath" . Consultado el 23 de mayo de 2022 .
  4. ^ Puestos, William (2009). Sistemas operativos: aspectos internos y principios de diseño (6ª ed.). Upper Saddle River, Nueva Jersey: Pearson Prentice Hall . ISBN 9788120336292.
  5. ^ Torvalds, Linus (17 de octubre de 1996). "Jalleen mahtava uusi keksinto m$oftilta" [Nuevamente, un gran invento nuevo de M$] (en finlandés). Grupo de noticias : sfnet.atk.sodat. Usenet:  [email protected] . Consultado el 25 de febrero de 2011 . El Amiga es una multitarea "pseudopreventiva", lo que la gente de Amiga llama preventiva, pero en realidad no lo es. WinNT en este sentido está a años luz de ventaja. ... debido a la falta de protección de la memoria. Cualquier programa puede apoderarse completamente de la máquina y así impedir la multitarea. La multitarea en Amiga es cooperativa porque requiere aprobación y ayuda de las aplicaciones en ejecución [... muistinsuojauksen puutteen vuoksi. Mikä tahansa ohjelma voi ottaa koneen haltuunsa täysin ja estää siten moniajo. Eli Amigan moniajo on kooperatiivinen, koska se vaatii sen että ajettavat ohjelmat hyväksyvät sen moniajon ja auttavat sitä][ enlace muerto permanente ]
  6. ^ "Justia: Hyperion Entertainment contra Amiga Inc".

enlaces externos