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 Actividad de cierre 2: Sistemas Operativos Fecha: 28/10/2020 Índice Introducción. ............................................................................................................ 3 Reporte.................................................................................................................... 3 Define los siguientes términos: ............................................................................ 3 Preguntas. ............................................................................................................ 5 Problemas. ........................................................................................................... 9 Conclusiones. ........................................................................................................ 11 Bibliografía. ........................................................................................................... 11 Introducción. En esta segunda actividad de cierre se buscará investigar y comprender algunos temas sumamente esenciales, conocer y analizar todo lo relacionado con los procesos. Un proceso es definido como una tarea cual tiene una razón o manera de existir dentro de un sistema, dicho proceso puede tener distintos estados como lo hemos visto en las últimas actividades, tales como Nuevo, Ejecución, Bloqueado, Ejecución, Terminado, Listo y Suspendido, y Listo y Bloqueado, cada uno de ellos con una determinada función, y en esta actividad de cierre analizaremos algunos conceptos relacionados con los temas vistos hasta ahora, sobre características y comportamiento de procesos, problemas, planificación, interrupciones, etcétera. Se realizará un repaso respondiendo el cuestionario con preguntas clave sobre los principales conceptos y al final se resolverán algunos problemas de ejemplo que me ayudarán a comprender de manera practica el funcionamiento de ciertos planificadores de proceso, esto me ayudará a integrar mis conocimientos y a estar mas preparado para las actividades posteriores en el presente curso. Reporte. Define los siguientes términos: • Bloque de control de procesos El Bloque de control del proceso o BCP o en inglés PCB (Process Control Block) es una estructura de datos o un registro especial donde el sistema operativo agrupa toda la información que necesita conocer respecto a un proceso particular. 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. Una vez que el proceso termina, su BCP se borra 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. • Estados de un proceso Todo proceso en un sistema operativo presenta un estado que indica la situación de la ejecución en que se encuentra. El número de posibles estados varía dependiendo el sistema operativo. o Nuevo: Proceso que se acaba de crear, pero que aún no ha sido admitido por el sistema operativo en el grupo de procesos ejecutables. o Listo: Proceso que está preparado para ejecutar, en cuanto se le dé la oportunidad. o Ejecución: El proceso que está actualmente en ejecución. o Bloqueados: Proceso que no puede ejecutar hasta que se produzca cierto suceso, como la terminación de una operación de E/S. o Terminado: Un proceso que ha sido excluido por el sistema operativo del grupo de procesos ejecutables, bien porque se detuvo o porque fue abandonado por alguna razón. • Imagen del proceso Consiste en que un proceso tiene una imagen de los procesos dentro del mismo proceso (hilos). o Espacio en memoria para almacenar los distintos procesos o Espacio en memoria para almacenar la ‘pila de ejecución’ (Estructura de tamaño intermedio, donde se almacenan datos temporales necesarios en un proceso.) o ‘Bloque de control de proceso (bloqueo de control de proceso)’, (Registro con el cual el Sistema Operativo, toma información sobre cada proceso.) • Interrupciones Una interrupción se define como una suspensión temporal de la ejecución de un proceso, para pasar a ejecutar una subrutina de servicio de interrupción, la cual, generalmente, no forma parte del programa, sino que pertenece al sistema operativo o al BIOS. Cuando finaliza dicha subrutina, se reanuda para continuar con la ejecución del programa. • Tipos de interrupciones Forma en que se interrumpe la ejecución normal del procesador: o Programa ▪ Desbordamiento aritmético ▪ División por cero ▪ El intento de ejecutar una instrucción ilegal de la máquina ▪ Referencia a una zona de memoria fuera del espacio permitido al usuario. o Reloj ▪ Generadas por un reloj interno del procesador. Esto permite al sistema operativo llevar a cabo ciertas funciones con determinada regularidad. o 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. o Fallo de hardware ▪ Fallos generados por algún dispositivo físico, tales como un corte de energía o un error de paridad de la memoria. • Tarea Es una unidad de ejecución o una unidad de trabajo. El término tiene cierta ambigüedad; otros términos más precisos son proceso, hilo (para la ejecución), petición, paso, entre otros. En el sentido de "unidad de ejecución", en algunos sistemas operativos, una tarea es sinónimo para "proceso"; mientras que en otros sistemas es sinónimo de hilo (thread). • Traza Una traza puede ser un listado de las secuencias de instrucciones que se ejecutan para un proceso, o bien, el rastro de una instrucción orden, en el cual se ejecutan los procesos. • Trap También conocida como desvío, interrupción o captura. Es una operación de bifurcación que se realiza automáticamente ante la detección de alguna condición de error. Este tipo de interrupción es una característica de algunos sistemas operativos o rutinas de diagnóstico, los cuales automáticamente asumen el control para analizar e intentar corregir la determinada situación de error. Preguntas. 1. ¿Qué es una traza de interrupciones? Es un listado de secuencias de interrupciones. 2. ¿Cuáles son los motivos para la creación de un proceso? o Nuevo trabajo por lotes o Conexión interactiva (creado por usuario) o Creado por el SO para dar un servicio o Generado por un proceso padre existente 3. ¿Qué es el swapping y cuál es su objetivo? Es el hecho de que una tarea reemplace a otra en el estado de ejecución de acuerdo con el planificador a corto plazo. Es un mecanismo o modo de interrelacionar la memoria principal (la que contiene el proceso en ejecución, los datos de proceso inmediato y los resultados intermedios) con la secundaria, de tal modo que se produce un intercambio de programas entre ambas cuyo resultado es la simulación de un sistema multitarea o la potenciación de memoria central a base de recursos de la memoria secundaria. El objetivo del intercambio es dar cabida a la ejecución de más procesos de los que pueden residir simultáneamente en la memoria del sistema. 4. ¿qué es un hilo? Un hilo es una línea o secuencia de tareas de ejecución de un proceso. El proceso parte inicialmente con un único hilo principal, aunque el sistema operativo ofrece llamadas al sistema que permiten al programador crear y destruir hilos. Por lo tanto,un proceso está compuesto por uno o más hilos. 5. ¿qué es un multiprocesador simétrico? Es un tipo de arquitectura de computadoras en la que dos o más unidades de procesamiento comparten una única memoria central. Se caracteriza por el hecho de que varias unidades de procesamiento comparten el acceso a la memoria, compitiendo en igualdad de condiciones por dicho acceso. 6. ¿qué es la concurrencia, que es paralelismo y cuál es la diferencia entre los dos? La concurrencia de procesos se refiere a las situaciones en las que dos o más procesos puedan coincidir en el acceso a un recurso compartido, es decir, que requieran coordinarse en su ejecución. Para evitar dicha coincidencia, el sistema operativo ofrece mecanismos de arbitraje que permiten coordinar la ejecución de los procesos. El paralelismo es una función que realiza el procesador para ejecutar varias tareas al mismo tiempo. En otras palabras, puede realizar varios cálculos simultáneamente, basado en el principio de dividir los problemas grandes para obtener varios problemas pequeños, que son posteriormente solucionados en el paralelo. La principal diferencia entre concurrencia y paralelismo es que la concurrencia está sincronizando o coordinando varias cosas a la vez, mientras que el paralelismo está haciendo varias cosas a la vez. 7. ¿qué es sección critica? Es la porción de código de un programa de computador el cual accede a un recurso compartido (estructura de datos o dispositivo) que no debe de ser accedido por más de un hilo en ejecución (thread). La sección crítica por lo general termina en un tiempo determinado y el hilo, proceso o tarea solo tendrá que esperar un período determinado de tiempo para entrar. 8. ¿qué es el interbloqueo? Es una espera circular permanente de dos o más procesos. Existen una serie de condiciones para que se produzca y una serie de estrategias para resolverlos. 9. ¿qué es el circulo vicioso? Consiste en una situación en la cual dos o más procesos cambian continuamente su estado en respuesta a cambios en los otros procesos, sin realizar ningún trabajo útil. 10. ¿qué es la exclusión mutua? Es la actividad llevada a cabo por el sistema operativo con el fin de evitar que dos o más procesos ingresen al mismo tiempo a un área de datos compartidos o accedan a un mismo recurso. 11. ¿qué es la condición de carrera? Son errores que son producidos en situaciones de concurrencias de varios hilos en las que se compite por los recursos que proporciona el sistema operativo. Bajo dichas condiciones existen ocasiones en las que se presentan situaciones en las que dos o más procesos tienen que leer o escribir en un área común que están compartiendo. 12. ¿qué es la inanición? Es un problema relacionado con los sistemas multitarea, donde a un proceso o un hilo de ejecución se le deniega siempre el acceso a un recurso compartido. Por lo tanto, sin dicho recurso, la tarea a ejecutar no puede ser finalizada. 13. ¿en qué tres contextos diferentes aparecen la concurrencia? 1.Múltiples aplicaciones. La multiprogramación fue ideada para permitir compartir dinámicamente el tiempo de procesamiento entre varias aplicaciones activas. 2.Aplicaciones estructuradas. Como ampliación de los principios del diseño modular y la programación estructurada 3.Estructura del sistema operativo. Algunos sistemas operativos están implementados como un conjunto de procesos. 14. ¿qué es un semáforo cuales son las operaciones que se realizan sobre un semáforo? Un Semáforo es una variable especial que constituye una serie de opciones elementales para poder restringir o garantizar el acceso a los recursos compartidos en un Sistema Operativo con un entorno de multiprocesamiento. Dos métodos o funciones elementales: 1. Wait() – denominado P 2. Signal – denominado V 15. Define: Semáforo binario, semáforo contador, semáforo débil, semáforo fuerte y semáforo general. 1.Semaforo general. Un Semáforo es una variable especial que constituye una serie de opciones elementales para poder restringir o garantizar el acceso a los recursos compartidos en un Sistema Operativo con un entorno de multiprocesamiento. 2.Semáforo binario. Es un indicador de condición (S) que registra si un recurso está disponible o no. sólo puede tomar dos valores: O y 1. Si, para un semáforo binario. S=1 entonces el recurso está disponible y la tarea lo puede utilizar; si S=0 el recurso no está disponible y el proceso debe esperar. 3.Semáforo contador. Tiene múltiples variables, se inicializa con el número total de recursos disponibles (n) y las operaciones de WAIT y SIGNAL se diseñan de modo que se impida el acceso al recurso protegido por el semáforo cuando el valor de éste es menor o igual que cero. En los tipos de semáforos existe una cola que mantiene a los procesos esperando. El orden en que se retiran los procesos de la cola define dos categorías de semáforos: 4.Semáforos fuertes. Funcionan como una cola FIFO, el que ha estado bloqueado más tiempo es el que sale de la cola. 5.Semáforos débiles. No se especifica el orden en el que se retiran los semáforos. 16. ¿qué es un monitor? Un monitor es una estructura formada por una cabecera que los identifica, un conjunto de variables globales a todos los procedimientos del monitor, un conjunto de procedimientos y un bloque de inicialización, el cual se ejecuta una única vez, cuando se crea el monitor. 17. ¿qué condiciones están asociadas generalmente al problema de lectores/escritores? Hay un objeto de datos (fichero de texto) que es utilizado por varios procesos, unos leen y otro que escribe. Solo puede utilizar el recurso un proceso y solo uno, es decir, o bien un proceso estará escribiendo o bien leyendo, pero nunca ocurrirá simultáneamente (teniendo en cuenta que, si no lo está utilizando nadie, tendrá preferencia el escritor ante el lector). Se considera a cada usuario (lector y escritor) como dos procesos y al fichero en cuestión como un recurso. De modo que, para que un proceso acceda al recurso que necesita, tenemos que considerar a cada usuario (lector y escritor) como dos semáforos. Estos semáforos son binarios y valen 0 si el recurso (fichero) está siendo utilizado por otro proceso y 1 si dicho recurso está disponible. 18. Mencione 4 ejemplos de recursos reutilizables y 4 consumibles Reutilizables: 1. Los procesadores 2. Canales de E/S 3. Memoria principal y secundaria 4. Dispositivos y estructuras de datos tales como archivos, bases de datos y semáforos. Consumibles: 1. Las interrupciones 2. Señales 3. Mensajes 4. Información en buffers de E/S 19. ¿Cuáles son las condiciones que se deben cumplir para un interbloqueo? 1. Exclusión mutua: Sólo un proceso puede usar un recurso simultáneamente. 2. Retención y esperar: Un proceso puede retener unos recursos asignados mientras espera que se le asignen otros. 3. No apropiación: Ningún proceso puede ser forzado a abandonar un recurso que retenga. 4. Círculo vicioso de espera: Existe una cadena cerrada de procesos, cada uno de los cuales retiene, al menos, un recurso que necesita el siguiente proceso de la cadena. 20. Resuelve los siguientes problemas: Problemas. 1. Indicar las transiciones que se producen entre los diferentes estados de un proceso por actuación del planificador a corto plazo, el planificador a mediano plazo y el planificador a largo plazo. Planificador a corto plazo. Planificador a corto plazo: Listo -> Ejecución Ejecución -> Listo Ejecución -> Bloqueado Bloqueado -> Listo Planificador a mediano plazo: Bloqueado -> Bloqueado y suspendido Bloqueado y suspendido -> Listo y suspendido Listo y suspendido -> Listo Listo -> Listo y Suspendido Planificador a largo plazo: Nuevo -> Listo Ejecución -> Terminado Listo -> TerminadoBloqueado -> Terminado 2. Dar una ecuación que relaciones los siguientes periodos de tiempo de un trabajo: tiempo de retorno, tiempo de ocupación de la CPU y tiempo de espera. Tiempo de retorno = TR Tiempo de espera = TE Tiempo de ocupación de CPU o de servicio = TS Tiempo de finalización = TF Tiempo de llegada = TL TR = TF – TL o TR = TS + TE TE = TR - TS TS = TR - TE 3. Expresar matemáticamente los conceptos de eficacia y rendimientos. Hay muchos aspectos que se consideran a la hora de evaluar el rendimiento y la eficacia, pero de manera general se pueden expresar así: Rendimiento = Número de procesos / Unidad de tiempo Eficacia = Tiempo útil / Tiempo 4. Se tienen tres procesos P1, P2 y P3, con tiempo de ejecución de 85, 45 y 118 ms respectivamente. Si actúa un planificador a corto plazo según el algoritmo SJF, determinar el orden en que se encuentran en la lista de preparados Los procesos se encuentran en la lista de preparados en el orden: P2, P1 y P3. 5. Se tienen dos procesos P1 y P2 de tiempos de ejecución de 25 y 30 ms respectivamente. El planificador a corto plazo actúa según el algoritmo RR con un quantum de 10 ms. ¿cuál es el tiempo de retorno de los procesos? Tiempo de retorno: P1. 45 ms P2. 45 ms. 6. Sean dos procesos P1 con un tiempo de ejecución de 20 ms y P2 con 15 ms. El planificador a corto plazo actúa según el algoritmo de prioridad circular con un quantum de 10 ms y un tiempo de conmutación de tarea de 5 ms. ¿cuál es el tiempo de retorno de los procesos? Tiempo de retorno: P1. 40 ms. P2. 50 ms. Conclusiones. Dentro de los sistemas operativos los procesos juegan un rol muy relevante e importante, ya que son los que permiten realizar las tareas asignadas, por esa razón es importante que dichos procesos sean controlados y organizados por el sistema operativo para que se logren ejecutar sin errores, bien organizados y con la mayor eficiencia posible. En esta actividad se logró integrar el conocimiento de los conceptos más relevantes relacionados con el manejo de procesos, características, planificadores, etc., como por ejemplo el bloque de control de procesos (que contiene la información del proceso), los estados de proceso (que ayuda a organizarlos en su ejecución), así como otros conceptos importantes relacionados, como imagen de proceso, interrupción, tarea, traza, trap, hilo etc., que nos ayudan a profundizar en la comprensión del comportamiento de los procesos dentro del sistema operativo. También se comprendieron algunos de los problemas que se presentan en la organización y ejecución de los procesos, por ejemplo, la inanición, interbloqueo, circulo vicioso, problema de lectores y escritores, entre otros, además los problemas prácticos del final me ayudo a reafirmar conocimientos adquiridos durante el transcurso del presente ciclo, concluyo en que la actividad de aprendizaje fue un éxito ya que se logró comprender y analizar a fondo cada tema y concepto de la tarea. Bibliografía. Stallings, W. (2011), Operating Systems: Internals and Design Principles. Prentice Hall. 7th Edition. Silberschatz, A., Galvin, P. B., & Gagne, G. (2010) Ingeniería del Software: Un enfoque práctico, McGraw Hill, México. Peters, James F. & Pedrycz, Witold (2008) Operating System Concepts. John Wiley & Sons Inc. 8th Edition. Tanenbaum, A. S. (2008) Modern Operating Systems Pearson Educación, México. Gunnar Wolf, Esteban Ruiz, Federico Bergero Erwin Meza. (2015). FUNDAMENTOS DE SISTEMAS OPERATIVOS. México D.F: Biblioteca Nacional de México. 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.
Compartir