Logo Studenta

SandovalFernandoD02Act4 - Fernando Cesar Sandoval Padilla

¡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 
 
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

Continuar navegando