Fundamentos de Sistemas Operativos, Procesos, Memoria y Buses


Sistema Operativo (SO)

Es un conjunto de programas que actúa como intermediario entre el usuario y el hardware, proporcionando un entorno para ejecutar programas de manera eficiente.

Funciones principales:

  • Facilitar el uso de la computadora para el usuario.
  • Administrar los recursos del hardware (CPU, memoria, almacenamiento, dispositivos).
  • Ejecutar y gestionar programas de manera eficiente.

Componentes del SO:

  • Manejador de recursos: administra el hardware.
  • Programas de control: supervisan la ejecución de programas.
  • Kernel: núcleo del sistema que siempre está en ejecución.

Clasificación de los SO:

  • Modo de trabajo: Interactivos, Batch, Mixtos.
  • Número de usuarios: Monousuario, Multiusuario.
  • Propósito: General o Específico.
  • Cantidad de procesadores: Monoprocesador, Multiprocesador, Distribuidos, Centralizados.
  • Capacidades: Multitarea, MultiHilo.

Principales familias de SO:

  • UNIX y derivados: Linux, macOS, FreeBSD.
  • Windows: Privado, con interfaz gráfica.
  • Linux: Código abierto, flexible.
  • macOS: Basado en UNIX, exclusivo para Apple.
  • Android: Basado en Linux, para dispositivos móviles.
  • iOS: Exclusivo de Apple, optimizado para iPhone/iPad.

Memorias en la Computadora

Son dispositivos que almacenan información de forma temporal o permanente.

Tipos de memoria:

  • Volátil (RAM): Pierde datos al apagarse (SRAM, DRAM).
  • No volátil (ROM, Flash): Conserva datos sin energía.

Métodos de acceso:

  • Secuencial: Lectura ordenada (cintas magnéticas).
  • Directo: Lectura por bloques.
  • Aleatorio: Acceso inmediato (RAM).
  • Asociativo: Búsqueda por contenido (caché).

Jerarquía de memoria:

CachéRAMAlmacenamiento secundario.

Registros del Procesador

Son pequeñas unidades de almacenamiento dentro de la CPU, usadas para procesar datos rápidamente.

Tipos de registros:

  • Visibles para el usuario: Permiten minimizar el acceso a la memoria.
  • Control y estado: Gestionan el funcionamiento del procesador.

Registros clave:

  • PC (Program Counter): Dirección de la siguiente instrucción.
  • IR (Instruction Register): Última instrucción captada.
  • MAR (Memory Address Register): Dirección en memoria.
  • MBR (Memory Buffer Register): Datos leídos o a escribir.

Procesos y Bloque de Control de Procesos (BCP)

Definición de Proceso

Un proceso es un programa en ejecución, que cuenta con una serie de recursos y características:

  • Puede ser asignado y ejecutado en un procesador.
  • Contiene una secuencia de instrucciones, un estado actual y recursos del sistema.
  • Está compuesto por código del programa y datos asociados.

Elementos de un Proceso

Un proceso en ejecución tiene ciertos atributos clave:

  • Identificador: Número único que lo distingue.
  • Estado: Puede estar en ejecución, bloqueado o listo.
  • Prioridad: Nivel relativo a otros procesos.
  • Contador de programa: Dirección de la siguiente instrucción.
  • Punteros a memoria: Información sobre el código y datos asociados.
  • Datos de contexto: Registros de CPU cuando está activo.
  • Estado de E/S: Dispositivos o archivos en uso.
  • Información de auditoría: Tiempo de uso de CPU, registros contables, etc.

Toda esta información se almacena en el Bloque de Control de Proceso (BCP), lo que permite al sistema operativo gestionar la multitarea y restaurar procesos cuando son interrumpidos.

Modelos de Procesos

Modelo de Dos Estados

Un proceso puede estar en dos estados:

  • Ejecutando: Está en uso por el procesador.
  • No ejecutando: Está en espera para ser seleccionado.

El activador del sistema operativo gestiona la transición entre estos estados, permitiendo la multiprogramación.

Modelo de Cinco Estados

Para una mejor administración, se usa un modelo con cinco estados:

  • Nuevo: El proceso ha sido creado, pero no ejecutado.
  • Listo: Espera su turno para ejecutarse.
  • Ejecutando: Se está ejecutando en la CPU.
  • Bloqueado: Espera un evento externo (E/S, mensaje de otro proceso).
  • Saliente: Ha terminado su ejecución o ha sido abortado.

Transiciones entre estados:

  • Nuevo → Listo: El sistema permite su ejecución.
  • Listo → Ejecutando: Es seleccionado por el planificador.
  • Ejecutando → Listo: Se interrumpe por límite de tiempo.
  • Ejecutando → Bloqueado: Espera una operación externa.
  • Bloqueado → Listo: Se completa la operación esperada.
  • Ejecutando → Saliente: Finaliza o se aborta.

Creación y Terminación de Procesos

Creación de Procesos

El sistema operativo crea un proceso mediante:

  • Asignación de un BCP.
  • Reserva de espacio en memoria.
  • Posibilidad de crear procesos «hijo» desde un proceso «padre».

Terminación de Procesos

Un proceso puede terminar cuando:

  • Ejecuta una instrucción HALT.
  • El usuario lo cierra.
  • Es abortado por el sistema operativo o por su proceso padre.

Buses

Los buses son conjuntos de líneas de comunicación que permiten la transferencia de datos entre los componentes del sistema, como la CPU, la memoria y los dispositivos de entrada/salida. Son esenciales para la interconexión y el intercambio de información dentro del computador.

Estructuras de Interconexión

Las interconexiones deben permitir las siguientes transferencias de datos:

  • Memoria ↔ Procesador
  • Procesador ↔ Memoria
  • E/S ↔ Procesador
  • Procesador ↔ E/S
  • Memoria ↔ E/S
  • E/S ↔ Memoria

Los buses funcionan como caminos de comunicación compartidos, donde varios dispositivos pueden conectarse, pero solo uno puede transmitir en un momento dado para evitar colisiones de señales. Están compuestos por múltiples líneas capaces de transmitir señales binarias (0 o 1), lo que permite enviar datos en paralelo.

Tipos de Buses

  • Bus del sistema: Conecta los principales componentes del computador (CPU, memoria, E/S).
  • Bus de datos: Su ancho determina la cantidad de datos que pueden transferirse simultáneamente.
  • Bus de direcciones: Especifica la fuente o destino de los datos en el bus de datos, determinando la cantidad máxima de memoria direccionable.
  • Bus de control: Gestiona el acceso y uso de los buses de datos y direcciones, incluyendo señales de reloj, inicio y reset.

Dejar un Comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *