top of page

Arquitectura en Sistemas Operativos

¿Que es una arquitectura?

La organización de los sistemas operativos ha evolucionado desde los monitores residentes como DOS hasta los modernos sistemas multiproceso como Solaris. A continuación revisamos algunas de las componentes que debe incluir todo sistema operativo moderno.

El núcleo es la componente del sistema operativo que siempre está residente en la memoria real del computador. La función primordial del núcleo es transformar los recursos reales del computador en recursos estándares y cómodos de usar.

El Núcleo
Es así como el núcleo transforma un procesador real con su memoria finita en un número prácticamente ilimitado de procesadores virtuales o procesos. Cada proceso dispone de su propio tiempo de CPU, una memoria extensible y mecanismos estándares para interactuar con los dispositivos, sin importar los detalles físicos de su implementación.

La API del núcleo.

Una API (Interfaz de Programación de Aplicaciones) es el conjunto de servicios que ofrece un sistema a las aplicaciones usuarias de ese sistema. Las aplicaciones invocan estos servicios a través de llamadas a procedimientos. La API queda definida por lo tanto por los nombres de estos procedimientos, sus argumentos y el significado de cada uno de ellos.

El conjunto de servicios que ofrece el núcleo a los procesos se denomina la API del núcleo. Está formada por procedimientos pertenecientes al núcleo, pero que se invocan desde un proceso cualquiera. La invocación de uno de estos procedimientos es una llamada al sistema.
Los drivers para dispositivos.

La operación de los dispositivos es altamente dependiente de su implementación. Es así como un disco SCSI se opera de una forma distinta de un disco IDE. Para independizar el código del núcleo de los variados mecanismos de interacción con los dispositivos, el núcleo define clases de dispositivos. Ejemplos de clases son disco, cinta, puerta de comunicación, interfaz de red, etc. Para cada clase se define una interfaz estándar para interactuar con cualquier dispositivo que pertenezca a la clase. Esta interfaz corresponde a las declaraciones de un conjunto de procedimientos no implementados.Un driver es el código que implementa una interfaz estándar para interactuar con un dispositivo específico, como por ejemplo un disco SCSI. Este código es por lo tanto altamente dependiente de los discos SCSI y no funcionará con discos IDE. Sin embargo, el núcleo interactúa con este driver para discos SCSI de la misma forma que lo hace con el driver para discos IDE, es decir a través de la misma interfaz.

El sistema de archivos
El sistema de archivos es la componente del sistema operativo que estructura un disco en una jerarquía de directorios y archivos. Conceptualmente multiplexa un disco de taman o fijo en una jerarquía de discos de taman o variable o archivos.
Dada esta equivalencia conceptual entre discos y archivos no es raro que ambos se manipulen con las mismas llamadas al sistema: open, read, write, close y lseek (esta última mueve la cabeza del disco hacia un bloque determinado).
Es usual que el sistema de archivos sea parte del núcleo. Por lo demás la motivación inicial de muchos sistemas operativos como Unix era el de ofrecer un sistema de archivos a un único proceso. Por algo DOS significa Disk Operating System y por ello es natural que forme parte del núcleo. Sin embargo hay sistemas operativos que ofrecen el sistema de archivos como parte de un proceso que no es parte del núcleo.

El intérprete de comandos
El intérprete de comando (o shell) se encarga de leer las órdenes interactivas del usuario y ejecutar los programas que el usuario indique.
Usualmente el intérprete de comandos es un proceso más del sistema operativo y no forma parte del núcleo. Por ejemplo Unix ofrece varios intérpretes de comandos ( sh, csh y sus variantes). El intérprete de comandos de DOS se encuentra enCOMMAND.COM.

¿Tipos de arquitectura?

DOS (sigla de Disk Operating System, "Sistema Operativo de Disco" o "Sistema Operativo en Disco")

Es una familia de sistemas operativos para computadoras personales (PC). Creado originalmente para computadoras de la familia IBM PC, que utilizaban los procesadores Intel 8086 y 8088, de 16 bits, siendo el primer sistema operativo popular para esta plataforma. Contaba con una interfaz de línea de comando en modo texto o alfanumérico, vía su propio intérprete de órdenes, command.com. 
El núcleo de DOS implementaba un sistema de archivos jerárquico y da acceso a puertas seriales y paralelas. El sistema es estrictamente mono-proceso y la memoria se limita a los primeros 640 KBytes de la memoria descontando lo que ocupa el mismo DOS. Un programa puede llamar a la API de DOS a través de la instrucción de máquina INT que provoca una interrupción.
Dado que la Intel 8088 no ofrecía modo dual ni mecanismos para implementar espacios de direcciones virtuales, tanto DOS como el proceso en ejecución corren en el mismo modo y espacio de direcciones. Esto no es un problema en un sistema mono-usuario y mono-proceso y que por lo tanto no necesita un mecanismo de protección.
Los drivers no son parte de DOS, sino que vienen en la memoria ROM de un PC. Esta componente se llama BIOS (Basic Input Output System) y puede ser invocada directamente por la aplicación sin pasar por DOS. Lamentablemente la BIOS no incluye los drivers suficientemente generales para manejar apropiadamente los distintos dispositivos. Esto obliga a que las aplicaciones deban accesar directamente el hardware para operaciones tan simples como dibujar una línea en la pantalla.
Hoy en día DOS sí implementa en una forma rudimentaria múltiples procesos, cada uno en su propio espacio de direcciones. Sin embargo DOS debe permitir que estos manipulen directamente los dispositivos (sin hacerlo a través de DOS) para garantizar la compatibilidad con las antiguas aplicaciones. Por ello DOS no puede ofrecer verdadera protección entre procesos.​

Linux, Berkeley Unix y Unix System V release 3.X
Todas estas variantes de Unix tienen estructura similar (ver figura ). El núcleo incluye los drivers y el sistema de archivos.
Además de los servicios de la API del núcleo, Unix ofrece muchísimos otros servicios a través de procesos demonios, que corresponden a procesos que siempre están corriendo. Entre estos se cuentan los servicios de spooling, mail, news, www, etc.

Chorus y Mach
El núcleo de estos sistemas operativos está disen ado con el enfoque minimalista: sólo ofrece el servicio de manejo de procesos e intercomunicación entre procesos a través de una API no estándar. El sistema de archivos, los drivers y cualquier otro servicio queda fuera del núcleo y son ofrecidos por medio de procesos.
Ambos sistemas son compatibles con Unix System V gracias a un proceso que implementa la API estándar de Unix. Las llamadas de sistema de un proceso Unix se implementan enviando mensajes al proceso de la API que ejecuta la llamada y devuelve el resultado en otro mensaje.
El interés de este tipo de sistemas es que pueden implementar varias APIs no sólo la de Unix, sino que también la de Windows o la de Macintosh, etc., cada una de estas APIs se implementan en procesos independientes.

Debian en AMD64
El propósito de esta página es ayudar a los usuarios y desarrolladores de Debian GNU/Linux en la arquitectura AMD64. Aquí encontrará información acerca del estado actual de la adaptación a AMD64, a que máquinas pueden acceder públicamente los desarrolladores, dónde discutir el desarrollo de la adaptación a AMD, dónde obtener información adicional de quiénes están haciendo la adaptación y enlaces con más información.
Estado actual
AMD64 es una arquitectura soportada oficialmente por Debian desde la versión 4.0 de Debian (etch).
La adaptación a AMD64 consiste en núcleos para todas las CPUs de AMD de 64 bits con la extensión AMD64 y las CPUs de Intel con extensión Intel 64, y un espacio de usuario común de 64 bits.

Arquitectura del Mac OS X
El Mac OS X posee una arquitectura modular que se construye a partirde cuatro componentes básicos: el sistema operativo central Darwin, unconjunto de estructuras de aplicaciones, sistemas de gráficos basadosen estándares y la interfaz de usuario Aqua.

▪Aqua: es la interfaz de usuario creada por Apple para el Mac OS X;utiliza colores, transparencias y animaciones para aumentar lafuncionalidad y la coherencia del sistema y de las aplicaciones.

▪Estructuras: el Mac OS X incorpora un conjunto de estructuras deaplicaciones que permite trabajar con desarrolladores dediferentes comunidades. Cocoa es un conjunto de estructurasorientadas a objetos diseñado para agilizar el desarrollo deaplicaciones, ya que permite añadir potentes interfaces de usuariográficas de Aqua al software UNIX existente y crear aplicacionescompletamente nuevas desde cero. Carbon está concebido parasimplificar la migración a aquellos desarrolladores que deseanrealizar una transición de sus aplicaciones del Mac OS 9 al Mac OSX. Java permite el desarrollo y la ejecución de programasmultiplataforma Java 2 Edición Estándar en Mac OS X, incluidos losque están programados con Java Developer Kit (JDK) 1.4.1.

▪Gráficos: el sistema de gráficos del Mac OS X se compone de trespotentes tecnologías basadas en estándares que están totalmenteintegradas en el sistema operativo y proporcionan servicios a nivelde sistema. Quartz 2D es una librería de generación de gráficosde alto rendimiento basada en el estándar multiplataforma PDF(Portable Document Format) de Adobe. Permite visualizar eimprimir gráficos y textos suavizados de alta calidad yproporciona soporte de última generación para las tipografíasOpenType, PostScript y TrueType. OpenGL es el estándar delmercado para visualizar formas y texturas tridimensionales.

SISTEMAS MONOLÍTICOS
Es una colección de procedimientos que se pueden llamar entre sí, cada procedimiento tiene una interfaz bien definida en términos de parámetros y resultados.
Un sistema monolítico está compuesto por un grupo de estructuras fijas las cuales funcionan entre sí. Existen módulos grandes en el kernell, los cuales interactúan entre sí, para poder tener una estructura, las diferentes partes del Kernell son compiladas por capas. Se encarga del funcionamiento del PC como son comunicación entre procesos, planificación y gestión del espacio de direcciones.

SISTAMAS CON CAPAS

Consiste en organizar o estructurar por jerarquía cada una de estas capas o anillos (interfaz de usuario, drivers, Kernell), cada una constituida sobre la inmediata inferiorEs una generalización del modelo de estructura simple para un sistema monolítico. Consiste en organizar el sistema operativo como una jerarquía de capas, cada una constituida sobre la inmediata inferior.El sistema operativo la utiliza para poder controlar los diversos aspectos del hardware, sobre ella se encuentra la capa de dispositivos. Es un conjunto de funciones denominadas controladoras de dispositivo que se encuentra dentro del Kernell del sistema operativo, acceden directamente al hardware y hacen el trabajo de escritura y lectura.Capa 0: Asignación del procesador y multiprogramación.Capa 1: Administración de los recursos del sistema (memoria, disco, etc...).Capa 2: Comunicación operador-proceso.Capa 3: Control E/S.Capa 4: Programas de usuario.Capa 5: El operador.

Los sistemas de Micronúcleo o Microkernel

Microkernel Sistemas operativos Software Computadoras Español.
Micronúcleo (en inglés: microkernel ) es un tipo de núcleo de un sistema operativo que provee un conjunto de primitivas o llamadas al sistema mínimas, para implementar servicios básicos como espacios de direcciones, comunicación entre procesos y planificación básica

© 2023 por NÓMADA EN EL CAMINO. Creado con Wix.com

  • b-facebook
  • Twitter Round
  • Instagram Black Round
bottom of page