Unidad de Control
La Unidad de Control (UC) es un componente fundamental de la CPU. Sus funciones principales son:
- Llevar a la memoria RAM las instrucciones necesarias para la ejecución de los programas, así como los datos requeridos.
- Interpretar y ejecutar las instrucciones en el orden adecuado para que cada una se procese en el instante debido y de forma correcta.
Se compone de:
- RI (Registro de Instrucción): Almacena la instrucción que se está ejecutando actualmente.
- CP (Contador de Programa): Contiene la dirección de memoria de la siguiente instrucción a ejecutar.
- Controlador y Decodificador: Interpreta y decodifica la instrucción recibida.
- Secuenciador: Genera las microórdenes necesarias para ejecutar la instrucción.
- Reloj: Genera impulsos electrónicos a intervalos constantes, marcando el ritmo que ha de seguirse para la realización de cada paso de la instrucción.
La Memoria RAM
La Memoria de Acceso Aleatorio (RAM) se compone de:
- Registro de Direcciones: Contiene la dirección de la celda o posición de memoria a la que se va a acceder.
- Registro de Intercambio: Recibe los datos en operaciones de lectura y almacena los datos en las operaciones de escritura.
- Selector de Memoria: Se activa cada vez que hay que leer o escribir, conectando la celda o posición de memoria con el registro de intercambio.
- Señales de Control: Indican si una operación es de lectura o escritura.
Está formada por componentes electrónicos denominados biestables. Almacena información en forma binaria: ceros (interpretados como ausencia de energía o un estado bajo) y unos (interpretados como presencia de energía o un estado alto).
Los programas que se ejecutan se almacenan temporalmente en la RAM junto a los datos que necesitan. Un carácter se representa comúnmente mediante 8 bits (es decir, ocho celdas o biestables), que a su vez constituyen un byte.
La memoria RAM dinámica necesita un proceso llamado refresco de memoria para recargar los condensadores que almacenan los bits, ya que con el tiempo pierden su carga. La velocidad de la memoria se mide por su tiempo de acceso, usualmente en nanosegundos (ns). Cuanto menor sea este tiempo, más rápido será el acceso a la memoria.
Tipos de Memoria RAM
DRAM (Dynamic RAM)
- Formada por condensadores.
- Necesita refresco de memoria periódico.
- Es más barata y, generalmente, más lenta que la SRAM.
- Es volátil (pierde su contenido al cortar la energía).
SRAM (Static RAM)
- No necesita refresco.
- Es volátil.
- Se utiliza comúnmente como memoria caché debido a su velocidad.
- Más cara y rápida que la DRAM.
SDRAM (Synchronous Dynamic RAM)
- Es un tipo de DRAM sincronizada con el reloj del sistema.
- Necesita refresco, pero puede operar a velocidades de reloj más altas que la DRAM convencional.
DDRAM (Double Data Rate SDRAM)
- Compuesta por memorias SDRAM.
- Transfiere datos dos veces por cada ciclo de reloj (en los flancos de subida y bajada).
- Más rápida que la SDRAM estándar.
Los Periféricos
- Permiten que el usuario interactúe con el ordenador.
- Pueden ser de entrada (teclado, ratón), de salida (monitor, impresora) o de entrada/salida (disco duro, pantalla táctil).
- Se conectan con la CPU y sus componentes a través de los puertos o conectores externos.
- La información se transfiere bit a bit (transferencia en serie) o byte a byte (transferencia en paralelo).
Según el sentido en el que se transfiere la información, la comunicación puede ser:
- Simplex: La transmisión ocurre en una sola dirección.
- Semidúplex (Half-duplex): La transmisión ocurre en ambas direcciones, pero no simultáneamente.
- Dúplex Completo (Full-duplex): La transmisión ocurre en ambas direcciones simultáneamente.
Los periféricos necesitan un software especial para ser configurados y funcionar correctamente con el sistema operativo. Este software se denomina drivers o controladores.
El Sistema Operativo
Es el software básico de un sistema informático. Sus funciones principales son:
- Gestionar los recursos de hardware (procesador, memoria, periféricos e información).
- Proporcionar la base para la ejecución del software de aplicación.
- Ofrecer al usuario una forma de comunicarse con el ordenador (actúa como interfaz).
- Hacer transparente al usuario el funcionamiento interno del hardware del ordenador.
Definición: Conjunto de programas, servicios y funciones que controlan, gestionan y coordinan el funcionamiento del hardware y del software en un sistema informático.
Clasificación
Según la gestión que hacen del hardware y del software, los sistemas operativos se pueden clasificar en:
Sistemas Operativos Monousuario (SOMO)
Permiten el acceso y uso del sistema a un solo usuario a la vez.
Sistemas Operativos Multiusuario (SOMU)
Permiten que varios usuarios utilicen simultáneamente (o potencialmente) el software y el hardware del sistema.
Sistemas Operativos Monolíticos
Presentan una estructura donde el núcleo (kernel) agrupa la mayoría de las funcionalidades. Era casi imposible modificarlos una vez instalados en un sistema informático. Cualquier modificación, por pequeña que fuera, implicaba reconfigurarlo o recompilarlo. A menudo, era más fácil rediseñarlo que modificarlo.
Generaciones de los Sistemas Operativos
1ª Generación (aprox. 1945-1955)
- Hardware: Válvulas de vacío.
- Programación: Lenguaje máquina.
- Características: Gran tamaño, elevado consumo de energía, muy lentas.
- Operaciones: Se reducían a simples cálculos matemáticos. No existían los S.O. como tales, la interacción era directa con el hardware.
2ª Generación (aprox. 1955-1965)
- Hardware: Transistores.
- Características: Más pequeñas que las anteriores, más baratas, consumían menos energía, generaban menos calor.
- S.O.: Introducción del procesamiento por lotes (batch processing).
3ª Generación (aprox. 1965-1980)
- Hardware: Circuitos integrados (chips).
- Características: Reducción significativa de consumo y tamaño, más baratos, más rápidos, generaban menos calor.
- Capacidades: Operaciones lógicas y/o aritméticas complejas.
- S.O.: Ejemplo: IBM 360. Aparecen los SOMU (Sistemas Operativos Multiusuario) y la capacidad de ejecutar varios procesos concurrentemente (multiprogramación, tiempo compartido).
4ª Generación (aprox. 1980-Presente)
- Hardware: Microprocesadores (integración a gran escala – LSI, VLSI), memorias de semiconductores.
- Características: Complejas técnicas de miniaturización e integración de componentes. Desarrollo de dispositivos de almacenamiento externo masivo.
- S.O.: Sistemas operativos de red, sistemas distribuidos, interfaces gráficas de usuario (GUI), sistemas operativos personales (como MS-DOS, Windows, macOS, Linux).
Procesos y Procesador
A un proceso (un programa en ejecución) se le asigna un espacio de direcciones lógicas (por ejemplo, en un S.O. de 32 bits, este espacio puede ser de hasta 4GB). Un proceso siempre debe estar cargado (al menos parcialmente) en la memoria principal (RAM) junto a los datos que necesita para ejecutarse.
Un proceso puede dividirse en trozos de igual tamaño llamados páginas (o frames en la memoria física). Cuando un proceso se carga en memoria, el sistema operativo utiliza técnicas como memoria virtual, intercambio (swapping), paginación, segmentación u otras para gestionar el paso de las partes del proceso desde la memoria secundaria (disco) a la memoria real (RAM).
Un proceso en ejecución compite con el resto de procesos que se están ejecutando de forma concurrente en el sistema por el uso de los recursos hardware (CPU, memoria, E/S) y, a veces, por los recursos software (ficheros, datos compartidos).
Cuanto mayor sea el número de instrucciones que puede procesar un procesador por unidad de tiempo, mayor será la velocidad del sistema.
Multiprogramación
Técnica que permite el reparto de los recursos del sistema (especialmente la CPU) entre distintos procesos y su ejecución concurrente, manteniendo varios procesos en memoria y alternando la CPU entre ellos.
Memoria Virtual
Técnica que permite al software usar más memoria principal (lógica) que la que posee físicamente el ordenador. Utiliza espacio en el disco duro como extensión de la RAM.
La Memoria
Administrador de Memoria
Es la parte del Sistema Operativo que administra la memoria principal (RAM). Sus tareas incluyen:
- Llevar un registro de las partes de memoria que se están utilizando y por quién, y las que están libres.
- Reservar (asignar) espacio en memoria a los procesos cuando lo necesitan.
- Liberar el espacio de memoria cuando los procesos ya no lo necesitan.
- Gestionar el intercambio de datos (swapping) entre la memoria principal y el disco (especialmente para procesos grandes o cuando la RAM está llena).
- Realiza una labor muy importante para los S.O. multitarea, ya que trabajan con varios procesos a la vez que compiten por la memoria.
¿Cómo trabaja el administrador?
Utiliza diversas estrategias para asignar memoria, como:
- Particiones fijas: La memoria se divide en bloques de tamaño fijo. Puede llevar a fragmentación interna (espacio desperdiciado dentro de una partición asignada).
- Particiones variables: Las particiones se crean dinámicamente según las necesidades de los procesos. Puede llevar a fragmentación externa (espacio libre total suficiente, pero dividido en pequeños huecos no contiguos).
- Intercambio (Swapping): Mover procesos enteros o partes de ellos (páginas/segmentos) entre la memoria RAM y el disco duro.
Una posible solución a la fragmentación externa es utilizar técnicas que permitan aprovechar memoria no contigua, como la paginación o la segmentación.