sábado, 2 de junio de 2018

 Administración de Procesos y del procesador

1.- Concepto de proceso
Un proceso es un concepto manejado por el sistema operativo que consiste en el conjunto formado por: Las instrucciones de un programa destinadas a ser ejecutadas por el microprocesador. Su estado de ejecución en un momento dado, esto es, los valores de los registros de la CPU para dicho programa. Su memoria de trabajo, es decir, la memoria que ha reservado y sus contenidos.
Otra información que permite al sistema operativo su planificación. Esta definición varía ligeramente en el caso de sistemas operativos multadillo, donde un proceso consta de uno o más hilos, la memoria de trabajo (compartida por todos los hilos) y la información de planificación. Cada hilo consta de instrucciones y estado de ejecución.
Los procesos son creados y destruidos por el sistema operativo, así como también este se debe hacer cargo de la comunicación entre procesos, pero lo hace a petición de otros procesos. El mecanismo por el cual un proceso crea otro proceso se denomina bifurcación (folk). Los nuevos procesos pueden ser independientes y no compartir el espacio de memoria con el proceso que los ha creado o ser creados en el mismo espacio de memoria.


2.- Estados y transiciones de los procesos 
Para que un programa pueda ser ejecutado, el sistema operativo crea un nuevo proceso, y el procesador ejecuta una tras otra las instrucciones del mismo. Cuando un proceso se bloquea, lo que hace porque le es imposible continuar lógicamente, casi siempre porque está separando entradas que todavía no están disponibles, también puede ser que un programa que conceptualmente está listo y en condiciones de ejecutarse sea detenido porque el sistema operativo ha decidido asignar la CPU a otro proceso durante un tiempo. Estas dos condiciones son totalmente distintas, en el primer caso, la suspensión es inherente al problema (no es posible procesar la línea de comandos del usuarios antes de que este la teclee). En el segundo caso, se trata de un tecnicismo del sistema (no hay suficiente: CPU para darle a cada proceso su propio procesador privado).
1.- Ejecutándose (usando realmente la CPU en este instante).
2.- Listo (se puede ejecutar, pero se suspendió temporalmente para dejar que otro proceso se ejecute).
3.- Bloqueo (no puede ejecutarse en tanto no ocurra algún evento externo).
 Puede haber cuánto transiciones entre estos tres estados, como se muestra.
La transacción 1 ocurre cuando un proceso descubre que no puede continuar. En algunos sistemas el proceso debe ejecutar una llamada al sistema, block, para pasar al estado bloqueado. En otros sistemas, incluido MINIX, cuando un proceso lee de un conducto o de un archivo especial, (p.ej., una terminal) y no hay entradas disponibles, se bloquea automáticamente.
Las transiciones 2 y 3 son causadas por el planificador de procesos, un parte del sistema operativo, sin que el proceso se entere siquiera de ellas.
La transición 2 ocurre cuando el planificador decide que el proceso en ejecución ya se ejecutó durante suficiente tiempo y es ahora de dejar que otros procesos tengan algo de tiempo de CPU.
La transacción 3 ocurre cuando todos los demás procesos han disfrutado de una porción justa y es hora de que el primer proceso reciba otra vez la CPU para ejecutarse.
 La transacción 4 ocurre cuando acontece el suceso externo que un proceso estaba esperando (como la llegada de entrada). Sin ningún otro proceso se está ejecutando en ese instante, se dispara de inmediato la transacción 3 y el proceso comienza a ejecutarse.
En caso contrario, el proceso tal vez tenga que esperar en el estado listo durante cierto tiempo hasta que la CPU esté disponible. Usando el modelo de procesos, es mucho más fácil visualizar lo que está sucediendo dentro del sistema. 



3.- Procesos ligeros: Hilos o hebras
En la mayoría de los sistemas operativos, estas dos características son, de hecho, la esencia de un proceso. Sin embargo, son independientes, y pueden ser tratadas como tales por el sistema operativo. Esta distinción ha conducido en los sistemas operativos actuales a desarrollar la construcción conocida como thread, cuyas traducciones más frecuentes son hilo, hebra y proceso ligero. Si se tiene esta división de características, la unidad de asignación de la CPU se conoce como hilo, mientras que a la unidad que posee recursos se le llama proceso.
Dentro de un proceso puede haber uno o más hilos de control cada uno con: · Un estado de ejecución (en ejecución, listo, bloqueado).
· Un contexto de procesador, que se salva cuando no esté ejecutándose.
· Una pila de ejecución.
· Algún almacenamiento estático para variables locales.
· Acceso a la memoria y a los recursos de ese trabajo que comparte con los otros hilos. 


4.- Concurrencia y secuenciabilidad
La concurrencia por lo que se entiende es cuando comprende un mayor número de cuestiones de diseño que incluye la comunicación de diferentes procesos, al igual que la comparación y competencia por los recursos. Cada proceso es concurrente si existen simultáneamente pero cuando dos o más procesos llegan al mismo tiempo para ejecutarse se le conoce como "concurrencia de procesos" pero para que se pueda dar este caso es necesario que siempre tengan alguna relación entre ellos mismos, hay tres tipos de contextos en la concurrencia que son: varias aplicaciones, aplicaciones estructuradas y estructura del sistema operativo, cada uno tiene diferentes tipos de actividades. Y pues la concurrencia al parecer es el número de procesos sea mayor que el número de procesadores. La conciencia será real cuando haya un proceso por procesador. Aún que puede parecer que la ingercalacion y la superposición de la ejecución de procesos presentan formar de ejecución de distinta forma, se puede ver que ambas puede verse como ejemplos de procesos concurrentes.



5.- Niveles, objetivos u criterios de planificación
Antes de las nuevas innovaciones en las tecnologías en los sistemas de procesamiento por lotes era una entrada de forma de imágenes de tarjetas en una cinta magnética, el algoritmo de planificación era muy sencillo ya que solo había que ejecutar el siguiente trabajo en la cinta, el algoritmo era más complejo, en la forma variable existían varios usuarios en espera. Incluso en los sistemas que habían de puro tiempo compartido existen con frecuencia los trabajos colaterales, como el sistema de correo electrónico , que a menudo se ejecuta todo el tiempo para enviar o recibir correos o algunas noticias. La planificación es una función primordial del sistema operativo, la mayoría de los recursos, si no es que todos, planifican antes de que se utilicen.

6.-Tecnicas de administración del planificador 
Algunas de las disciplinas de planificación son:
Expropiativas y no expropiativas.
Se denomina planificador al software del sistema operativo encargado de asignar los recursos de un sistema entre los procesos que los solicitan. El planificar debe decidir cuál de los proceso que compiten por la posesión de un determinado recursos lo recibirá.
Los algoritmos tienen diferentes propiedades según los criterios en los que se basen para construcción, lo cual se ve reflejado en qué tipo de procesos se pueden ver favorecido frente a otro en el procesador, pero antes de realizar la elección de un algoritmo se debe considerar las propiedades de estos ante al criterio de diseño elegido, algunos podrían ser:
•Eficacia que se expresa como un porcentaje del tiempo medio de utilización
•Rendimiento que es una medida del número de procesos completados por unidad de tiempo
•tiemoo de retorno o regreso que es el intervalo de tiempo que transcurre desde un proceso se crea o presenta hasta la completa por el sistema
•tiempo de espera es el tiempo que el proceso espera hasta que se le concede al processdor
•tiempo de respuesta a un evento se denomina así el intervalo de tiempo que transcurre desde que se señala un evento hasta que se ejecuta la primer instrucción de la rutina de dicho evento




No hay comentarios:

Publicar un comentario