Es la imagen en memoria de un programa, junto con la información relacionada con el estado de su ejecución
Proceso
Es una entidad pasiva, una lista de instrucciones
Programa
En donde se almacenan los siguientes elementos de un procesos: Estado del proceso, Contador de programa, Registros del CPU, Información de planificación, Información de administración de memoria, Información de contabilidad y Estado de E/S
En el bloque de control de procesos
¿Cuáles son los diferentes estados que puede tener un proceso?
nuevo, listo, en ejecución, bloqueado, zombie y terminado
¿Qué información almacena el contador de un proceso?
indica cuál es la siguiente instrucción a ser ejecutada por el proceso
Cuando un proceso está en estado de ejecución puede cambiar a los estados de
Listo, Bloqueado o Terminado
Un proceso en estado de listo puede cambiar a los estados:
Ejecución
Cuando un proceso espera de algún evento para poder continuar su ejecución esta en estado:
Bloquedado
Cuando un proceso solicita al sistema operativo la creación de un proceso, y sus recursos y estructuras están siendo creadas, esta en estado:
Nuevo
Es un mecanismo de sincronización el cual se inicializa con un valor entero
Semáforo
Para que se utilizan los mecanismos de sincronización
Para asegurar que cuando un proceso comienza a ejecutar un área critica, mientras no salga de esa área, otros procesos no podrán modificar dicha área crítica
¿Por qué las áreas criticas son de exclusión mutua?
solo deben ser accedidas por un proceso a la vez, para evitar perdida de información o que los datos se corrompan
Es la manipulación de datos que requiere la garantía de que se ejecutará como una sola unidad de ejecución, o fallará completamente, sin resultados o estados parciales observables por otros procesos o el entorno.
Operación atómica
Es el área de código que requiere ser protegida de accesos simultáneos donde se realiza la modificación de datos compartidos.
Área crítica
A que se refiere un recurso compartido
Un recurso al que se puede tener acceso desde más de un proceso. En muchos escenarios esto es un variable, archivos, periféricos, etcétera
Explicar a que se refiere la concurrencia
Es una de las tareas principales de los sistemas operativos es dar a cada proceso la ilusión de que se está ejecutando en una computadora dedicada, de modo que el programador no tenga que pensar en la competencia por recursos.
Si el área crítica es protegida por un semáforo, cuando un proceso decrementa el valor del semáforo y este es negativo, a que estado cambia el proceso
Bloqueado
¿Qué acción realiza la instrucción mutex.release()?
Cambia el estatus del parea crítica para que pueda ser accedida por otros procesos
¿Qué acción realiza la instrucción semáforo.release()?
Incrementa el valor del semáforo
¿Qué acción realiza la instrucción mutex.acquire()?
Verifica que el área critica este libre para ser accedida y si esta libre cambia su estatus a ocupada, sino esta libre cambia el estado del proceso a bloqueado
El proceso torniquete 2 cambia de estado de listo a ejecución, semáforo=0, el SO le asigna 5 ciclos de reloj (ejecuta 5 instrucciones). Cuando termina su tiempo de ejecución a que estado cambia el proceso torniquete 2 y cuál fue la última instrucción en ejecutarse.
Estado bloqueado y la última instrucción es 3. semaforo.acquire()
En el siguiente programa el proceso torniquete 1 cambia de estado de listo a ejecución, semáforo=0, el SO le asigna 3 ciclos de reloj (ejecuta 3 instrucciones), en su ejecución anterior se quedo en la línea resaltada en verde ¿Indicar cuál es el valor del semáforo una vez que termina su tiempo de ejecución asignado y a cuál estado cambia el proceso torniquete 1?
Semáforo=1, Estado terminado
El proceso torniquete 2 cambia de estado de listo a ejecución, el área crítica esta ocupada, el SO le asigna 5 ciclos de reloj (ejecuta 5 instrucciones). Cuando termina su tiempo de ejecución a que estado cambia el proceso torniquete 2 y cuál fue la última instrucción en ejecutarse.
Estado bloqueado y la última instrucción es 3. mutex.acquire()
En el siguiente programa el proceso torniquete 2 cambia de estado de bloqueado a ejecución el área critica esta ocupada, el SO le asigna 3 ciclos de reloj (ejecuta 3 instrucciones), en su ejecución anterior se quedo en la línea resaltada en verde ¿Indicar cuál es el estatus del área critica una vez que termina su tiempo de ejecución asignado y a cuál estado cambia el proceso torniquete 2?
Área crítica libre, Estado terminado
Se inicializa la variable cuenta en 0. Se asignan 4 ciclos de reloj al proceso 1, posteriormente 4 ciclos de reloj al proceso 2, luego 1 ciclo de reloj al proceso 1 y 1 ciclo de reloj al proceso 2. ¿Indicar cuál es el valor de la variable cuenta?
Cuenta=1