CC222: Segunda Práctica Calificada (Respuestas) 2025-1 24/04/2025
1 El SO tiene OBJETIVOS GENERALES para la planificación de
PROCESOS en la compu. Las personas (procesos) y el presidente (SO)
de un país, tenemos comportamientos similares. Si usted fuera
presidente del Perú (SO) y aplicara los mismos OBJETIVOS
GENERALES, descríbalos a continuación.
Justicia: cada persona debe tener acceso justo y razonable a los recursos
de vida fundamentales: alimentación, vivienda, salud, educación, etc.
Política: Las personas tenemos deberes, derechos y solidaridad.
Equilibrio: que se utilicen todos los recursos del país, que haya trabajo.
2 ¿Qué es un Sistema de Tiempo Real (STR) y cuáles son los objetivos de
planificación de su SO?
STR: Es un sistema dedicado a gestionar el funcionamiento de “cosas
inteligentes, como una compu” del mundo real, sus recursos suelen ser
sobredimensionados y estar ociosos; pero es crítico que funcionen a
tiempo cuando se los necesita.
Objetivos: priorizar la ejecución de procesos, cumplir los límites de
tiempos de ejecución y la calidad, sincronizar threads, y asegurar la
gestión de eventos.
3 ¿Qué son y cómo se planifican las Colas de Multinivel (CM)?
Los procesos en la RAM se clasifican en niveles, según sus
requerimientos de recursos, cada nivel tiene su cola de procesos, el
resultado son CM.
Planificación:
1) Cada CM tiene sus prioridades de ejecución y suelen tener tiempos de
CPU asignados.
2) Los procesos de un nivel siguen un algoritmo de planificación
adecuado al nivel.
3) Los procesos pueden cambiar de nivel
4 Describa las hebras de un proceso y su planificación a corto plazo
Un proceso inicial puede crear hebras (subprocesos, con objetivos
específicos), con su propio: identificador, pilas y registros; comparten
datos generales, y recursos abiertos, pueden o no compartir código; se
sincronizan todas para dar un resultado general.
La planificación a corto plazo se hace a dos niveles: plafificador del SO
y planificador de hebras, el cual es no apropiativo internamente y
gestiona su ventana de tiempo en tiempo de afinidad con el CPU
5 Describa el multiprocesamiento y su planificación a corto plazo
El multiprocesamiento en una compu ocurre cuando un computador
tiene varios núcleos de CPU y los utiliza a todos para ejecutar muchos
procesos.
Planificación
Existen dos tipos de procesamiento: simétrico (comparten la memoria) y
asimétrico (un procesador maestro controla la estructura de datos)
Los procesos suelen ejecutarse en un procesador afin (por su caché)
Se procura el equilibrio de carga de los CPU y un proceso puede pedir o
ser cambiado a otro CPU.
6 ¿Cómo se detecta una condición de carrera?
Se producen errores misteriosos y difíciles de detectar, no dan mensaje
de error, pueden pasar inadvertidos; pueden ser errores de cálculo,
descincroniza en la ejecución de procesos, etc.
Las herramientas más eficientes para detectarlos son: los casos de
prueba por los conocedores del modelo que incluyen: funcionamiento
individual, integrado, random de su operación, también deben haber
utilitarios genéricos de prueba.
7 Describa qué es un semáforo y cómo se implementa
Un semáforo es un “mecanismo (externo/interno, artificio)” que pemite
sincronizar el uso de recursos: memoria, i/o (no cpu); en secciones
críticas. Tiene dos parámetros de activación: Indicador de que las
sección crítica abarca 1 o más procesos, número de procesos que puede
ejecutar la sección crítica.
Implementación en C:
1) Identificar las secciones críticas
2) Definición y valores iniciales de la variables de semáforo
3) función wait() para intentar entrar en la sección crítica
4) función post() para salir de la sección crítica.
8 ¿Qué significan los valores asignados/modificados a la variable de
control de la cantidad de procesos en un sem_t s?
La variable s es bidimensional:
1) share (compartir sección crítica entre procesos): 0: sí, 1: no
2) Capacidad s: número de procesos que puede alojar en su sección
crítica:
s > 0: capacidad disponible de la sección crítica para alojar procesos.
s = 0: la sección crítica está llena y no hay procesos en cola de espera.
s < 0: la sección crítica está llena y hay |s| procesos en cola de espera.
9 Describa las interacciones entre procesos que requieren sincronización
1) Compartir recursos: entre procesos que compiten
2) Comunicación: intercambio de información de E/S entre procesos
3) Sincronización de eventos: un proceso espero un evento de otros
procesos.
10 ¿Cuál es la estrategia para definir las secciones críticas para semáforos?
Depende del tipo de problema, cada tipo tiene su estrategia propia, esto
se estudia en un curso de programación concurrente.
1) problema sencillo (compartir memoria): 1) identificar variables
compartidas, 2) identificar los segmentos de programa que las usan, 3)
programar los semáforos.
2) Hay varios problemas complejos clásicos: productor consumidos, los
filósofos, lectores y escritores, espera activa, etc.
CC222 Link práctica 2: [Link]
Tj1_xSQkZsYErsW2WtFCmdbGb-UEBJJUODkyNU5KVjJJUThQMzlFODFTMDhJQzUyWC4u