Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
UNIVERSIDAD DE GUADALAJARA Centro Universitario de Ciencias Exactas e Ingenierías Departamento de Ciencias Computacionales Uso, Adaptación y Explotación de Sistemas Operativos Actividad de Aprendizaje 4 “Procesos” Profesor: Sección: Fecha: Becerra Velázquez, Violeta del Roció D02 10/09/2021 Alumno: Código: Carrera: Sandoval Padilla Fernando Cesar 215685409 Ingeniería informática Procesos 2 Índice Tabla de Imágenes .......................................................................................... 2 Introducción .................................................................................................... 3 Creación de Procesos. ................................................................................... 3 Formas de creación de procesos .................................................................. 3 Terminación de Procesos. ............................................................................. 3 Formas de terminación de procesos ............................................................. 4 Estados de un proceso. ................................................................................. 4 Estados activos. ............................................................................................ 4 Estados inactivos. ......................................................................................... 4 Transiciones válidas. ..................................................................................... 5 Diagrama de 5 estados ................................................................................. 6 Algoritmos de Planificación ........................................................................... 6 Definición y objetivo. ..................................................................................... 6 Niveles de planificación de procesos. ........................................................... 6 Políticas de planificación apropiativas. .......................................................... 7 Políticas de planificación no apropiativas. ..................................................... 7 Tabla de algoritmos. ...................................................................................... 8 Elementos de la tabla de procesos. (BCP) ................................................. 11 Conclusión .................................................................................................... 12 Bibliografía .................................................................................................... 13 Tabla de Imágenes Ilustración 1 Diagrama completo, con los estados de un proceso .................... 6 Ilustración 2 Tipos de planificación ................................................................... 7 Uso, Adaptación y Explotación de Sistemas Operativos Fernando Cesar Sandoval Padilla Introducción En el presente documento analizaremos los procesos y todo lo que implica la realización o ejecución de un proceso en general, es decir, hablaremos sobre las formas en que podemos iniciar un proceso y las formas en que podemos terminarlo, así como sus estados, ya sean activos o inactivos y las transiciones validas entre los estados de estos procesos. Por otra parte, analizaremos algunos de los algoritmos de planificación de procesos, de tal forma en que lograremos comprender el porqué de las políticas de algunos algoritmos, sus características, ventajas y desventajas. Finalmente analizaremos los elementos presentes en la tabla de procesos y comprenderemos la importancia de estos elementos para el buen funcionamiento del sistema operativo en cuestión. Creación de Procesos. Los sistemas operativos necesitan cierta manera de crear procesos. En sistemas muy simples o sistemas diseñados para ejecutar sólo una aplicación (por ejemplo, el controlador en un horno de microondas), es posible tener presentes todos los procesos que se vayan a requerir cuando el sistema inicie. No obstante, en los sistemas de propósito general se necesita cierta forma de crear y terminar procesos según sea necesario durante la operación. Formas de creación de procesos 1. El arranque del sistema. 2. La ejecución, desde un proceso, de una llamada al sistema para creación de procesos. 3. Una petición de usuario para crear un proceso. 4. El inicio de un trabajo por lotes. Generalmente, cuando se arranca un sistema operativo se crean varios procesos. • Algunos de ellos son procesos en primer plano; es decir, procesos que interactúan con los usuarios (humanos) y realizan trabajo para ellos. • Otros son procesos en segundo plano, que no están asociados con usuarios específicos sino con una función específica. • Además de los procesos que se crean al arranque, posteriormente se pueden crear otros. Terminación de Procesos. Una vez que se crea un proceso, empieza a ejecutarse y realiza el trabajo al que está destinado. Sin embargo, nada dura para siempre, ni siquiera los procesos. Procesos 4 Formas de terminación de procesos 1. Salida normal (voluntaria). 2. Salida por error (voluntaria). 3. Error fatal (involuntaria). 4. Eliminado por otro proceso (involuntaria). La mayoría de los procesos terminan debido a que han concluido su trabajo. Por ejemplo: • Cuando un compilador ha compilado el programa que recibe, ejecuta una llamada al sistema para indicar al sistema operativo que ha terminado. Estados de un proceso. Los estados de los procesos se pueden dividir en dos tipos: activos e inactivos. Estados activos. Son aquellos que compiten con el procesador o están en condiciones de hacerlo. Se dividen en: • Ejecución Estado en el que se encuentra un proceso cuando tiene el control del procesador. En un sistema monoprocesador este estado sólo lo puede tener un proceso. • Preparado Aquellos procesos que están dispuestos para ser ejecutados, pero no están en ejecución por alguna causa (Interrupción, haber entrado en cola estando otro proceso en ejecución, etc.). • Bloqueado Son los procesos que no pueden ejecutarse de momento por necesitar algún recurso no disponible (generalmente recursos de entrada/salida). Estados inactivos. Son aquellos que no pueden competir por el procesador, pero que pueden volver a hacerlo por medio de ciertas operaciones. En estos estados se mantiene el bloque de control de proceso aparcado hasta que vuelva a ser activado. Se trata de procesos que no han terminado su trabajo que lo han impedido y que pueden volver a activarse desde el punto en que se quedaron sin que tengan que volver a ejecutarse desde el principio. Son de dos tipos: • Suspendido bloqueado Uso, Adaptación y Explotación de Sistemas Operativos Fernando Cesar Sandoval Padilla Es el proceso que fue suspendido en espera de un evento, sin que hayan desaparecido las causas de su bloqueo. • Suspendido programado Es el proceso que han sido suspendido, pero no tiene causa parta estar bloqueado. Transiciones válidas. Un proceso puede encontrarse en estado de ejecución, bloqueado o listo (que también se llama ejecutable). De estos estados de los procesos se derivan las siguientes transiciones y estados: Transición: El paso de un estado a otro. 1. El proceso se bloquea en la entrada. 2. El planificador elige otro proceso. 3. El planificador elige este proceso. 4. La entrada se vuelve disponible. Estados: 1. Ejecución (que en realidad hace uso del CPU en ese instante). 2. Bloqueado (incapaz de correr hasta que suceda algún evento externo. 3. Listo (ejecutable; se detiene temporalmente para permitir que se ejecute otro proceso). En estos tres estados son posibles cuatro transiciones: 1.Ocurre cuando un proceso descubre que no puede continuar. En algún sistema el proceso debe ejecutar una llamada alsistema, BLOCK, para entrar en estado bloqueado. 2 y 3. Son ocasionadas por el planificador del proceso, que es parte del sistema operativo sin que el proceso llegue a saber de ella. 2. 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. 3. Ocurre cuando todos los procesos han utilizado su parte del tiempo y es hora de que el primer proceso vuelva a correr. 4. Ocurre cuando aparece el evento externo que estaba esperando un proceso (como el arribo de alguna entrada). 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 6 Diagrama de 5 estados Ilustración 1 Diagrama completo, con los estados de un proceso Algoritmos de Planificación Definición y objetivo. El planificador es el módulo del sistema operativo que realiza la función de seleccionar el proceso en estado de listo que pasa a estado de ejecución, mientras que el activador es el módulo que pone en ejecución el proceso planificado. • El objetivo de la planificación de procesos y procesos ligeros es el reparto del tiempo de procesador entre los procesos que pueden ejecutar. • Los sistemas pueden incluir varios niveles de planificación de procesos. Niveles de planificación de procesos. • Planificación a largo plazo Tiene por objetivo añadir nuevos procesos al sistema, tomándolos de la lista de espera. Estos procesos son procesos de tipo batch, en los que no importa el instante preciso en el que se ejecuten (siempre que se cumplan ciertos límites de espera). • Planificación a medio plazo Trata la suspensión de procesos. Es la que decide qué procesos pasan a suspendido y cuáles dejan de estar suspendidos. Añade o elimina procesos de memoria principal modificando, por tanto, el grado de multiprogramación. Uso, Adaptación y Explotación de Sistemas Operativos Fernando Cesar Sandoval Padilla • Planificación a corto plazo Se encarga de seleccionar el proceso en estado de listo que pasa a estado de ejecución. Es, por tanto, la que asigna el procesador. Ilustración 2 Tipos de planificación Políticas de planificación apropiativas. Es aquélla en la que, cuando a un proceso le toca su turno de ejecución, ya no puede ser suspendido; es decir, no se le puede arrebatar el uso de la CPU, hasta que el proceso no lo determina no se podrá ejecutar otro proceso. Este esquema tiene sus problemas, puesto que, si el proceso contiene ciclos infinitos, el resto de los procesos pueden quedar aplazados indefinidamente. Otro caso puede ser el de los procesos largos que penalizarían a los cortos si entran en primer lugar. Políticas de planificación no apropiativas. Supone que el sistema operativo puede arrebatar el uso de la CPU a un proceso que esté ejecutándose. En la planificación apropiativa existe un reloj que lanza interrupciones periódicas en las cuales el planificador toma el control y se decide si el mismo proceso seguirá ejecutándose o se le da su turno a otro proceso. Procesos 8 Tabla de algoritmos. Algoritmo Descripción Política Ventajas Desventajas RR (Round- robín) Asigna un intervalo de tiempo llamado cuanto o quantum. (de 10 a 100ms) Apropiativ a Equitativo Fácil de implementa r Normalment e el tiempo de retorno medio es mayor que en SJF, pero el tiempo de respuesta es mejor FCFS (“First Come First Served”) La CPU se asigna a todos los procesos en el mismo orden en que lo solicitan No apropiativ a Optimiza: utilización Muy fácil de implementa r (cola FIFO) No optimiza: el tiempo de espera, retorno, rendimiento. Muy variable en función del orden de llegada y de la duración de Intervalos de CPU. No adecuado para sistemas interactivos SRT (Shortest Remaining Time) Es una versión apropiativa del SJF, en la que el planificador siempre elige al proceso que le queda menos tiempo esperado de ejecución. Apropiativ a Produce unos tiempos de retorno mejores que el SJF, ya que los trabajos cortos reciben atención inmediata y preferente a los No presenta un sesgo favorable a los procesos largos como ocurre con el FCFS y tampoco se generan interrupcione s adicionales como en el Round- Robín, por el contrario se Uso, Adaptación y Explotación de Sistemas Operativos Fernando Cesar Sandoval Padilla procesos largos. deben llevar una cuenta de los tiempos de servicio transcurridos con el fin de que la función estadística estime de la forma más veraz los tiempos de ejecución para cada proceso. SJF (Shortest Job First) El proceso que se encuentra en ejecución cambiará de estado voluntariament e, o sea, no tendrá un tiempo de ejecución determinado para el proceso. No apropiativ a Asocia a cada proceso un tiempo aproximado de utilización de CPU Asigna la CPU al proceso con menor tiempo asociado Cuando un proceso consigue la CPU la conserva hasta que Decide liberarla (no existe expulsión) Estimación del tiempo de utilización de CPU por parte de un proceso (a veces se modela con técnicas estadísticas) Prioridades Asigna la CPU al proceso con Apropiativ a Algoritmos con expulsión o Baja prioridad no se ejecuta Procesos 10 mayor prioridad. sin expulsión Prioridades estáticas o dinámicas Estáticas: se asigna antes de la ejecución y no cambia. Dinámicas: cambia con el tiempo nunca (poco equitativo). Colas múltiples MQS (Multilevel Queue Schedulling) En este algoritmo la cola de procesos que se encuentran en estado de listos es dividida en un número determinado de colas más pequeñas. Apropiativ a Cada cola puede manejar un algoritmo de planificació n diferente a las demás. Procesos limitados por procesador irán a colas de menor prioridad (nivel alto). Procesos muy interactivos irán en colas de alta prioridad (nivel bajo). SRTF (Shortest Remaining Time First) Da prioridad al proceso que le resta menos tiempo de CPU para terminar (variante del SJF con expulsión). Apropiativ a Optimiza la media del tiempo de espera y rendimiento Intervalo de CPU difícil de predecir. Los trabajos largos no se ejecutarán mediante haya trabajos cortos. Colas múltiples con retroalimentació n (Feedback Multiple Queues - FB) Divide los procesos en varias colas numeradas siendo la de numeración Apropiativ a Soporta bien la sobrecarga. Adaptable a las necesidade Procesos limitados por procesador irán a colas de menor Uso, Adaptación y Explotación de Sistemas Operativos Fernando Cesar Sandoval Padilla más baja la de mayor prioridad. s del sistema. Algoritmo más general. prioridad (nivel alto). Procesos muy interactivos irán en colas de alta prioridad (nivel bajo). Elementos de la tabla de procesos. (BCP) El bloque de control del proceso (BCP) es un registro especial donde el sistema operativo agrupa toda la información que necesita conocer respecto a un proceso particular. El bloque de control de proceso es una estructura de datos con campos para registrar los diferentes aspectos de la ejecución del proceso y de la utilización de recursos. • Cada vez que se crea un proceso el sistema operativo crea el BCP correspondiente para que sirva como descripción en tiempo de ejecución durante toda la vida del proceso. • Cuando el proceso termina, su BCP es borrado y el registro puede ser utilizado para otros procesos. • Un proceso resulta conocido para el sistema operativo y por tanto elegible para competir por los recursos del sistema sólo cuando existe un BCP activoasociado a él. La información almacenada en un BCP incluye típicamente algunos o todos los campos siguientes: • Identificador de proceso. • Estado del proceso. Por ej: listo, en espera, bloqueado. • Contador de programa: dirección de la próxima instrucción a ejecutar. • Valores de registro de CPU. Se utilizan también en el cambio de contexto. • Espacio de direcciones de memoria. • Prioridad en caso de utilizarse dicho algoritmo para planificación de CPU. • Lista de recursos asignados (incluyendo descriptores de archivos y sockets abiertos). • Estadísticas del proceso. • Datos del propietario (owner). • Permisos asignados. • Señales (Signals) pendientes de ser servidas. (Almacenados en un mapa de bits). Procesos 12 Conclusión Considero la realización de esta actividad como exitosa, ya que me ayudo a comprender mejor todo lo que sucede durante la ejecución de un proceso y su importancia con respecto al funcionamiento del sistema operativo, así como la importancia de todos los algoritmos de planificación que analice, puesto que sin la existencia de estos algoritmos, estoy seguro que los procesos no tendrían un ejecución adecuada o tendríamos que manipularlos de tal forma en la que pudiéramos parar o iniciar otro proceso de acuerdo con nuestras necesidades y claramente esto no seria lo mejor, pues podríamos ocasionar que el sistema fallara al finalizar procesos de vital importancia o incluso podría resultar como una acción imposible, debido a la gran cantidad de procesos que se ejecutan durante el funcionamiento de un sistema operativo, es gracias a esto que comprendí la importancia de la existencia de estos algoritmos de planificación de procesos, pues gracias a ellos, nuestros sistemas operativos pueden funcionar con normalidad y evitar gran cantidad de conflictos que puedan llegar a su mal funcionamiento. Además, me di cuenta de que todos los elementos presentes en la tabla de procesos (BCP) son de vital importancia para el funcionamiento de los algoritmos debido a que estos elementos almacenan información de suma importancia y relación a los recursos que utilizan los procesos durante su ejecución. Finalmente puedo decir que la realización de esta actividad me dejo un conocimiento extra respecto a lo visto en clase, y estoy seguro de que su realización me servirá para actividades futuras. Uso, Adaptación y Explotación de Sistemas Operativos Fernando Cesar Sandoval Padilla Bibliografía • Pérez, C. J. (2001). Sistemas Operativos - Una Visión Aplicada. MC Graw Hill. • Tanenbaum, A. S. (2007). Modern Operating Systems (3.a ed.). Prentice Hall. • 2.2 Estados y transiciones de los procesos - Materia SisOperativos. (s. f.). SitesGoogle. Recuperado 10 de septiembre de 2021, de https://sites.google.com/site/materiasisoperativo/unidad-2- administrador-del-proceso-y-del-procesador/2-2-estados-y-transiciones- de-los-procesos • 3.2.- Planificación apropiativa y no apropiativa. | SI02.- Software de un sistema informático. (s. f.). BIRTLH. Recuperado 10 de septiembre de 2021, de https://ikastaroak.birt.eus/edu/argitalpen/backupa/20200331/1920k/es/D AMDAW/SI/SI02/es_DAMDAW_SI02_Contenidos/website_32_planifica cin_apropiativa_y_no_apropiativa.html • Políticas de planificación de procesos. Ventajas y desventajas. (2017, 15 junio). GESTIÓN DE PROCESOS INFORMÁTICOS. http://gestion- de-procesos-informaticos.blogspot.com/2017/06/politicas-de- planificacion-de-procesos.html • Rozalén, J. (2016, 19 diciembre). Algoritmos de planificación de procesos. Javier Sanz Rozalén. https://javiersanzrozalen.wordpress.com/2016/09/21/algoritmos-de- planificacion-de-procesos/ • U. (2013, 11 abril). Algoritmos (cuadro comparativo). Sistemas Operativos. http://soregm.blogspot.com/2013/04/algoritmos-cuadro- comparativo.html
Compartir