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 Materia: Sistemas Operativos Profesor: Martha del Carmen Gutiérrez Salmerón Alumno: Jose Luis Serna Serna Código: 218292327 Carrera: Ingeniería en Computación Sección: D02 Tarea 6: Diagrama de 5 estados y sus componentes Fecha: 14/10/2020 Índice Introducción. ................................................................................................................................................................................ 2 Reporte. ....................................................................................................................................................................................... 3 Cuestionario .............................................................................................................................................................................. 3 Tabla de interrupciones ............................................................................................................................................................. 7 Conclusión. .................................................................................................................................................................................10 Bibliografía. ................................................................................................................................................................................10 Introducción. Uno de los principales conceptos de un Sistema Operativo son los procesos, cada proceso es un programa en ejecución que contiene ciertos valores e identificadores para realizar la tarea deseada, para la creación de procesos hay cuatro eventos principales, el arranque del sistema, la ejecución desde el proceso, la petición de un usuario para crear un proceso o bien el inicio de un procesamiento por lotes, el Sistema Operativo es el responsable de controlar y organizar la ejecución de dichos procesos, con el fin de que se procesen de manera eficiente, para eso debe asignarle los recursos necesarios para que se ejecuten correctamente de manera organizada, los procesos están principalmente organizados en cinco estados principales que ayudan a la buena organización, dichos estados principales son: nuevo, listo, ejecución, bloqueado y terminado, en esta actividad se intentará conocer más a fondo sobre este tema. Reporte. Objetivo Conocer el diagrama de 5 estados y los elementos que son parte de este diagrama. Actividades para realizar Escucha el podcast publicado y observa funcionamiento del diagrama de 5 estados. Responde lo siguiente: Cuestionario 1. ¿Cuántos estados están en memoria principal? 3 estados, listo, ejecución y bloqueado 2. ¿Cuántos estados están en memoria virtual? 2 estados, bloqueado y suspendido y listo y suspendido 3. ¿Cuántos estados están fuera de memoria? 2 estados, nuevo y terminado 4. ¿Cuáles son las razones para salir del estado de ejecución? Cuando el proceso es terminado por el sistema operativo, cuando ha alcanzado el tiempo máximo de ejecución ininterrumpida permitida, cuando se solicita algo por lo que debe esperar, es decir una interrupción. 5. ¿Cuáles son las razones para estar en los estados suspendidos? Cuando un proceso no está listo para ejecución, cuando está esperando un suceso, cuando es necesario liberar un bloque de memoria principal, cuando el Sistema Operativo sospecha que es el posible causante de un problema, cuando un proceso padre quiera modificar un proceso hijo y para depurar un programa. 6. Menciona al menos 15 transiciones validas • Nuevo –> Listo • Listo –> Ejecución • Ejecución –>Terminado • Ejecución –> Listo • Ejecución –> Bloqueado • Bloqueado –> Listo • Listo –> Terminado • Bloqueado –> Terminado • Bloqueado –> Bloqueado y Suspendido • Bloqueado y suspendido –> Listo y Suspendido • Listo y Suspendido -> Listo • Listo –> Listo y Suspendido • Nuevo –> Listo y Suspendido • Bloqueado y Suspendido –> Bloqueado • Ejecución –> Listo y suspendido 7. Menciona al menos 5 transiciones inválidas • Terminado –> Ejecución • Nuevo –> Terminado • Ejecución –> Nuevo • Bloqueado –> Nuevo • Suspendido –> Terminado 8. Completa el diagrama de 5 estados 9. Que son y para qué sirven las tablas de archivos, entrada/salida y memoria? La tabla de memoria es utilizada para seguir la pista de la memoria principal y secundaria. Alguna parte de la memoria principal está reservada para el uso del sistema operativo, mientras que el resto está disponible para el uso de los procesos. NUEVO LISTO TERMINADO EJECUCIÓN BLOQUEADO Y SUSPENDIDO LISTO Y Principal Secundaria corto plazo -Tablas de memoria -Tablas de E/S -Tablas de archivos largo plazo medio plazo -Solicitud de SO -Creado por usuario -Petición del padre -Nuevo proceso por lotes -Terminación normal -Error -Petición del padre -Error fatal La tabla de E/S es utilizada por el sistema operativo para administrar los dispositivos y los canales de E/S. Es necesario que el Sistema Operativo conozca el estado de la operación de E/S y la posición de memoria principal que se está utilizando como origen o destino de la transferencia de E/S. La tabla de archivos contiene y pone a disposición información sobre la existencia de los archivos, su posición en la memoria secundaria, su estado actual y otros atributos. La información puede ser mantenida y utilizada por un sistema de gestión de archivos, en cuyo caso el sistema operativo tendrá poco o ningún conocimiento de los archivos. 10. ¿Qué es el BCP y que información contiene? Detalla cada una de las partes que componen el BCP y su función. BCP significa Bloque de Control de Procesos, o en inglés PCB (Process Control Block), es un registro especial o una estructura de datos donde el sistema operativo agrupa toda la información que necesita conocer respecto a un proceso particular, es decir, se registran 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 activo asociado a él. Se compone de las siguientes partes: • Identificador del proceso (Process Identificator -PID-, de sus siglas en inglés). • Estado del proceso. Por ejemplo, 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 (incluye descriptores de archivos y sockets abiertos). • Estadísticas del proceso. • Datos del propietario. • Permisos asignados. • Señales pendientes de ser servidos. (Almacenados en un mapa de bits) Otro elemento importante son las interrupciones, si observas el diagrama de 5 estados estas interrupciones son las responsables de sacar a los procesos de ejecución y enviarlos al estado listo, bloqueado o terminado. Casi todas las computadoras tienen un mecanismo mediante el cual otros módulos (E/S, memoria) pueden interrumpir la ejecución normal del procesador. Existen 4 clases de interrupciones, completa la siguiente tabla: Tabla de interrupciones Definición Ejemplo Estado (s) al que te puede enviar De programa Estas interrupciones se producen por algunacondición que se cumple al ejecutar alguna instrucción. Cuando intentamos dividir entre cero en algún programa o cuando intentamos acceder a un espacio de un arreglo que no existe. Terminado De reloj Estas interrupciones son generadas por un reloj interno permitiendo ejecutar operaciones cada cierto tiempo Cuando intentas abrir un programa y se excede el tiempo de espera Bloqueado, bloqueado y suspendido y terminado De E/S Generadas por un controlador de E/S, para indicar que una operación ha terminado normalmente o para indicar diversas condiciones de error. Cuando se conecta un periférico a una computadora y se indica que está listo para transmitir Bloqueado y terminado De fallo de hardware Esta interrupción generada por algún dispositivo físico de la computadora. Cuando se termina la batería de tu computadora o se descompone tu disco duro. Terminado Con las interrupciones, el procesador se puede dedicar a la ejecución de otras instrucciones mientras una operación de E/S está en proceso. Una interrupción es solamente eso: una interrupción de la secuencia normal de ejecución. Cuando el tratamiento de la interrupción se termina, la ejecución continúa como si nunca hubiera sucedido dicha interrupción. Ciclo de interrupción Para dar cabida a las interrupciones, se añade un ciclo de interrupción al ciclo de instrucción. El procesador comprueba si ha ocurrido alguna interrupción, lo que se indicará con la presencia de una señal de interrupción. Si no hay interrupciones pendientes, el procesador sigue con el ciclo de lectura y trae la próxima instrucción del programa en curso. Si hay una interrupción pendiente, el procesador suspende la ejecución del programa en curso y ejecuta una rutina de tratamiento de la interrupción. Determina la naturaleza de la interrupción y realiza cuantas acciones sean necesarias. Cuando termina la rutina de tratamiento de la interrupción, el procesador puede reanudar la ejecución del programa de usuario en el punto en que sucedió la interrupción. Tratamiento de la interrupción Cuando un dispositivo de E/S completa una operación de E/S, se produce en el hardware la siguiente secuencia de sucesos, escribe cuales son: 1. Se emite una señal de interrupción al procesador. 2. El procesador finaliza la ejecución de la instrucción antes de responder a la interrupción. 3. El procesador comprueba que hay una interrupción y envía una señal de reconocimiento al dispositivo que generó la interrupción. 4. El procesador transfiere el control a la rutina de interrupción. 5. El procesador carga el contador de programa con la ubicación del programa de tratamiento de la interrupción. 6. En este punto, el contador de programa y la PSW relativa al programa interrumpido han sido guardadas en la pila del sistema. 7. La rutina de tratamiento de la interrupción procesa la interrupción. 8. Cuando se completa el tratamiento de la interrupción, se recuperan de la pila los valores de los registros que se salvaron y se restauran los registros. 9. Se restauran los valores de la PSW y del contador de programa a partir de la pila. Como resultado, la próxima instrucción a ser ejecutada será del programa interrumpido previamente. Por último, investiga en la bibliografía que sucede con las interrupciones múltiples y que sucede en los sistemas de multiprocesador y como solucionar los problemas que se dan. Lo que pasa con las interrupciones múltiples es que puede volver a recibir interrupciones mientras ya tiene una interrupción lo cual es un problema, pero existen dos tipos de soluciones para esto las cuales son: Uso de inhabilitación de interrupciones, las interrupciones inhabilitadas quieren decir que el procesador ignorará la señal de interrupción. Si aun así se produce otra interrupción ésta generalmente quedará pendiente y será comprobada por el procesador después que éste habilite las interrupciones; después de que termine la rutina que trata la interrupción, se habilitan las interrupciones antes de reanudar el programa de usuario y el procesador comprueba si se ha producido alguna interrupción adicional. Uso de interrupciones con prioridad; definir prioridades para las interrupciones y permitir que una interrupción de más prioridad provoque que se interrumpa la ejecución de un manejador de una interrupción de menor prioridad. Los problemas que pueden darse en un sistema de multiprocesamiento es que se establezcan plazos de cumplimiento duro ("hard"), en este caso la consecuencia de su incumplimiento puede ser catastrófica. Ya que por ejemplo un sistema de tiempo real, que es de multiprocesos, necesita cumplir con plazos explícitos, y una serie de interrupciones múltiples puede llegar a causar muchos problemas al respecto. Alguna solución es tener un controlador de interrupciones, con el propósito de identificar el origen de la petición y el manejador asociar la línea de petición con el nivel de prioridad, si el nivel de prioridad del procesador actual es mayor o igual a la prioridad de la interrupción, la interrupción será ignorada. Un concepto clave en las interrupciones es la transparencia, para que al terminar la interrupción continúe el código justo en el mismo estado donde fue interrumpido. Conclusión. Esta actividad fue de gran utilidad para conocer cómo es que el Sistema Operativo gestiona y organiza la ejecución de los procesos, mediante los estados de proceso controla dicha ejecución y trata con las posibles dificultades que pudieran presentarse durante la ejecución, como por ejemplo las interrupciones, ya sean de programa, de E/S, de reloj y de falla de software, con esto garantiza el manejo de errores, que si se presenta error en algún proceso no afectara la ejecución de los siguientes. También aprendí la función de otros componentes muy útiles y necesarios en el manejo de procesos, como, por ejemplo, el bloque de control de procesos, que maneja la información necesaria para la ejecución de estos, así como también la funcionalidad de las tablas de memoria, de E/S y de archivos. Toda esta información me será muy útil en actividades posteriores para seguir aprendiendo más a fondo sobre los Sistemas Operativos. Bibliografía. Stallings, W. (2011), Operating Systems: Internals and Design Principles. Prentice Hall. 7th Edition. William Stallings. (2005). Sistemas Operativos, Aspectos internos y principios de diseño. Madrid: Pearson Educación S.A. William Stallings. (2005). Organización y arquitectura de computadoras. Madrid: PEARSON EDUCACIÓN S.A. Joaquín Aranda Alamansa, Ma. Antonia Canto Diaz, Jesús Manuel De La Cruz García, Sebastián Dormido Bencomo, Carolina Mañoso Hierro. (N/E). SISTEMAS OPERATIVOS: TEORÍA Y PROBLEMAS. Madrid: SANZ Y TORRES, S.L. Gunnar Wolf, Esteban Ruiz, Federico Bergero Erwin Meza. (2015). FUNDAMENTOS DE SISTEMAS OPERATIVOS. México D.F: Biblioteca Nacional de México. Bloque de control del proceso. (2019). En Wikipedia, la enciclopedia libre. https://es.wikipedia.org/w/index.php?title=Bloque_de_control_del_proceso&oldid=120653153 Gutiérrez, Carmen. [Carmen Gutierrez]. (2020,octubre 8). Podcast Procesos [archivo de video]. Recuperado de https://www.youtube.com/watch?v=mjiQYUPJ-sg&feature=youtu.be https://es.wikipedia.org/w/index.php?title=Bloque_de_control_del_proceso&oldid=120653153 https://www.youtube.com/watch?v=mjiQYUPJ-sg&feature=youtu.be
Compartir