Fundamentos Esenciales de Sistemas Operativos, Arquitectura CPU y Lógica Digital

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 7,97 KB

Conceptos Fundamentales de Procesos en Sistemas Operativos

Definición de Proceso

  • Un proceso es un programa en ejecución.
  • Contenido del Proceso:
    • Código ejecutable.
    • Datos.
    • Pila (Stack).
    • Registros de la CPU.
    • Archivos abiertos.
  • El Sistema Operativo (SO) almacena la información del proceso en la Tabla de Control de Procesos (PCB).

Espacio de Direcciones

  • Es el rango de memoria que un proceso puede utilizar (desde 0 hasta el máximo permitido).
  • Componentes del Espacio:
    • Programa (código).
    • Datos.
    • Pila.
  • Cada proceso posee su propio espacio de direcciones, el cual está protegido del resto de procesos.

Estados de un Proceso

Los estados típicos por los que transita un proceso son:

  • Nuevo
  • Listo
  • Ejecutando
  • Bloqueado
  • Terminado

Jerarquía de Procesos (Padre e Hijo)

  • Un proceso puede crear procesos hijos.
  • Esta relación se estructura en forma de árbol.
  • El proceso hijo hereda el UID (User ID) del proceso padre.

Suspensión de Procesos

Al detenerse temporalmente un proceso, el SO realiza las siguientes acciones para permitir su reanudación:

  • Se guardan los registros de la CPU.
  • Se almacena el Contador de Programa.
  • Se guardan los apuntadores relevantes.

Esto permite que el proceso pueda continuar exactamente donde se quedó.

(Referencia: Pág. 4)

Fundamentos de Compuertas Lógicas

Compuerta AND (A · B)

  • La salida es 1 solo si TODAS las entradas son 1.
1 AND 1 = 1

Compuerta OR (A + B)

  • La salida es 1 si AL MENOS una entrada es 1.

Compuerta NOT

  • Invierte el valor de la entrada.
1 → 0
0 → 1

Compuerta NAND

  • Es la negación de la operación AND.
  • Solo produce una salida 0 cuando todas las entradas son 1.

Compuerta NOR

  • Es la negación de la operación OR.
  • Produce una salida 1 solo si todas las entradas son 0.

Compuerta XOR (OR Exclusiva)

  • Produce una salida 1 cuando las entradas son DIFERENTES.

Compuerta XNOR (NOR Exclusiva)

  • Produce una salida 1 cuando las entradas son IGUALES.

Algoritmos de Planificación del CPU (Scheduling)

FIFO (First In First Out)

  • El proceso que llega primero es el primero en ejecutarse.
  • Desventaja: Procesos largos bloquean a los cortos.
  • Desventaja: Mala respuesta interactiva.

Round Robin (RR)

  • Cada proceso recibe un tiempo máximo de ejecución llamado quantum.
  • Si el proceso no termina, vuelve al final de la cola de listos.
  • Ventaja: Ideal para sistemas de tiempo compartido.
  • El quantum típico es de aproximadamente 100 ms.

SJF (Shortest Job First)

  • Ejecuta el proceso con la ráfaga de CPU más corta.
  • Ventaja: Proporciona el menor tiempo de espera promedio.
  • Desventaja: Es un algoritmo no apropiativo (generalmente).
  • Desventaja: Requiere saber la duración futura del proceso.

SRT (Shortest Remaining Time)

  • Es la versión apropiativa de SJF.
  • Puede interrumpir procesos si llega uno con un tiempo restante menor.
  • Desventaja: Genera mayor sobrecarga (overhead).

HRN (Highest Response Ratio Next)

  • Algoritmo que calcula la prioridad basándose en el tiempo de espera y el tiempo de servicio.
  • Fórmula de Prioridad: $P = \frac{\text{Tiempo espera} + \text{Tiempo servicio}}{\text{Tiempo servicio}}$
  • Reduce la inanición (starvation) de procesos largos.

Planificación por Prioridades

  • Ejecuta el proceso que posea la mayor prioridad asignada.
  • Riesgo principal: Inanición (los procesos de baja prioridad nunca se ejecutan).
  • A menudo se combina con el algoritmo Round Robin (RR).

Colas Multinivel con Retroalimentación (Multilevel Feedback Queue)

  • Utiliza varias colas, cada una con diferentes prioridades.
  • Si un proceso utiliza mucho CPU, baja de nivel (disminuye su prioridad).
  • Ventaja: Es un modelo muy usado en sistemas operativos modernos.

Arquitectura de la CPU y Ciclos de Ejecución

Componentes Internos de la CPU

  • ALU (Arithmetic Logic Unit): Encargada de realizar operaciones aritméticas y lógicas.
  • Unidad de Control: Coordina la secuencia de ejecución de las instrucciones.
  • Registros: Almacenamiento de acceso rápido a datos.

El Ciclo de Instrucción

Secuencia fundamental para procesar una instrucción:

  1. Fetch (Búsqueda de la instrucción)
  2. Decode (Decodificación de la instrucción)
  3. Execute (Ejecución de la operación)
  4. Write Back (Escritura del resultado)

Diferencia entre Ciclo de CPU y Ciclo de Instrucción

  • Ciclo de CPU: Corresponde a un único pulso de reloj.
  • Ciclo de Instrucción: Generalmente requiere varios ciclos de CPU para completarse.

Conceptos de Microarquitectura

  • Pipeline (Tubería): Técnica para ejecutar varias instrucciones en diferentes etapas simultáneamente.
  • Caché: Memoria rápida que almacena datos de uso frecuente.
  • Predicción de Saltos: Mecanismo para adivinar el flujo de ejecución en instrucciones condicionales.
  • Unidades de Ejecución: Componentes que realizan las operaciones (ej. ALU).

ISA (Instruction Set Architecture)

  • Define el lenguaje de máquina que la CPU es capaz de entender y ejecutar.
  • Ejemplos: x86, ARM, RISC-V.

Hardware Fundamental y Modos de Operación del Sistema

Componentes Básicos de una Computadora

  • CPU
  • Memoria Principal
  • Dispositivos de E/S (Entrada/Salida)
  • Bus del Sistema
  • Controladores

Registros Clave del Sistema

  • PC (Program Counter): Contiene la dirección de la siguiente instrucción a ejecutar.
  • SP (Stack Pointer): Apuntador a la cima de la pila (stack).
  • PSW (Program Status Word): Almacena el estado actual del programa.

Modos de Ejecución del CPU

  • Modo Usuario: Ejecución limitada; no puede acceder directamente a recursos críticos.
  • Modo Kernel (o Supervisor): Acceso total a todos los recursos del sistema.
  • El cambio entre modos se realiza mediante Llamadas al Sistema (System Calls).

Llamadas al Sistema (System Calls)

  • Mecanismo que permite a los programas de usuario solicitar servicios al Sistema Operativo (SO).
  • Provocan un cambio de modo de usuario a modo kernel.

Técnicas de Paralelismo en CPU

  • Pipeline: Permite procesar varias instrucciones en diferentes etapas de forma solapada.
  • Superescalar: Arquitectura que utiliza múltiples unidades de ejecución, permitiendo iniciar varias instrucciones en el mismo ciclo de reloj.

Entradas relacionadas: