Please enable JavaScript.
Coggle requires JavaScript to display documents.
07.SINCRONIZACIÓN Y COMUNICACION ENTRE PROCESOS - Coggle Diagram
07.SINCRONIZACIÓN Y COMUNICACION ENTRE PROCESOS
Planificador
modulo del SO
que decide qué proceso se debe ejecutar
para ello usa un algoritmo de planificación
debe cumplir con los sgts objetivos
Maximizar
el número de procesos ejecutados. (Rendimiento: trabajos que se
procesan por hora).
Tiempo
de respuesta excelente (por ejemplo: minimizar el tiempo de respuesta
para los usuarios interactivos).
Minimizar
el tiempo de espera de usuarios
Predecibilidad en la ejecución
Eficiencia:
mantener la CPU ocupada en lo posible el mayor tiempo con procesos
de usuario
Equilibrio en el uso de los recursos.
Política justa.
Planeación
se encarga de
determinar cómo se repartirá el procesador
Selecciona de los procesos en memoria aquellos que están listos para
ejecutar y le entrega la CPU a uno de ellos.
Las decisiones de planificación de CPU tienen lugar cuando un proceso:
Conmuta de
corrida
a un estado de l
isto
Conmuta de
esperando
a
listo
Conmuta de un estado de
corrida
a un estado de
espera
Termina
La planificación
1 y 4 son no apropiativa
, en los casos
2 y 3 es apropiativa.
Apropiativos VS NO apropiativo
Apropiativo
AKA política de planificación por torneo
El proceso
que se está ejecutando actualmente puede ser interrumpido y pasado al
estado de listos por el sistema operativo
La decisión de sustituirlos por otro
proceso puede llevarse a cabo cuando llega un nuevo proceso,
ccuando se produce una interrupción que lleva a un proceso bloqueado al estado listo o periódicamente, en función de una interrupción del reloj
• Una vez que se le ha otorgado la CPU a un proceso,
SI
e puede ser retirada
Caracteristicas
útil cuando los procesos de alta prioridad requieren atención rápida
Tiene su costo en recursos, ya que el intercambio de contexto implica sobrecarga y además requiere mantener muchos procesos en el almacenamiento principal, en espera de la CPU, lo que también implica sobrecarga.
NO Apropiativo
AKA cooperative multitasking.
Una vez que el proceso pasa al estado de
EJECUCION
, continúa ejecutando
hasta que termina, se bloquean en
ESPERA
de una E/S o al solicitar algún servicio del sistema.
Esta política de ejecución para terminación fue implementada en los primeros sistemas de lote (batch)
Una vez que se le ha otorgado la CPU a un proceso,
NO
le puede ser retirada
Características
Logra hacer más predecibles los tiempos de respuesta puesto que los trabajos nuevos de prioridad
alta no pueden desplazar a los trabajos en espera.
Significa que los trabajos “largos” hacen esperar a los trabajos “cortos”
Sistema tipo Batch
aka sistema por lotes
la ejecución de un programa
sin
el control o supervisión
directa del usuario (procesamiento interactivo)
Para
• Llevar a cabo una operación particular de forma automática en un grupo de archivos todos de una vez, en lugar de “manualmente” abrir, editar y guardar cada archivo por vez.
Pueden ser vistos como scripts, pero solo a nivel de commandos DOS,
ya que la mayoría de scripts actualmente manejan objetos
Archivo Batch
archivos de texto sin formato, guardados con la extensión .bat, que
contienen un conjunto de instrucciones MS-DOS
Cuando se ejecuta este archivo, las órdenes contenidas son ejecutadas en
grupo, de forma secuencial, permitiendo automatizar diversas tareas
Cualquier orden reconocible por MS-DOS puede ser utilizado en un archivo
batch.
e funcione solo para MS-DOS lo hace muy limitado, pero útil
para tareas definidas.
Componentes
echo
off
• Evita mostrar el prompt y líneas del archivo
•
echo
on, lo contrario
•
echo
Para escribir mensajes en la pantalla o insertar una línea en blanco en la pantalla.
•
pause
inserta una pausa que continua al pulsar una tecla
pause >nul
inserta una pausa que continua al pulsar una tecla, sin mostrar el mensaje
•
exit
para salir del programa
•
set nombrevariable= valorvariable
Declaramos una variable
•
echo %nombrevariable%
Para imprimir el valor de una variable
• set/p
Para que el usuario defina una variable
•
set/a nombrevar=varA + varB
Para operaciones aritméticas
goto es un comando que nos lleva a un punto "de control" que definimos asi:
if condicional (&&)
• else caso contrario
• Start Sirve para llamar programas desde el bat actual, se abren en una ventana
nueva, y no tienen nada que ver con el bat primero. Podemos abrir desde un .txt
asta una base de datos (siempre que tengamos el programa correspondiente para
abrirlo)
Ciclo de ráfagas de CPU-E/S
En la ejecucion de un proceso se alternan la ejecucion en CPU y la espera de E/S
Ráfagas de CPU:
Tiempo de ejecución
en CPU entre dos E/S
•
Ráfagas de E/S,
Tiempo entre solicitud
y terminación de E/S