Fundamentos de los Sistemas Operativos: Arquitectura, Historia y Gestión de Recursos
Software Básico y Sistemas Operativos
1. Software Básico
El software básico gestiona todos los recursos hardware del sistema informático y proporciona la base para la creación y ejecución del software de aplicaciones.
No tiene una labor sencilla dentro del sistema informático; es el motor principal. Hace de intermediario y controlador entre la parte física del ordenador, el software que se utiliza y el usuario para gestionar y administrar sus recursos.
Los recursos de hardware y software que controla o gestiona el sistema operativo son:
- El procesador.
- La memoria interna.
- Los periféricos de entrada/salida (E/S).
- La información.
2. El Sistema Operativo (S.O.)
El sistema operativo es el conjunto de programas, servicios y funciones que gestionan y coordinan el funcionamiento del hardware y del software. Ofrece al usuario la forma de comunicarse con el ordenador, bien mediante el teclado (interfaz o entorno de texto) o bien mediante el ratón u otros dispositivos (interfaz gráfica).
Interfaz sencilla: es el medio de comunicación entre el usuario y el equipo. El usuario utiliza el hardware, pero no se despreocupa de gestionarlo o administrarlo; permite una comunicación directa con el usuario.
3. Clasificación de los Sistemas Operativos
Se dividen principalmente en:
- Sistemas Operativos Monousuario (SOMO): los recursos hardware y el software que se está utilizando están a disposición de un solo usuario.
- SOMO y la ejecución del programa: Unidad de Control → Unidad Aritmético-Lógica → Ciclo de ejecución de una instrucción.
- Sistemas Operativos Multiusuario (SOMU): varios usuarios pueden utilizar potencialmente los recursos software y hardware de un mismo ordenador. Varios usuarios desde diferentes ubicaciones pueden utilizar un mismo periférico (como una impresora) conectado al ordenador que utilice este sistema operativo.
- SOMU y la ejecución del programa: trabajan de diferente forma dependiendo del hardware en el que son instalados.
- Clasificación SOMU: SOMU montado en mainframes o microordenadores / SOMU montado en ordenadores personales.
Nota: En los primeros sistemas informáticos había una sola UCP (Unidad Central de Proceso), y disponían únicamente de un teclado y un monitor para realizar su trabajo.
4. Historia y Evolución
Los primeros sistemas operativos se denominaron monolíticos: estos sistemas operativos consistían en un software básico prácticamente imposible de modificar una vez creado e instalado en un sistema informático. La primera computadora fue diseñada por Charles Babbage; posteriormente, George Boole elaboró la base algebraica para el desarrollo de programas.
Generaciones de computadoras
- Primera Generación (1945-1955): Uso de válvulas de vacío (antiguas resistencias electrónicas). Máquinas programadas en lenguaje máquina puro, con un estilo similar al de una centralita telefónica antigua conectando clavijas en el número a procesar.
- Segunda Generación (1955-1965): Aparecen los transistores y el tratamiento por lotes. Este proceso consiste en que los datos se introducen en la computadora no de forma manual mediante tarjetas perforadas, sino a través de otro computador previamente cargado con la información a procesar. En esta generación surge también el concepto de periférico.
- Tercera Generación (1965-1980): Introducción del circuito integrado. Aparece el IBM 360 como una máquina capaz de realizar cualquier tipo de cálculo, ya fuera aritmético o lógico.
- Cuarta Generación (1980 hasta la actualidad): Utilización de complejas técnicas de integración y miniaturización de componentes electrónicos. Nacen las memorias externas, dispositivos ópticos, etc. La interacción usuario-máquina se vuelve más amigable. Surgen sistemas operativos como DOS y UNIX, los cuales van mejorando mediante versiones más robustas, con menor índice de errores y dotadas de entornos gráficos.
5. Recursos y Funciones del Sistema Operativo
La función esencial de un sistema operativo es coordinar el uso del hardware en función de las aplicaciones que se estén ejecutando.
- Estructura de 2 niveles: Software — Hardware.
- Estructura de 3 niveles: Aplicaciones — Sistema Operativo — Hardware.
Interfaces: son programas o servicios que se ejecutan en el ordenador y comunican los distintos niveles para que el usuario pueda acceder al hardware y ejecutar sus programas.
Servicio: tipo de aplicación que normalmente se ejecuta en segundo plano. Sirve para crear y ejecutar programas, acceder de forma controlada y segura a los archivos del sistema, entre otras tareas.
6. Gestión del Sistema Operativo
A. Gestión de Memoria
- Administrador de memoria: su función es registrar las partes de la memoria que están en uso y las que permanecen libres. De esta manera, reserva espacio para nuevos procesos y libera aquel perteneciente a procesos ya finalizados.
- Sistemas de administración de memoria: se dividen entre aquellos que desplazan los procesos entre la memoria principal y el disco (y viceversa), y aquellos que no realizan dicho desplazamiento.
- Particiones fijas: se basan en una selección previa y estática de los tamaños de las divisiones de memoria.
- Particiones variables: divisiones dinámicas que se ajustan cuando no existen particiones de tamaño adecuado para los procesos.
B. Gestión de Procesos y del Procesador
Un proceso se define conceptualmente como un programa en ejecución.
- Modos de ejecución del procesador:
- Modo usuario: cuenta con restricciones estrictas de acceso a los recursos hardware.
- Modo kernel (privilegiado): tiene acceso total e irrestricto a cualquier recurso del ordenador.
- Bloque de Control de Proceso (BCP): estructura de datos individual donde el sistema almacena toda la información contextual sobre un proceso determinado.
- Memoria virtual: técnica mediante la cual los procesos se dividen en fragmentos de igual tamaño (denominados páginas, marcos/frames, etc.).
- Multiprogramación: distribución y asignación eficiente de los recursos del sistema entre múltiples procesos para hacer posible su ejecución concurrente.
C. Gestión de Periféricos
- Interfaz de texto: entorno donde las órdenes introducidas por el usuario y las respuestas devueltas por el ordenador se realizan exclusivamente mediante cadenas de caracteres (por ejemplo, el entorno DOS).
- Interfaz gráfica: entorno que aprovecha el uso del ratón y periféricos apuntadores. La información se organiza visualmente en bloques delimitados denominados ventanas.