Conceptos Esenciales de Sistemas Operativos: Procesos, Interbloqueo y Gestión de Recursos
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 5,76 KB
Conceptos Esenciales de Sistemas Operativos
Sincronización de Procesos
Problema: En sistemas multiprogramados, los procesos pueden acceder simultáneamente a recursos compartidos, lo que puede generar condiciones de carrera (resultados impredecibles).
Sección Crítica
Parte del código donde un proceso accede a un recurso compartido. Debe garantizarse que solo un proceso a la vez pueda ejecutarla.
Condiciones para evitar problemas en la sección crítica:
- Exclusión mutua: Solo un proceso puede acceder a la sección crítica.
- Progreso: Si la sección crítica está libre, debe decidirse rápidamente qué proceso entra.
- Espera limitada: Ningún proceso debe esperar indefinidamente.
Soluciones de Sincronización:
- Software: Algoritmo de Peterson.
- Hardware: Instrucciones Test-and-Set y Swap.
- Sistema Operativo: Semáforos (binarios o contadores).
- Lenguajes de Alto Nivel: Monitores (estructuras que encapsulan acceso a recursos compartidos).
Interbloqueo (Deadlock)
Definición: Ocurre cuando un conjunto de procesos queda bloqueado esperando recursos retenidos por otros procesos del grupo.
Condiciones necesarias para el Interbloqueo:
Para que ocurra un interbloqueo, deben cumplirse simultáneamente las siguientes cuatro condiciones:
- Exclusión mutua: Un recurso no puede ser compartido.
- Retención y espera: Un proceso mantiene recursos mientras espera otros.
- No apropiación: Un recurso no puede ser quitado por la fuerza.
- Espera circular: Existe una cadena de procesos donde cada uno espera un recurso retenido por otro.
Estrategias para manejar interbloqueos:
- Prevención: Evitar que se cumplan las condiciones necesarias.
- Evitación: Asignar recursos solo si no se genera un estado inseguro (Ej. Algoritmo del Banquero).
- Detección y recuperación: Identificar el interbloqueo y tomar acciones (matar procesos o liberar recursos).
- No hacer nada: Reiniciar el sistema si ocurre un interbloqueo.
Gestión de Memoria
Memoria Principal
Función: Almacena código y datos de los procesos en ejecución.
Tipos de direcciones:
- Simbólica: Nombre de una variable en el código fuente.
- Lógica: Dirección generada por la CPU.
- Física: Ubicación real en la RAM.
Técnicas de Gestión de Memoria:
- Asignación contigua: Memoria dividida en bloques fijos o variables (puede generar fragmentación).
- Paginación: Divide la memoria lógica en páginas y la RAM en marcos, asignando dinámicamente.
- Segmentación: Divide la memoria en segmentos que representan estructuras lógicas del programa.
Memoria Virtual
Concepto: Permite que los procesos se ejecuten sin estar completamente cargados en la RAM, usando espacio en disco como respaldo.
Ventajas de la Memoria Virtual:
- Permite ejecutar procesos grandes sin necesidad de más RAM.
- Facilita la multiprogramación.
Desventajas de la Memoria Virtual:
- Si se usa demasiado, puede generar fallos de página y reducir el rendimiento.
Algoritmos de reemplazo de páginas:
- FIFO (First-In, First-Out): Se elimina la página más antigua.
- Óptimo: Se elimina la página que menos se usará en el futuro (ideal, pero no implementable).
- LRU (Least Recently Used): Se elimina la página que no se ha usado en más tiempo.
- Segunda oportunidad: Variante de FIFO que evita eliminar páginas usadas recientemente.
Problema del Thrashing (Paginación Excesiva):
Ocurre cuando los procesos gastan más tiempo intercambiando páginas entre RAM y disco que ejecutando instrucciones.
Sistemas de Archivos
Definición y Estructura
Definición: Mecanismo que organiza y gestiona archivos en un dispositivo de almacenamiento.
Ejemplos de sistemas de archivos:
- Windows: FAT, NTFS.
- Linux: EXT2, EXT3, EXT4.
Operaciones básicas sobre archivos:
- Crear: Generar un nuevo archivo en el sistema.
- Abrir: Acceder a un archivo existente para lectura o escritura.
- Leer: Obtener datos almacenados en un archivo.
- Escribir: Guardar o modificar datos en un archivo.
- Eliminar: Borrar un archivo del sistema de almacenamiento.
- Reposicionar (Seek): Mover el puntero de lectura/escritura dentro del archivo.
Tipos de archivos:
- Texto: Archivos legibles, delimitados por caracteres especiales.
- Binarios: Ejecutables o compilados en código máquina.
- Registros: Contienen estructuras de datos organizadas (como bases de datos).
Métodos de acceso:
- Secuencial: Se leen los datos en orden.
- Directo: Se accede a datos específicos sin leer todo el archivo.
- Indexado (ISAM): Usa un índice para facilitar búsquedas rápidas.