Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

gestion de ejercicios de calculo, Ejercicios de Cálculo Avanzado

ejercicios de calculo multivariado

Tipo: Ejercicios

2024/2025

Subido el 19/04/2025

eduardo-riscanevo
eduardo-riscanevo 🇨🇴

5 documentos

1 / 7

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
GESTION DE PROCESOS Y MEMORIA EN SISTEMAS OPERATIVOS
SISTEMAS OPERATIVOS
FREDDY EDUARDO RISCANEVO MENDEZ
FACULTAD.
INGENIERIA DE SOFTWARE
UNIVERSIDAD FUNDACIÓN DE ESTUDIOS SUPERIORES COMFANORTE
FESC
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga gestion de ejercicios de calculo y más Ejercicios en PDF de Cálculo Avanzado solo en Docsity!

GESTION DE PROCESOS Y MEMORIA EN SISTEMAS OPERATIVOS

SISTEMAS OPERATIVOS

FREDDY EDUARDO RISCANEVO MENDEZ

FACULTAD.

INGENIERIA DE SOFTWARE

UNIVERSIDAD FUNDACIÓN DE ESTUDIOS SUPERIORES COMFANORTE

FESC

1. ¿Qué es un proceso y cuáles son sus estados en un sistema operativo?

Un proceso es una instancia de un programa en ejecución que constituye la unidad básica de trabajo en un sistema operativo. Está compuesto por los siguientes elementos:  Código ejecutable : Las instrucciones del programa  Datos : Variables y estructuras de datos utilizadas por el programa  Recursos del sistema : Archivos abiertos, dispositivos asignados, etc.  Pila de ejecución : Para llamadas a funciones y variables locales  PCB (Process Control Block) : Estructura de datos que mantiene toda la información necesaria para gestionar el proceso

Estados principales de un proceso:

  1. Nuevo (New) : El proceso está siendo creado y el sistema operativo está asignando los recursos necesarios.
  2. Listo (Ready) : El proceso está preparado para ejecutarse y espera que el planificador (scheduler) lo seleccione.
  3. En ejecución (Running) : Las instrucciones del proceso están siendo ejecutadas por la CPU.
  4. Bloqueado/Espera (Blocked/Waiting) : El proceso está esperando algún evento externo (como una operación de E/S) o un recurso para continuar.
  5. Terminado (Terminated) : El proceso ha completado su ejecución, bien sea por finalización normal o por error. Sus recursos serán liberados por el sistema operativo.

Estados adicionales (en sistemas más complejos):

Suspendido-Listo (Suspended-Ready) : El proceso está listo para ejecutarse pero ha sido temporalmente transferido a memoria secundaria por falta de memoria RAM.  Suspendido-Bloqueado (Suspended-Blocked) : El proceso está bloqueado esperando un evento y además ha sido transferido a memoria secundaria.  Zombi (Zombie) : En sistemas Unix/Linux, un proceso que ha finalizado pero cuyo proceso padre aún no ha recogido su estado de salida.

2. Diferencia entre multiprocesamiento, multitarea y multiprogramación

Multiprocesamiento

Es la capacidad de un sistema para utilizar múltiples unidades de procesamiento físicas (CPUs o núcleos) simultáneamente. Características principales:  Permite la ejecución verdaderamente paralela de procesos  Mejora significativamente el rendimiento del sistema en cargas de trabajo paralelas

o El espacio de direcciones virtuales se divide en "páginas" (típicamente de 4KB o 8KB) o La memoria física se divide en "marcos de página" del mismo tamaño

  1. Tabla de páginas : o Mantiene un mapeo entre páginas virtuales y marcos físicos o Contiene información sobre presencia, protección y uso de cada página o Es única para cada proceso y gestionada por el sistema operativo o Puede implementarse en múltiples niveles para espacios de direcciones grandes
  2. Mecanismo de traducción de direcciones : o El hardware incluye una MMU (Memory Management Unit) que traduce direcciones virtuales a físicas o Para mejorar el rendimiento se utiliza una TLB (Translation Lookaside Buffer), una caché para traducciones recientes
  3. Gestión de fallos de página : o Cuando se accede a una página no presente en memoria física, ocurre un "fallo de página" o El sistema operativo intercepta esta excepción y:  Encuentra un marco libre o selecciona uno para reemplazar (usando algoritmos como LRU, FIFO, etc.)  Si la página a reemplazar fue modificada, la guarda en el área de intercambio (swap)  Carga la página solicitada desde el almacenamiento secundario  Actualiza la tabla de páginas y reanuda la ejecución del proceso

Segmentación

Es una técnica alternativa o complementaria a la paginación donde la memoria se divide en segmentos de tamaño variable que corresponden a unidades lógicas del programa:  Cada segmento puede representar código, datos, pila, etc.  Proporciona mejor soporte para compartir y protección  Puede combinarse con paginación (segmentación paginada) para obtener beneficios de ambos enfoques  Sufre de fragmentación externa, lo que la hace menos eficiente que la paginación pura

4. Semáforos y mutex en la sincronización de procesos

En sistemas con concurrencia (multitarea/multiprocesamiento), los procesos o hilos pueden acceder simultáneamente a recursos compartidos, lo que puede provocar condiciones de carrera y datos inconsistentes. Los mecanismos de sincronización evitan estos problemas.

Mutex (Mutual Exclusión)

Es un mecanismo de sincronización que garantiza el acceso exclusivo a un recurso compartido:  Funciona como un "cerrojo" que solo puede ser adquirido por un proceso a la vez  Operaciones básicas: o lock/acquire : Intenta obtener el mutex (si ya está tomado, el proceso se bloquea) o unlock/release : Libera el mutex para que otro proceso pueda adquirirlo  Características: o Es propiedad del proceso que lo adquiere (solo él puede liberarlo) o Es no recursivo por defecto (aunque existen mutex recursivos) o Soluciona el problema de la exclusión mutua o No puede ser utilizado para sincronización entre procesos padres e hijos

Semáforos

Son estructuras de datos más versátiles que permiten controlar el acceso a recursos compartidos y sincronizar la ejecución de procesos:  Consisten en un contador y una cola de procesos en espera  Operaciones atómicas principales: o wait/P/down : Decrementa el contador (si llega a ser negativo, el proceso se bloquea) o signal/V/up : Incrementa el contador y desbloquea a un proceso en espera si lo hay Tipos de semáforos:

  1. Semáforos binarios : o Solo pueden tomar valores 0 o 1 o Funcionalmente similares a un mutex, pero con diferencias importantes:  Un semáforo puede ser liberado por cualquier proceso  No tiene concepto de "propiedad"
  2. Semáforos contadores : o Pueden tomar cualquier valor entero no negativo o Útiles para controlar acceso a recursos con múltiples instancias o Permiten modelar problemas como el de "productor-consumidor"

Otros mecanismos de sincronización

  1. Variables de condición : o Permiten a los procesos esperar hasta que una condición específica se cumpla o Operaciones principales: wait, signal, broadcast o Siempre se utilizan asociadas a un mutex