Está en la página 1de 13

Asignatura:

Sistema Operativo I

Capitulo #3

Tema:
Concepto de procesos

Participante:
Felix Manuel Cordero Encarnación

Matricula:

202010584

Facilitador:
Jose Manuel Doñe Meteo

Fecha:
20/9/2020

1
Indice
3.0 Introducción...............................................................................................................3
3. Conceptos de Procesos.................................................................................................4
3.1 ¿Qué es un proceso?...............................................................................................4
3.2. Estados de un proceso............................................................................................4
3.2.1. Estados simplificados......................................................................................4
3.2.2 Estado ampliado..............................................................................................5
3.3. Bloque de control de un proceso..........................................................................6
3.4. Operaciones con procesos......................................................................................7
3.5. Hilos de ejecución (“threads”)...............................................................................8
3.5.1. Estados de un Hilo de ejecucion....................................................................9
4. Conclusión....................................................................................................................11
5. Bibliografía..................................................................................................................12

2
3.0Introducción
En el siguiente trabajo se estará exponiendo el tema de “Concepto de procesos” En el cual
conoceremos que es un proceso y cuál es su importancia, sus estados y tipos de procesos.
También estaremos hablando de los Hilos y de los estados de los Hilos.

3
3. Conceptos de Procesos
3.1 ¿Qué es un proceso?

Un proceso es una secuencia de pasos dispuesta con


algún tipo de lógica que se enfoca en lograr algún
resultado específico. En informática, puede
entenderse informalmente como un programa en
ejecución. Los procesos son mecanismos de
comportamiento que diseñan los hombres para
mejorar la productividad de algo, para establecer un
orden o eliminar algún tipo de problema.

3.2. 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 de un
sistema operativo a otro.

3.2.1. Estados simplificados

Todos los procesos como mínimo deben pasar por estas 3 fases:

 Activo: el proceso está empleando la CPU, por


tanto, está ejecutándose. Puede haber tantos
procesos activos como procesadores haya
disponibles. Por tanto, si el sistema dispone de
un único procesador, únicamente puede haber
un proceso activo a la vez.
 Preparado: el proceso no está ejecutándose,
pero es candidato a pasar a estado activo. Es el
planificador el que, en base a un criterio de
planificación, decide qué proceso selecciona de
la lista de procesos preparados para pasar a
estado activo.
 Bloqueado: el proceso está pendiente de un
evento externo que le ha hecho bloquear, tales
como una operación de lectura/escritura, la
espera de finalización de un proceso hijo, una
señal o una operación sobre un semáforo.

4
3.2.2 Estado ampliado

En espera / Preparación: Estado por el que pasan los procesos antes de pasar a estar
preparados por primera vez. Los procesos, cuando comienzan a existir, no están preparados
para comenzar a ejecutar instrucciones hasta que el sistema no ha llevado a cabo una serie
de actividades. Una vez que el proceso está completamente cargado, ya se puede producir
la primera transición al estado preparado.

Terminado: La transición de activo a este estado ocurre cuando el proceso realiza una
llamada al sistema solicitando su propia terminación. En estas circunstancias, hay
estructuras de datos correspondientes al proceso que no pueden ser liberadas hasta que el
proceso padre del que está terminando recoja el código de terminación del mismo. Hasta
que esto ocurra, estas estructuras se mantendrán y el proceso seguirá existiendo en estado
terminado.

Transición: cuando la operación que mantiene a un proceso en estado bloqueado termina,


el proceso puede haber perdido parte de los recursos que necesita para proseguir su
ejecución. Este es por ejemplo el caso de un sistema con memoria virtual, en el que parte de
las páginas de memoria del proceso han sido descargadas a disco. En dicho caso, el proceso
tendría que pasar por un estado intermedio transición mientras recupera dichos recursos, y
una vez que todos sus recursos vuelven a estar disponibles, volvería al estado preparado.

El planificador de procesos es la parte del sistema operativo que se encarga de seleccionar a


qué proceso se asigna el recurso procesador y durante cuánto tiempo. Hay tres posibles
situaciones en las que se ejecutará el planificador del sistema operativo:

El proceso que se encuentra en el estado activo hace una llamada al sistema que, por su
naturaleza, resulta en una transición al estado bloqueado. Este es el caso de las llamadas
read(), write(), wait(), pause(), entre muchas otras. Al pasar a estado bloqueado, se invoca
al planificador para que decida que otro proceso se asignará al procesador.

5
Si el proceso que se encuentra en el estado
activo excede el tiempo máximo de
asignación, en caso de que lo hubiere.

Si el proceso que hasta ese momento se


encontraba en estado activo termina de
ejecutar su código. Además, algunos
sistemas operativos disponen de un estado
terminado en el que los procesos pasan
antes de terminar su ejecución.

Ejemplo, los principales estado de


procesos de Linux son:

 Sleeping (S): Procesos que están


esperando su turno para ejecutarse.
 Running (R): Procesos que están
en ejecución.
 Waiting (D): Procesos esperando a
que se finalice alguna operación de
Entrada/Salida.
 Zombie (Z): Procesos que han
terminado pero que siguen
apareciendo en la tabla de
procesos. Se pueden deber a
errores de programación y pueden
ser el síntoma de un sistema lento o
que provoca problemas.

3.3. Bloque de control de un proceso

Para llevar a cabo la gestión de un proceso, es necesario que el sistema operativo guarde
cierta información necesaria. Para ello, existe un registro especial que se conoce como el
bloque de control del proceso BCP, o PCB en inglés (Process Control Block). El BCP es
creado por el Sistema operativo cada vez que aparece un nuevo proceso. Los procesos son
conocidos para el sistema operativo y por tanto elegible para competir por los recursos del
sistema sólo cuando existe un BCP activo asociado a ellos. Cuando el programa termina, el
BCP es eliminado para dejar espacio libre en el registro, y usarlo para almacenar otros
BCP.

6
 E l b l o q u e d e c o n

contenidos comunes:
 Identificador del proceso: Identificar de forma unívoca al proceso en el sistema,
generalmente se emplea un entero sin signo que se denomina PID (Process IDentifier)
 Nombre del proceso.
 Estado del proceso para el planificador de procesos: preparado, activo o bloqueado.
 Contexto de la ejecución: valor de los registros del procesador, bits de estados, etc. Esto
es, cada vez que se ejecuta el planificador y se realiza una conmutación de procesos, la
información sobre en qué lugar se encontraba la ejecución del proceso se encuentra
guardada aquí, así como el lugar en el que se paró la ejecución del anterior proceso
(cada una en su respectivo BCP).
 Aspectos relacionados con la administración de memoria: tales como el espacio de
direcciones y la cantidad de memoria asignada a un proceso.
 Aspectos relacionados con la administración de ficheros: tales como los ficheros con los
que el proceso está actualmente operando.
 Los procesadores en los que el proceso puede ejecutarse: en caso de soportar el sistema
multiprocesador.
 En el caso de un sistema operativo tipo UNIX: el proceso padre de dicho proceso y la
relación de procesos hijos.
 Estadísticas temporales: Tiempo de lanzamiento del proceso, tiempo en estado activo,
etc.

Esta lista es simplemente indicativa, cada sistema operativo tiene su propio diseño de BCP,
con el conjunto de metadatos necesarios para la administración. Puede medir desde 32 bits
a 1024.

7
3.4. Operaciones con procesos

Crear: puede hacerse desde un proceso ya existente o a


través del intérprete de comandos del S.O. en cualquier
caso se considera hijo del proceso creador. El trabajo para
el S.O. consiste en darle una entrada en el PCB y pasarlo
a la cola de preparados. Hay varias formas de crear
procesos:

 Inicialización del sistema. Cuando se inicia el


sistema se crean varios procesos, algunos interactúan con el usuario y otros no
(demonios).
 Ejecución de una llamada al sistema para crear procesos por parte de un proceso
en ejecución. Mediante una llamada al sistema. Por ejemplo para bajar datos es
conveniente crear un proceso para que los ponga en el buffer.
 Solicitud de un usuario para crear un proceso. En modo interactivo es muy común
por parte de los usuarios.
 Inicio de un trabajo por lotes.

Destruir: eliminar la entrada en la cola de PCB. Puede haber problemas en la


gestión de las propiedades heredadas del proceso padre o, si tiene procesos hijo,
tener que esperar a que finalicen estos o los finaliza forzosamente.

 Terminación normal. Es la forma más normal (exit en UNIX)


 Terminación por error. Por ejemplo gcc uno.c y el fichero uno.c no existe.
 Error fatal. Acceso a una posición no permitida, división por cero etc.
 Terminado por otro proceso. En UNIX es KILL.
 Cambiar la prioridad del proceso.
 Dormir o bloquear la ejecución de un proceso. Dormir un proceso un tiempo.
 Despertar un proceso. Una forma de desbloquear un proceso de forma artificial. Se
suele emplear para procesos dormidos artificialmente.
 Suspender un proceso. Suele hacerse en situaciones de sobrecarga del S.O.
 Reanudar un proceso. Activar un proceso suspendido.

3.5. Hilos de ejecución (“threads”)

Un Thread es una característica que permite


a una aplicación realizar varias tareas a la
vez. En ambos es la misma filosofía que
utiliza el OS para ejecutar varios procesos a

8
la vez, pero el Multitasking está enfocada en ejecutar sub procesos de un mismo proceso, lo
cual es un poco diferente ya que por definición los procesos no comparten el espacio de
memoria entre sí, mientras que los Threads o Hilos sí

3.5.1. Estados de un Hilo de ejecución

Los principales estados de los hilos son: Ejecución, Listo y Bloqueado. No tiene sentido
asociar estados de suspensión de hilos ya que es un concepto de proceso. En todo caso, si
un proceso está expulsado de la memoria principal (RAM), todos sus hilos deberán estarlo
ya que todos comparten el espacio de direcciones del proceso.

 C r e a c i ó n : C u a n d o

puede crear otros hilos dentro del mismo proceso, proporcionando un puntero de
instrucción y los argumentos del nuevo hilo. El hilo tendrá su propio contexto y su
propio espacio de la columna, y pasará al final de los Listos.
 Bloqueo: Cuando un hilo necesita esperar por un suceso, se bloquea (salvando sus
registros de usuario, contador de programa y punteros de pila). Ahora el procesador
podrá pasar a ejecutar otro hilo que esté al principio de los Listos mientras el anterior
permanece bloqueado.
 Desbloqueo: Cuando el suceso por el que el hilo se bloqueó se produce, el mismo pasa
a la final de los Listos.
 Terminación: Cuando un hilo finaliza se liberan tanto su contexto como sus columnas.

La interfaz Runnable

La interface Runnable proporciona un método


alternativo a la utilización de la clase Thread,
para los casos en los que no es posible hacer que
la clase definida extienda la clase Thread. Esto
ocurre cuando dicha clase, que se desea ejecutar
en un hilo independiente deba extender alguna
otra clase. Dado que no existe herencia múltiple,

9
la citada clase no puede extender a la vez la clase Thread y otra más. En este caso, la clase
debe implantar la interface Runnable, variando ligeramente la forma en que se crean e
inician los nuevos hilos.

4. Conclusión

10
Los procesos en informática es una de las partes más importante y de la cual ningún sistema
operativo puede prescindir ya que toda acción que este realice se le puede considerar como
un proceso y gracias a este trabajo pudimos entender cómo funcionan los procesos en la
informática, los tipos de procesos que hay y como se desarrollan. También es muy
importante destacar el rol que cumplen los hilos en todo esto de los procesos.

11
5. Bibliografía

Definición de procesos recuperado de: https://definicion.mx/proceso/

Wikipedia (2020 Septiembre 7) Procesos recuperado de:


https://es.wikipedia.org/wiki/Proceso_(inform%C3%A1tica)

Universidad de Sevilla (2020 Abril 2) Estados de los procesos de:


https://1984.lsi.us.es/wiki-ssoo/index.php/Estados_de_los_procesos

Sistemas operativo, curso 2014 procesos recuperados de:


https://www.fing.edu.uy/inco/cursos/sistoper/recursosTeoricos/5-SO-Teo-Procesos.pdf

Wikipedia (2019 Octubre 22) Bloque de control del proceso recuperado de:
https://es.wikipedia.org/wiki/Bloque_de_control_del_proceso#:~:text=El%20bloque
%20de%20control%20del,respecto%20a%20un%20proceso%20particular.

Universidad de Sevilla (2020 Abril 2) Bloque de control de procesos recuperado de:


https://1984.lsi.us.es/wiki-ssoo/index.php/Bloque_de_control_de_procesos

Sistemas operativos. Operaciones de procesos recuperados de:


https://sites.google.com/site/sistemasoperativoslosprocesos/home/operaciones-de-
procesos

Procesos recuperados de: https://www.dc.fi.udc.es/~so-grado/2_PROCESOS.pdf

Qué es un Hilo de Ejecución (Thread) y su uso recuperado de:


http://microcontroladores.org/que-es-un-hilo-de-ejecucion-thread-y-su-uso/

HILOS (THREADS) EN JAVA recuperado de:


https://www.infor.uva.es/~fdiaz/sd/doc/hilos

Universidad de Sevilla. Planificación de procesos recuperado de:


https://1984.lsi.us.es/wiki-ssoo/index.php/Planificador_de_procesos#:~:text=El
%20planificador%20de%20procesos%20(process,procesador%20y%20durante%20cu
%C3%A1nto%20tiempo.

Procesos zombies recuperado de: https://blog.desdelinux.net/procesos-


zombies/#:~:text=Los%20principales%20estados%20de%20los,Procesos%20que

12
%20est%C3%A1n%20en%20ejecuci%C3%B3n.&text=Zombie%20(Z)%20%3A
%20Procesos%20que,en%20la%20tabla%20de%20procesos.

Luis Monroy(2013 Septiembre 8). Estados y Operaciones de los procesos en un


Sistemas Operativo recuperado de: https://prezi.com/suuitvkeqd2o/estados-y-
operaciones-de-los-procesos-en-un-sistemas-operati/

13

También podría gustarte