Ensayo- Administración de Procesos y del Procesador PDF

Title Ensayo- Administración de Procesos y del Procesador
Author Yamilet Ortiz
Course Sistemas Operativos
Institution Instituto Tecnológico de Piedras Negras
Pages 7
File Size 152.2 KB
File Type PDF
Total Downloads 77
Total Views 140

Summary

. Entendemos como proceso un programa en ejecución, incluyendo el valor actual del program counter, registros y variables. Varios procesos pueden estar ejecutando el mismo programa, es decir, el programa es el mismo pero cada usuario tiene un proceso distinto, es por ello que se necesita de una gest...


Description

UNIDAD II: ADMINISTRACIÓN DE PROCESOS Y DEL PROCESADOR

ENSAYO SISTEMAS OPERATIVOS

MARCELLA YAMILET ORTIZ GUILLÉN ISC LUNES 9 NOVIEMBRE 2020

INTRODUCCIÓN En el ensayo de la primera unidad se estuvo hablando de los sistemas operativos en general, una de las funciones básicas de este era la administración o gestión de los procesos. Entendemos como proceso un programa en ejecución, incluyendo el valor actual del program counter, registros y variables. Varios procesos pueden estar ejecutando el mismo programa, es decir, el programa es el mismo pero cada usuario tiene un proceso distinto, es por ello que se necesita de una gestión para una buena y mejor organización. En este ensayo se tocarán varios subtemas como lo son el concepto de un proceso, sus estados y transiciones, los procesos ligeros, la concurrencia y la secuenciabilidad, los niveles, objetivos y criterios de planificación y las técnicas para la administración del planificador.

CONCEPTO DE PROCESO Un proceso es una tarea, actividad, procedimiento o programa que está en ejecución. Este proceso contiene instrucciones de un programa que estarán destinadas a ser ejecutadas por el microprocesador. 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 (fork). Los nuevos procesos son independientes y no comparten memoria (es decir, información) con el proceso que los ha creado. Además de incluir al programa en ejecución, un proceso incluye a los valores activos del contador, registros y variables del mismo. Cada proceso tiene su propia CPU virtual, pero si esta se alterna entre ellos, la velocidad a la que se ejecutan dichos procesos no será uniforme.

ESTADOS Y TRANSICIONES DE LOS PROCESOS Un proceso pasa por una serie de estados discretos a los cuales les afectan diferentes circunstancias para lograr que estos cambien de estado. Cada proceso es una entidad independiente pero frecuentemente debe interactuar con otros procesos. Los estados que puede tener un proceso son:      

Nuevo: se solicitó al sistema operativo la creación de un proceso, y sus recursos y estructuras están siendo creadas. En ejecución: utiliza la CPU en el instante dado. El proceso está siendo ejecutado en este momento, o sea que sus instrucciones están siendo procesadas en algún procesador. Listo: ejecutable, se detiene en forma temporal para que se ejecute otro proceso. Significa que está listo para comenzar su ejecución, pero el sistema no le ha asignado un procesador. Bloqueado: no se puede ejecutar debido a la ocurrencia de algún evento externo, por lo que está en espera para poder continuar su ejecución. Zombie: el proceso ha finalizado su ejecución, pero el sistema operativo debe realizar ciertas operaciones de limpieza para poder eliminarlo de la lista. Terminado: terminó de ejecutarse y sus estructuras están a la espera de ser limpiadas por el sistema operativo.

Una transición es el paso de un estado a otro, y en estos estados son posibles cuatro transiciones: 

El proceso se bloquea en estado de dato o en entrada: este ocurre cuando un proceso descubre que no puede continuar. El proceso debe ejecutar una llamada al sistema para entrar en estado bloqueado.



 

El planificador elige otro proceso: ocurre cuando el planificador decide que el proceso en ejecución ya ha corrido el tiempo suficiente y es tiempo de permitir que otro proceso tome tiempo de CPU. Además, es ocasionado por el planificador del proceso, que es parte del sistema operativo sin que el proceso llegue a saber de ella. El planificador elige este proceso: ocurre cuando todos los procesos han utilizado su parte del tiempo y es hora de que el primer proceso vuelva a correr, y, al igual que la anterior, es ocasionado por el planificador del proceso. Los datos están disponibles: ocurre cuando aparece el evento externo que estaba esperando un proceso. Si ningún otro proceso corre en ese instante, la transición 3 se activará de inmediato y el proceso iniciará su ejecución, de lo contrario tendrá que esperar, en estado listo.

PROCESOS LIGEROS: HILOS O HEBRAS Un proceso ligero es un programa en ejecución que comparte la imagen de la memoria y otras informaciones con otros procesos ligeros. Son una unidad básica de utilización de la CPU que consiste en un juego de registros y un espacio de pila. Estos pueden estar en tres estados: ejecutando, listo o bloqueado. Algunas de las características de estos procesos son las siguientes:       

Se comparten recursos. La compartición de la memoria permite a las hebras pares comunicarse sin usar ningún mecanismo de comunicación inter-proceso del SO. La conmutación de contexto es más rápida gracias al extenso compartir de recursos No hay protección entre las hebras. Una hebra puede escribir en la pila de otra hebra del mismo proceso La sobrecarga debida a su creación y comunicación es menor que en los procesos pesados Cada hilo pertenece a un proceso pesado Todos los hilos comparten su espacio de direccionamiento Cada hilo dispone de su propia política de planificación, pila y contador de programa.

Un hilo de ejecución o hebra o es la unidad de procesamiento más pequeña que puede ser planificada por un sistema operativo. Al crearse un hilo permite a una aplicación ejecutar varias tareas a la vez, o sea, de manera concurrente. Cuando un hilo modifica un dato en la memoria, los otros hilos acceden a ese dato modificado inmediatamente, lo que quiere decir que comparte los mismos recursos, es por esto que en conjunto se les denomina como un proceso. Lo que diferencia a los hilos de los procesos tradicionales es que estos generalmente comparten otros recursos de forma directa y es más rápido cambiar de hilo a otro dentro de un mismo proceso que cambiar de un proceso a otro, debido a que los hilos comparten datos y espacios de direcciones; mientras que, en los procesos, al ser independientes, no lo hacen. Los hilos poseen un estado de ejecución y pueden sincronizarse entre ellos para evitar problemas de compartimiento de recursos. Por lo general cada hilo tiene una tarea específica y determinada, como forma de aumentar la eficiencia del uso del procesador. Sus principales estados son ejecución, listo y bloqueado. Sin embargo, también tienen cambios: 

  

Creación: Cuando se crea un proceso se crea un hilo para ese proceso. Luego, este hilo puede crear otros hilos dentro del mismo proceso, proporcionando un puntero de instrucción y los argumentos del nuevo hilo. De esta manera, el hilo tendrá su propio contexto y espacio de la columna. Bloqueo: Cuando un hilo necesita esperar por un suceso, se bloquea, y cuando esto suceda el procesador podrá pasar a ejecutar otro hilo que esté al final mientras el anterior permanece bloqueado. Desbloqueo: Cuando el suceso por el que el hilo se bloqueó se produce, el mismo pasa al final. Terminación: Cuando un hilo finaliza se liberan tanto su contexto como sus columnas.

CONCURRENCIA Y SECUENCIABILIDAD Para dar introducción a este subtema definiremos cada uno de los dos conceptos.

La concurrencia es una propiedad de los sistemas en la cual los procesos de un cómputo se hacen simultáneamente, y pueden interactuar entre ellos, es decir, es la ejecución de varias tareas al mismo tiempo. A la secuenciabilidad también se le puede llamar sincronización, y esto significa provocar que 2 o más procesos trabajen secuencialmente de una forma que, cuando se necesite que se realicen 2 o más tareas en un orden específico, no interfieran una con la otra y altere su funcionamiento.

Los procesos concurrentes pueden funcionar de forma independiente unos de otros o puede ser que en ocasiones requieran cierta sincronización. La concurrencia puede presentarse en tres contextos diferentes, los cuales se definirán a continuación. 





Varias aplicaciones: para este caso se inventó la multiprogramación para permitir que el tiempo de procesador de la máquina fuese compartido entre varias aplicaciones activas, o sea, que la ejecución de un programa es independiente de otro. Aplicaciones estructuradas: esto se refiere a que algunas aplicaciones pueden implementarse de manera eficaz como un conjunto de procesos concurrentes, es decir, que hay programas que necesitan ejecutar varias tareas a la vez para poder funcionar. Estructura del sistema operativo: sabemos que un sistema operativo es un conjunto de programas que se ejecutan de manera concurrente para ofrecerte una buena calidad de experiencia de trabajo, es por esto que la concurrencia entra en este contexto.

Existen dos tipos de procesos concurrentes, y se pueden clasificar como:  

Proceso independiente: Es aquel proceso que se ejecuta o trabaja por sí solo, sin requerir la ayuda o cooperación de otros procesos. Procesos cooperantes: Son aquellos que están diseñados para trabajar conjuntamente en alguna actividad, por lo que deben ser capaces de comunicarse e interactuar entre ellos.

La sincronización entre procesos es necesaria para prevenir y/o corregir errores de sincronización debidos al acceso concurrente a recursos compartidos. Sin una sincronización adecuada entre procesos, la actualización de variables compartidas puede inducir a errores de tiempo relacionados con la concurrencia que algunas veces son difíciles de depurar. Para que los procesos puedan sincronizarse es necesario contar con servicios que permitan bloquear o suspender la ejecución de un proceso en caso de que se requiera. Los principales mecanismos de sincronización que ofrecen los sistemas operativos son:     

Señales Tuberías Semáforos Mutex y variables condicionales Paso de mensajes

NIVELES, OBJETIVOS Y CRITERIOS DE PLANIFICACIÓN

Cuando más de un proceso es ejecutable, el sistema operativo debe decidir cuál de ellos debe ejecutarse en primer término. Aquí es donde entra el planificador, que es la porción del sistema operativo que decide, y el algoritmo de planificación, que es el utilizado. Se consideran tres niveles de la planificación que se describirán a continuación: 





Planificación de alto nivel: también denominado planificación de trabajos. Este determina a qué trabajos se les va a permitir competir activamente por los recursos del sistema, lo cual se le denomina planificación de admisión. Planificación de nivel intermedio: este determina a qué procesos se les puede permitir competir por la CPU, ayuda a alcanzar ciertas metas en el rendimiento total del sistema, responde a fluctuaciones a corto plazo en la carga del sistema y efectúa suspensiones y reanudaciones de procesos. Planificación de bajo nivel: determina a qué proceso listo se le asigna la CPU cuando esta queda disponible y asigna la CPU al mismo.

Los objetivos que tiene la planificación son los siguientes:            

Ser justa: significa que todos los procesos son tratados de igual manera y ningún proceso es postergado indefinidamente. Maximizar el número de procesos servidos por unidad de tiempo, p sea, maximizar la capacidad de ejecución. Maximizar el número de usuarios interactivos que reciban unos tiempos de respuesta aceptables. Ser predecible: quiere decir que un trabajo dado debe ejecutarse aproximadamente en la misma cantidad de tiempo independientemente de la carga del sistema. Minimizar la sobrecarga. Equilibrar el uso de recursos, lo que favorecerá a los procesos que utilizarán recursos infrautilizados. Equilibrar respuesta y utilización: la mejor manera de garantizar buenos tiempos de respuesta es disponer de los recursos suficientes cuando se necesitan. Evitar la postergación indefinida: mientras un proceso espera por un recurso, su prioridad debe aumentar, así la prioridad llegará a ser tan alta que el proceso recibirá el recurso esperado. Asegurar la prioridad. Dar preferencia a los procesos que mantienen recursos claves: un proceso de baja prioridad podría mantener un recurso clave que puede ser requerido por un proceso de más alta prioridad. Dar mejor tratamiento a los procesos que muestren un comportamiento deseable. Degradarse suavemente con cargas pesadas: esto quiere decir que un mecanismo de planificación no debe colapsar con una carga exigente del sistema, y para evitar esto no se permite que se creen nuevos procesos cuando la carga ya es pesada y se le da servicio a la carga más pesada al proporcionar un nivel moderadamente reducido de servicio a todos los procesos.

Los principales criterios de planificación son la equidad, la eficacia, el tiempo de respuesta, el tiempo de regreso y el rendimiento.     

Equidad: garantiza que cada proceso obtiene su proporción justa de la CPU. Eficacia: significa mantener ocupada la CPU el 100 % del tiempo. Tiempo de respuesta: minimizar el tiempo de respuesta para los usuarios interactivos. Tiempo de regreso: minimizar el tiempo que deben esperar los usuarios por lotes (batch) para obtener sus resultados. Rendimiento: maximizar el número de tareas procesadas por hora.

TÉCNICAS DE ADMINISTRACIÓN DEL PLANIFICADOR Planificación a plazo fijo

En esta técnica se planifican ciertos trabajos para ser terminados en un periodo específico. Si se entregan a tiempo tienen un alto valor; por el contrario, carece de valor si se entregan después del límite. Esta planificación es compleja debido a varias razones, que se mencionan a continuación.    

Los usuarios deben proporcionar de forma precisa y por adelantado las necesidades de recursos de su trabajo, y esta información rara vez está disponible. El sistema debe ejecutar el programa sin una degradación de servicio para los otros usuarios. El sistema debe planificar cuidadosamente las necesidades de recursos para permitir un libre tránsito del plazo fijo, lo cual puede llegar a ser difícil por la llegada de nuevos programas con demandas impredecibles. Se puede generar una sobrecarga sustancial por el manejo intenso de recursos requeridos por la planificación.

Planificación FIFO Los procedimientos son atendidos de acuerdo con el orden de llegada. FIFO, por sus siglas en inglés, quiere decir First In, First Out, o sea, primero en entrar es el primero en salir. Una vez que un proceso tenga la CPU, se ejecuta hasta su terminación. Esta planificación es un poco injusta, debido a que los grandes procesos hacen esperar a trabajos pequeños, y los trabajos sin importancia hacen esperar a los trabajos importantes. Además, no se pueden garantizar buenos tiempos de espera.

Planificación por Prioridad al más corto (SJF, Short Job First) El proceso con tiempo estimado de ejecución hasta terminación más corto es el siguiente en ser ejecutado. Esta planificación reduce el tiempo de espera de los procesos, no obstante, tiene una varianza mayor que en FIFO, pues favorece a los procesos cortos a costa de los procesos largos, debido a que su tiempo de espera promedio es menor. Además, se requiere un conocimiento preciso del tiempo de ejecución de un proceso, lo que por lo general se desconoce.

Planificación por Prioridad al Tiempo Restante más Corto (SRTF, Short Remaining Time First) A diferencia del anterior, este sí es útil en sistemas de tiempo compartido, los trabajos largos tienen un promedio y una varianza de los tiempos de espera aún mayor, pero tiene mayor sobrecarga. Consiste en que el proceso con tiempo estimado de ejecución menor para analizar es el siguiente en ser ejecutado.

Planificación el Siguiente con Relación de Respuesta Máxima (HRN) Esta planificación corrige el exceso de perjuicio hacia los procesos largos y el exceso de favoritismo hacia los nuevos trabajos cortos que tiene el SJF como debilidad. Para darle prioridad a cada proceso influye el tiempo de servicio del trabajo y la cantidad de tiempo que el trabajo ha estado esperando ser atendido o servido. Cuando un proceso ha obtenido la CPU, entonces este corre hasta terminar.

Planificación del tiempo restante más corto primero (SRT) El proceso con el tiempo estimado de ejecución menor para llegar a su terminación es el siguiente en ser ejecutado, incluyendo las nuevas llegadas. Un proceso en ejecución puede ser apropiado por un nuevo proceso con un tiempo estimado de ejecución menor. Además, testa planificación tiene una sobrecarga mayor que la SJF, por lo que debe

mantener un registro del tiempo de servicio transcurrido del trabajo en ejecución y controlar las apropiaciones ocasionales.

Planificación el siguiente con relación de respuesta máxima (HRT) Esta corrige algunas debilidades de SJF como lo son el favoritismo por los tamaños pequeños, dándole prioridad a los trabajos que estén en función del tiempo de servicio del trabajo y del tiempo en que un proceso ha estado esperando ser servido. Cuando el trabajo obtiene la CPU, este se ejecuta hasta su terminación. Fue desarrollada por Brinch Hansen en 1971.

Planificación Round Robin (RR) Los procesos se despachan en FIFO, pero se les otorga una cantidad limitada de tiempo de CPU que se llama división de tiempo o cuanto. Si un proceso no termina antes de que se termine su tiempo de CPU, este será apropiado y asignado al siguiente proceso en espera y se colocará al final de la lista.

CONCLUSIÓN Podemos concluir, entonces, que la administración de procesos se utiliza para proporcionar información sobre estos y sobre los programas que se están activos en la computadora. Su importancia radica en que los resultados se alcanzan con más eficiencia cuando las actividades y los recursos relacionados se gestionan como un proceso. Por eso es importante conocer los tipos que existen, como lo son los tradicionales y los ligeros que ya se mencionaron y describieron a grandes rasgos anteriormente, además de conocer los estados en los que se pueden encontrar y las transiciones a las que pueden pasar. También es importante conocer la planificación de dichos procesos, pues así sabemos cuál es más conveniente para cada uno de ellos y cómo funciona su ejecución.

BIBLIOGRAFÍA https://sites.google.com/site/materiasisoperativo/unidad-2-administrador-del-proceso-y-del-procesador/2-1-concepto-de-proceso https://www.monografias.com/trabajos40/sistema-operativo-proceso/sistema-operativo-proceso.shtml https://studentplace98.blogspot.com/2018/09/concurrencia-y-secuencialidad-sistemas.html https://sisteoper.wordpress.com/concurrencia-secuenciabilidad/ https://sites.google.com/site/materiasisoperativo/unidad-2-administrador-del-proceso-y-del-procesador/2-3-procesos-ligeros-hiloso-hebras https://jrgsso4a.wordpress.com/2016/04/05/2-6-tecnicas-de-administracion-del-planificador/

Título del libro: Sistemas Operativos Autor: Magister David Luis la Red Martínez Dpto. de informática. Universidad Nacional del Nordeste U.N.N.E.- Argentina...


Similar Free PDFs