jueves, 30 de septiembre de 2010

II Unidad: Gestión del procesador, comunicación y sincronización de datos.

Primero partiremos diciendo lo que es un proceso en un sistema operativo, un proceso es un programa en ejecución y pueden ser cooperantes (procesos que interactúan entre si) e independientes (no interactúan).
Los procesos se pueden encontrar en los siguientes estados: nuevo, ejecutándose, en espera, listo y terminado.
Los sistemas operativos poseen una planificación de procesos y es esto el medio por el cual se elige que proceso ejecutar y existen varios medios de planificación los cuales explicaremos ahora:
Planificación round- robin:
En este tipo de planificación cada proceso tiene asignado un quantum de tiempo para ejecutarse y en el caso de que no pueda terminar la ejecución en su quantum el proceso pasa de nuevo a la cola de procesos para ser ejecutado por otro quantum luego de recorrer la cola para asegurarse que todos los procesos reciban ese quantum de procesamiento.
Planificación por prioridad:
Para el caso de este tipo de planificación a cada proceso se le asigna una prioridad y los mismos son ejecutados.
Colas múltiples:
Las colas múltiples están basadas en una pila que sirve como índice de una lista de procesos que se tienen que ejecutar y en donde el trabajo más corto primero. El problema de este método es que los procesos mas largos a veces no son ejecutados ya que llegan cada vez procesos mas cortos que el y tiene que esperar que se desocupe ese proceso.
Los principales objetivos de la planificación de los procesos son los siguientes:
1. Equidad, todos los procesos deben poder ejecutarse
2. Eficacia, mantener ocupada la cpu un 100% del tiempo
3. Tiempo de respuesta, minimizar el tiempo de respuesta al usuario
4. Tiempo de regreso, minimizar el tiempo que deben esperar los usuarios por lotes para obtener sus resultados
5. Rendimiento, maximizar el número de tareas procesadas por hora.




¿Que son los procesos ligeros?
Los procesos ligeros son programas en ejecución que básicamente son procesos pero a diferencia de éstos últimos que solo tienen un hilo de ejecución los primeros tienen el hilo principal más hilos secundarios o hijos, en éste caso todos los procesos hijos comparten la información del hilo principal pero además puede cada hilo tener su información privada. Dentro de esta información privada podemos encontrar:

1) Contador de programa
2) Pila
3) Registros.
4) Estado del proceso ligero.
5) Variables globales.
6) Archivos abiertos
7) Señales
8) Semáforos.
9) Contabilidad.

1 comentario:

  1. Aron Gutiérrez, Jonathan Marigual y Francisco Rosas dijo...

    En otro blog se hablaba de un tipo muy interesante de proceso, el "demonio", el cual presenta una nula interacción con el usuario, se ejecutan en segundo plano y no se puede cerrar ni "matar" ya que se reinician. Bueno, son llamados así en GNU/Linux, en MS Windows hay un tipo de proceso similar, el "servicio". En ambos tipos, el único control que se tiene sobre ellos, es decidir si se ejecutan o no en la siguiente sesión. Otra cosa que es muy interesante también, es que los procesos son creados a través de otros (método fork), y regulados a través de otros mediante señales.

    Hay otros tipos de procesos, como los apropiativos (No permiten compartir los recursos que están usando) y los no apropiativos (si comparten los recursos que están utilizando).
    30 de septiembre de 2010 19:16

    ResponderEliminar