Sistemas Operativos: Estructura, componentes y servicios
Cuando se habla de un tema tan complejo como los sistemas operativos debemos comprender la importancia de los elementos que lo conforman, todos estos son necesarios para el correcto funcionamiento de cualquier dispositivo informático. Los sistemas operativos son la base sobre la cual se ejecuta toda operación de hardware y software actuando como un intermediario entre el usuario y la máquina.
Adentrándonos en la anatomía de los sistemas operativos podemos visualizar la compleja red que se envuelve para crear los sistemas operativos modernos, empiezo mi ensayo haciendo énfasis en la estructura que vamos a llevar a lo largo del mismo, conoceremos un poco de su Genesis fundamental, componentes y servicios que ofrecen, todo esto tomando en consideración las diferentes arquitecturas que conforma la informática moderna en el área de los sistemas operativos.
EL SISTEMA OPERATIVO EN LA ÉPOCA ACTUAL
Cuando hablamos de un sistema operativo podemos encontrar opiniones muy divididas, dependiendo del campo de estudio podemos encontrar una u otra definición, Silva, M. señala en su libro sobre los sistemas operativos
Genéricamente hablando, entendemos que un sistema es un conjunto de elementos relacionados entre sí, que funcionan con un fin determinado y, al ser operativo, entendemos que su fin es el de operación o conducción del hardware
(2015:29) conociendo este aspecto podríamos decir que un S.O. es un conjunto de rutinas que están dispuestas para la administración y gestión del hardware de los diferentes dispositivos que conforman la tecnología que estemos utilizando.
Jerárquicamente un sistema operativo se encuentra en la última frontera con el hardware “Tal vez le sorprenda saber que lo que usted está usando en su computador personal no es un sistema operativo, sino las aplicaciones que sobre él se ejecutan” (Silva, M 2015). Esto se puede ver reflejado en el gráfico de interacción sistema operativo-usuario-hardware (ver Tabla 1)
ESTRUCTURA DE UN SISTEMA OPERATIVO
Según Naty, L. (2004) que cita a Alcal92
cuando se construya un sistema operativo debemos observar dos tipos de requisitos.
Sabiendo todo esto podemos dividir los diferentes tipos de sistemas operativos en 3 grandes grupos
SISTEMAS MONOLÍTICOS
Esta estructura de sistemas operativos fácilmente podría considerarlo la gran telaraña de la los sistemas, la estructura de estos sistemas es básicamente que no tiene una estructurada, realmente es el tipo de sistema más común, este sistema se escribe como una serie de procedimientos y pasos que pueden ser llamados siempre que sean necesarios al construir este sistema se compilan todos los archivos de procedimientos individuales y posteriormente lo unimos en un mismo objeto el cual es utilizado por el sistema, en este caso la seguridad es nula ya que cualquier procedimiento puede ver a los demás y viceversa.
Este tipo de organización requiere una estructura básica en donde el sistema operativo se compone por un programa principal, un conjunto de procedimientos de servicios que ejecutan una llamada y por fin un conjunto de procedimiento utilitarios que apoyan a la llamada. Este sistema bien podría representarse en el siguiente grafico propuesto por Tanenbaum, A. S. (2003) en su libro de sistemas operativos modernos (ver Figura 1).
SISTEMA DE CAPAS
Al pasar de los años se vio un claro aumento en las necesidades de los usuarios esto hizo se poco a poco fueran perfeccionándose los sistemas operativos, todo esto hizo que fuera necesario una mejor organización. El primer sistema operativo que se conoce con este sistema de capas fue THE, este fue creado en la Technische Hogeschool Eindhoven en Holanda por E.W. Djkstra en 1968 en colaboración con sus estudiantes, podemos ver que en ese sistema podemos dividir en 6 capas como se muestra en la figura 2. Este sistema consistía en procesos secuenciales cada uno podía programarse sin tener que pensar en que varios procesos se estuvieran ejecutando en un solo procesador. En esta estructura se basan la mayoría de los sistemas operativos actuales.
MAQUINAS VIRTUALES
"Se trata de un tipo de sistemas operativos que presentan una interface a cada proceso, mostrando una máquina que parece idéntica a la máquina real subyacente. Estos sistemas operativos separan dos conceptos que suelen estar unidos en el resto de los sistemas: la multiprogramación y la máquina extendida. El objetivo de los sistemas operativos de máquina virtual es el de integrar distintos sistemas operativos dando la sensación de ser varias máquinas diferente” Naty, L. (2004)
Las primeras versiones de OS/370 operaban mediante procesamiento por lotes. Sin embargo, con el avance tecnológico, la demanda de sistemas de tiempo compartido entre los usuarios de IBM 370 se hizo evidente. Esto generó la iniciativa de diversos grupos, tanto internos como externos a IBM, para desarrollar sistemas de este tipo. El sistema oficial de tiempo compartido de IBM, el TSS/370, resultó ser una empresa costosa y compleja que, tras consumir una inversión de aproximadamente 50 millones de dólares en su desarrollo, acabó siendo abandonada.
Mientras tanto, un equipo del Centro Científico de IBM en Cambridge, Massachusetts, ideó un enfoque radicalmente distinto que eventualmente fue adoptado por IBM y ampliamente utilizado. Este sistema, inicialmente conocido como CC.GMS y posteriormente renombrado como VM/370, se fundamentaba en la observación de que un sistema de tiempo compartido ofrece una interfaz más amigable que el hardware desnudo.
El VM/370 desacoplaba por completo las funciones de multiprogramación, proporcionando máquinas virtuales que replicaban exactamente el hardware subyacente. Esto permitía la ejecución de distintos sistemas operativos en cada una de ellas. Este concepto de máquina virtual ha evolucionado y se aplica en diversos ámbitos de la tecnología moderna.
Por ejemplo, en la virtualización de servidores, plataformas como VMware vSphere o Microsoft Hyper-V posibilitan la creación y gestión de múltiples máquinas virtuales en un único servidor físico. Esto ofrece flexibilidad y eficiencia en la utilización de recursos, al permitir la ejecución de múltiples sistemas operativos en un único hardware.
Las máquinas virtuales se emplean para crear entornos de desarrollo y pruebas aislados. Herramientas como Docker facilitan la creación de contenedores virtuales que contienen todas las dependencias necesarias para ejecutar una aplicación, simplificando así la creación de entornos consistentes y reproducibles en diferentes plataformas.
Proveedores como Amazon Web Services (AWS), Microsoft Azure y Google Cloud Platform ofrecen servicios de infraestructura como servicio (IaaS) que permiten a los usuarios crear y gestionar máquinas virtuales en la nube. Esto proporciona escalabilidad y flexibilidad para ejecutar aplicaciones en entornos de nube pública.
Recomendado por LinkedIn
ESTRUCTURA DE SISTEMAS OPERATIVOS MODERNOS
En la actualidad, los sistemas operativos proporcionan una capa de abstracción a las aplicaciones, lo que significa que estas no interactúan directamente con el hardware físico, sino con una representación virtual facilitada por el sistema operativo. Las llamadas al sistema son mecanismos empleados por las aplicaciones para solicitar servicios al sistema operativo y sirven como la interfaz entre un proceso y el sistema operativo. Estas llamadas, implementadas por el sistema operativo, amplían las capacidades del conjunto de instrucciones provistas por el hardware subyacente. Las llamadas al sistema permiten nuevas funcionalidades, como la gestión de procesos y sistemas de archivos.
Además de ofrecer la interfaz para las llamadas al sistema, el sistema operativo se encarga de administrar los recursos del hardware. Las aplicaciones no tienen acceso directo a los dispositivos de entrada/salida ni pueden ejecutar instrucciones privilegiadas del procesador; estas operaciones son realizadas por el sistema operativo en nombre de las aplicaciones. El objetivo principal del sistema operativo es optimizar el uso eficiente de los recursos disponibles y salvaguardar la integridad de las aplicaciones que comparten dichos recursos. Las funciones desempeñadas por un sistema operativo se pueden categorizar en distintas áreas especializadas.
COMPONENTES DE UN SISTEMA OPERATIVO
En cualquier sistema operativo, varios componentes fundamentales trabajan en conjunto para garantizar su correcto funcionamiento y la interacción eficiente con los usuarios y el hardware.
Sistema de Archivos
El sistema de archivos es el pilar sobre el cual se estructuran y organizan los archivos en un sistema operativo. Funciona como un armario virtual que permite una gestión eficiente de los datos, facilitando su acceso y manipulación tanto para los usuarios como para las aplicaciones.
Interpretación de Comandos
La interpretación de comandos es esencial para que los usuarios interactúen con el sistema operativo mediante la introducción de órdenes comprensibles para el hardware. Desde la línea de comandos hasta los modernos interfaces gráficos, este componente actúa como un puente lingüístico entre las acciones del usuario y las ejecutadas por el sistema.
Núcleo
El núcleo del sistema operativo es el centro neurálgico que proporciona funciones básicas para la comunicación, gestión de procesos, entrada/salida de datos y administración de la memoria. Actúa como un supervisor omnipresente que coordina las actividades del sistema para garantizar su estabilidad y eficiencia.
Ejecución Eficiente de Instrucciones
Los procesos son conjuntos de instrucciones de un programa destinadas a ser ejecutadas por el microprocesador. Representan las tareas en curso dentro del sistema operativo y su gestión adecuada es crucial para optimizar el rendimiento y la respuesta a las demandas del usuario.
Memoria Principal y Secundaria
La memoria principal (RAM) almacena temporalmente datos y programas en ejecución, proporcionando acceso rápido al microprocesador. En contraste, la memoria secundaria (como los discos duros) actúa como un almacenamiento permanente.
Dispositivos de Entrada/Salida (E/S)
Los dispositivos de E/S facilitan la comunicación bidireccional entre el sistema operativo y el mundo exterior. Desde teclados y ratones hasta impresoras y unidades de almacenamiento externas, su gestión eficiente es crucial para una experiencia de usuario fluida y sin contratiempos.
SERVICIOS DE UN SISTEMA OPERATIVO
Un sistema operativo crea un entorno para la ejecución de programas y proporciona diversos servicios a los programas y usuarios. Estos servicios varían entre sistemas operativos, pero se pueden identificar clases comunes. Como detalla Silva, M. (2015)
“Un sistema operativo controla la ejecución de procesos, incluyendo su creación, terminación y suspensión, planifica el uso de la CPU, asigna memoria en ejecución y secundaria, y permite un acceso controlado a dispositivos, todo de manera eficiente y transparente al usuario.”
Además de los servicios ya mencionados, los sistemas operativos también se encargan de la gestión de archivos y directorios, la comunicación entre procesos, la administración de la protección y seguridad, la monitorización de recursos, y la asignación de recursos como la CPU y la memoria principal. Estos sistemas garantizan un funcionamiento eficiente del sistema al asignar recursos a múltiples usuarios o trabajos, controlar el uso de recursos, y mantener la seguridad y protección de estos.
CONCLUSIONES
Después de analizar detenidamente la estructura, los servicios y los componentes de los sistemas operativos, se hace claro que estas plataformas representan el núcleo fundamental de la informática contemporánea. Su arquitectura sofisticada sustenta la interacción armoniosa entre hardware y software, posibilitando una diversidad de funciones cruciales para el óptimo desempeño de los dispositivos informáticos.
REFERENCIAS
Naty, L. (2004). Sistemas operativos. Instituto Tecnológico Superior de Acayucan.
Tanenbaum, A. S. (2003). Sistemas operativos modernos.
Silva, M. (2015). Sistemas operativos.