Logo Studenta

Serna_Jose_SO - Jose SernaS (2)

¡Este material tiene más páginas!

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.

Continuar navegando

Materiales relacionados

9 pag.
39 pag.
procesos[SO]

UNAM

User badge image

campuzanobeni3

2 pag.