Beruflich Dokumente
Kultur Dokumente
del procesador
Ing. Efraín Padilla Valera
Sistemas Operativos
Departamento de Sistemas y Computación
Instituto
Tecnológico
Contenido Tepic
1 Concepto de proceso.
4 Concurrencia y secuenciabilidad.
❖Procesos Sistema:
▪ No asignados a ninguna terminal
▪ Creados en la inicialización del sistema
❖Procesos Usuarios:
▪ Lanzados por un usuario desde una terminal
determinada.
❖Procesos tipo threads (hilos)
▪ ocupan el mismo espacio de memoria
Instituto
Tecnológico
Otra clasificación de procesos Tepic
❖Reutilizables:
▪ son aquellos en los que pueden cambiar los
datos, pero necesitan comenzar desde el
principio.
❖Reentrantes:
▪ sólo contienen código puro. Los datos se
encuentran en registros internos y no pueden
ser modificados (programas compartidos por
varios usuarios)
Instituto
Tecnológico
Tipos procesos de acuerdo a su capacidad acceso al Tepic
procesador y recursos
❖Apropiativos
▪ no permiten compartir recursos, hasta que hayan
acabado.
❖No apropiativos
▪ permiten a otros procesos el uso de un recurso que
estén ultilizando.
Instituto
Tecnológico
Tipos procesos de acuerdo a su forma de ejecución Tepic
❖Residentes
▪ permanecen en memoria mientras se ejecutan
❖Intercambiables
▪ pueden ser llevados al disco mientras estén
bloqueados
Instituto
Tecnológico
Planificación de Procesos Tepic
las
. colas de procesos se construyen con unas cabeceras y con unos punteros que
están incluidos en los PCB. Dado que un proceso está en cada instante en una
sola cola de planificación, es necesario incluir un solo espacio de puntero en su
PCB
Instituto
Tecnológico
Modelo de Colas Tepic
Instituto
Tecnológico
Planificadores (schedulers) Tepic
Instituto
Tecnológico
Planificador de Largo Plazo Tepic
id est Expresión latina que significa "esto es" y que, escrita abreviadamente, "i. e.", se emplea a veces en escritos
científicos o doctrinales.
Instituto
Tecnológico
Creación de Procesos Tepic
❖Unix
▪ Cuando un proceso crea otro proceso, el proceso padre
y el proceso hijo continúan asociados.
▪ El proceso hijo puede crear otro proceso, formando
una jerarquía de procesos
▪ Un proceso y todos sus hijos forman un grupo de
procesos.
❖Windows
▪ No cuenta con una jerarquía de procesos
▪ Todos los procesos son iguales
▪ Cuando proceso es creado, al padre se le otorga un
token especial (handle) que puede usar para controlar
al proceso hijo
• Sin embargo el proceso es libre de pasar este token a otro
proceso.
Instituto
Tecnológico
Creación de proceso en POSIX Tepic
Instituto
Tecnológico
Creación de proceso en Win32 Tepic
Instituto
Tecnológico
Creación de proceso en Java Tepic
Instituto
Tecnológico
Término del Proceso Tepic
❖Suicidio: Se autoelimina
▪ Invocación explícita, normal o anormal (i.e.
exit en Unix).
▪ Se deben liberan recursos del proceso.
❖ Asesinato: Otro proceso lo elimina
▪ Normalmente lo hace un antepasado directo
(más seguro).
▪ Eliminación puede ser normal o anormal
▪ Término de un proceso puede significar el
término de toda su descendencia (i.e. Unix:
shutdown y shell).
Instituto
Tecnológico
Procesos Cooperativos Tepic
❖Procesos cooperativos
▪ Son aquellos que comparten datos
▪ Hay varias razones para que se de un ambiente que permita la
cooperación entre procesos ejemplos:
• Compartición de información (e.g. archivos)
• Aceleración de la computación (ejecución paralela)
• Modularidad (cuando se construye el sistema en un modo modular
dividiendo las funciones del sistema en procesos separados o hilos)
• Conveniencia (cuando un usuario requieren realizar varias tareas
simultáneas un usuario editando, imprimiendo y compilando en
paralelo)
❖ Cooperación requiere de mecanismos de comunicación entre
procesos (IPC) y la sincronización entre procesos
Instituto
Tecnológico
Comunicación entre procesos(IPC) Tepic
❖ Comunicación directa
▪ Los procesos deben mencionarse mutuamente de manera
explícita:
• send (P, mensaje) – envia mensaje al procesos P
• receive(Q, mensaje) – recibe un mensaje del proceso Q
▪ Propiedades de la liga de comunicación
• Las ligas se establecen de manera automática
• Una liga está asociada con exactamente un par de procesos
comunicados
• Entre cada par existe exactamente una liga
• La liga puede ser unidirección o bidireccional
▪ Hay 2 esquemas
• Simétrica: receptor identifica al emisor
• Asimétrica: receptor no conoce a priori al emisor
Instituto
Tecnológico
Nombramiento (Naming) Tepic
❖ Comunicación indirecta
▪ Los mensajes son dirigidos y recibidos a/de buzones (también
conocidos como puertos)
• Cada buzón tiene un id único
• Los procesos pueden comunicarse sólo si comparten un buzón
▪ Propiedades de la liga de comunicación
• Liga establecida sólo si los procesos comparten un buzón
• Una liga puede asociarse con muchos procesos
• Cada par de procesos puede compartir muchas ligas de
comunicación
• La liga puede ser unidirección o bidireccional
Instituto
Tecnológico
Nombramiento (Naming) Tepic
❖ Comunicación indirecta
▪ Operaciones
• Crear un buzón
• Enviar y recibir mensajes a través de un buzón
• Destruír un buzón
▪ Las primitivas estás definidas así:
send(A, mensaje) – enviar mensaje a buzón A
receive(A, mensaje) – recibir mensaje del buzón A
Instituto
Tecnológico
Nombramiento (Naming) Tepic
❖ Comunicación indirecta
▪ Compartir buzones
• P1, P2, y P3 comparten un buzón A
• P1, envía; P2 y P3 reciben
• ¿Quién obtiene el mensaje?
▪ Soluciones
• Permitir la asociación de ligas con a lo más dos procesos
• Permitir a lo más a un proceso ejecutar la operación de recibir
• Permitir al sistema seleccionar de manera arbitraria al
receptor. Se da aviso al remitente quién fue el receptor.
Instituto
Tecnológico
Sincronización en la Comunicación Tepic
El productor
Instituto
Tecnológico
Solución paso de mensajes – buffer acotado Tepic
El consumidor
Instituto
Tecnológico
Paso de mensajes en Windows XP Tepic
Instituto
Tecnológico
Comunicación Cliente-Servidor Tepic
❖Sockets
kernel kernel
Como una instancia de esta clase debe accesarse remotamente, esta debe
extender de la clase UnicastRemoteObject del paquete java.rmi.server e
implementar la interfaz RemoteDateImpl.
Registra un nombre
y un lugar de un
objeto remoto. Esto
se realiza a partir de
un servidor que
contiene un objeto
remoto
Naming.rebind(“rmi://host/name”,object);
El primero es el lugar donde se encuentra el objeto y segundo es el objeto que se llama remotamente
Ademas la aplicación rmiregistry debe estar ejecutándose en la misma maquina servidor que la aplicación
servidor que contiene el objeto remoto
Instituto
Tecnológico
Ejemplo de RMI Tepic
❖Conceptos básicos
❖Criterios de planificación
❖Algoritmos de planificación
❖Planificación multi-procesador
❖Planificación de tiempo real
❖Planificación con hilos de control
❖Ejemplos de sistemas operativos
❖Planificación en hilos de Java
❖Evaluación de algoritmos
Instituto
Tecnológico
Definiciones Básicas Tepic
Burst = ráfaga
Instituto
Tecnológico
P1 P2 P3
0 24 27 30
P2 P3 P1
0 3 6 30
P1 P3 P2 P4
0 3 7 8 12 16
❖ Tiempo de espera promedio = (0 + 6 + 3 + 7)/4 = 4
Instituto
Tecnológico
Ejemplo de Preemptive SJF Tepic
P1 P2 P3 P2 P4 P1
0 2 4 5 7 11 16
❖ Desempeño:
▪ SJF es óptimo en cuánto a reducir el tiempo de espera.
▪ Demostración: Cualquier permutación aumenta el tiempo de
espera.
❖ Problemas:
▪ Es necesario conocer a priori o predecir el tiempo de servicio del
trabajo.
▪ Tal cual, el algoritmo es sólo aplicable a planificación de largo
plazo.
Instituto
Tecnológico
Aplicación de SJF a Planificación del Procesador Tepic
n=1 = tn + (1 − ) n .
P1 P2 P3 P4 P1 P3 P4 P1 P3 P3
❖ Tres colas:
▪ Q0 – RR con quantum de 8 milisegundos
▪ Q1 – RR con de 16 milisegundos
▪ Q2 – FCFS
❖ Planificación
▪ Un nuevo trabajo entra en cola Q0 con FCFS. Cuando llega
al CPU, el proceso recibe 8 milisegundos. Si no termina en
8 ms, el trabajo se mueve a la cola Q1.
▪ En Q1 el trabajo se atiende con FCFS y recibe 16 ms
adicionales. Si aún no se termina, es sacado del CPU y
encolado en Q2.
Instituto
Tecnológico
Colas con varios niveles y retroalimentación Tepic
Instituto
Tecnológico
Planificación multi-procesador Tepic
❖Planificación en Solaris
❖Planificación en Windows XP
❖Planificación en Linux
Instituto
Tecnológico
Planificación en Solaris Tepic
❖ Solaris usa una planificación de hebras basada en prioridades, definiendo cuatro clases para
planificación. Estas clases son, por orden de prioridad:
▪ 1. Tiempo real
▪ 2. Sistema
▪ 3. Tiempo compartido
▪ 4. In teractiva
Dentro de cada clase hay diferentes prioridades y diferentes algoritmos de planificación. Los
mecanismos de planificación en Solaris se ilustran en la Figura siguiente