Logo Studenta

Serna_Jose_SO - Jose SernaS (8)

¡Estudia con miles de materiales!

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

Continuar navegando