Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Proceso
Representación de todos los elementos que constituyen una instancia de ejecución de un
programa.
Los elementos de un proceso son los siguientes:
• Una identificación única para el proceso, a menudo numérica.
• El comportamiento definido por el programa.
• El estado, que consiste en la memoria asignada y en los valores de los registros del
procesador.
la implementación es correcta,
privilegiadas, como acceder a dispositivos de entrada, de salida, o am ya que muchos problemas pue
bos, o a segmentos de memoria distintos, se opera en modo de siste den presentarse de forma alea
toria. En proyectos complejos
ma, ya que en estos casos se requiere solicitar peticiones a rutinas de
es importante vigilar que las
sistema que verifiquen los privilegios del proceso, y en caso de con herramientas y libre rías estén
tar con autorización puedan realizarse las operaciones solicitadas. En preparadas para la programa
caso contrario, el software que opera en modo de sistema funciona en ción concurrente.
un único espacio de memoria y no requiere verificar sus privilegios ♥ Usuario. Una revisión de las
para acceder a cualquier elemento presente, por lo que deben tomar recomendaciones de las inter
se precauciones para evitar intervenir en los datos de otros programas faces de usuario y los mecanis
mos para implementarlas no
que también operen en modo de sistema.
solo puede aportar un valioso
En el caso particular de Windows, en todas las versiones de este contexto al tema del multipro
sistema operativo los controladores de dispositivos de E/S, los contro
Sol, Llaven, Daniel. Sistemas operativos: panorama para la ingeniería en computación e informática, Grupo Editorial Patria, 2015. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=4569649.
Created from bibliounicartagenasp on 2018-07-27 18:26:05.
actividad propuesta }
En acción
1. Para que conozcas más acerca de las capacidades de procesamiento de los dispositivos de
entrada y de salida, realiza una investigación acerca de una tecnología en particular (por ejem-
plo, las tarjetas aceleradoras de video orientadas a juegos o al diseño gráfico incorporan gran-
des capacidades de multiprocesamiento que pueden servir al procesamiento general del equipo
con protocolos como OpenGL, o el uso de procesamiento en los dispositivos de almacenamien-
to masivo que permiten asegurar la información en la norma SMART).
2. Con la información que obtuviste responde las siguientes preguntas:
Sol, Llaven, Daniel. Sistemas operativos: panorama para la ingeniería en computación e informática, Grupo Editorial Patria, 2015. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=4569649.
Created from bibliounicartagenasp on 2018-07-27 18:26:05.
Creación de un proceso
Para tener un proceso activo es necesario:
gráfica.
4. Como parte del procesamiento por lotes en un sistema que lo realice de manera
automática.
actividad propuesta }
En acción
1. Identifica los diversos procesos de diferentes sistemas operativos que sean iniciados con los
mecanismos antes mencionados (por ejemplo, Time-Share, UNIX y embebido como Android).
2. Busca información acerca de las facilidades correspondientes en tiempo real, como RTLinux y
Wind River Linux.
Sol, Llaven, Daniel. Sistemas operativos: panorama para la ingeniería en computación e informática, Grupo Editorial Patria, 2015. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=4569649.
Created from bibliounicartagenasp on 2018-07-27 18:26:05.
3. En sistemas de tiempo compartido o interactivos, como UNIX, ¿cuáles son los procesos que se
inician directamente al arrancar el SO?, ¿cómo lo contrasta con los procesos que inician me-
diante init.d?
4. Ejecuta un programa desde su intérprete de comandos y desde la interfaz gráfica de su sistema
operativo, y responde las siguientes preguntas:
• ¿Cómo te informa el sistema operativo que el proceso ha iniciado?
• ¿Cuál es el identificador del proceso?
• ¿Cómo puedes solicitar la terminación del proceso directamente al sistema operativo?
5. Para iniciar un proceso desde otro podemos usar en nuestro programa la llamada al sistema
fork()del sistema operativo UNIX. Realiza un programa que genere una copia de sí mismo
con esta función y observa el comportamiento de ambos.
6. Ejecutar un archivo de ejecución por lote en un sistema Time share solo es una forma más de
iniciar un proceso desde otro proceso; no obstante, algunas aplicaciones han sido desarrolla-
das para llenar el nicho de automatizar la ejecución de procesos. Revisa la funcionalidad que
ofrece crond y analiza cómo se distingue esta funcionalidad del procesamiento en un sistema
Batch.
En ejecución
1. El proceso se bloquea por una operación de E/S.
2. La planificación da el turno a otro proceso.
1 3 2 3. La planificación da el turno a este proceso.
4. La operación de E/S termina.
4
Bloqueado 4 Listo
Cuando un proceso está preparado para ser atendido por el procesador se dice que
está “listo” para ejecución, cuando está siendo atendido se dice que está “en ejecu-
ción”, y cuando no espera recibir atención del procesador se dice que está “bloquea-
do”. Más adelante se tratan con mayor detalle estos tres estados.
Es importante destacar que un proceso no recibe atención del procesador cuando
no puede continuar con la realización de sus instrucciones, debido a que se encuentra
en espera de una situación, evento, instrucción u orden que no está bajo su con
trol directo; por ejemplo, puede estar en espera de un evento en uno de los dispositi
vos de entrada, de salida, o ambos, como el hecho de que una unidad de disco termine
de cargar información desde un archivo con los datos que habrán de procesarse. Asi
mismo, un proceso en espera también puede bloquearse hasta que otros procesos termi
nen de realizar algunas acciones que son necesarias para que el proceso bloqueado
progrese. De lo contrario, si dicho programa recibiera atención del procesador antes de
que los otros procesos necesarios logren el punto requerido, se impediría que el proce
sador atendiera a los procesos indispensables para su ejecución y la espera solo sería
Copyright © 2015. Grupo Editorial Patria. All rights reserved.
más larga o, en el peor de los casos, se produciría un error que provocaría un bloqueo
definitivo del procesador. Cuando los procesos deben comunicarse entre sí para orga
nizar su operación en el tiempo, como en el caso de los bloqueos, se dice que estos
requieren una “sincronización de procesos”, por lo que el sistema operativo propor
ciona una serie de mecanismos para comunicar los procesos e implementar las accio
nes necesarias para soportar diversos casos; es decir, este es el responsable de dicha
sincronización de procesos.
Terminación de la ejecución
Algo muy importante que debe tomarse en cuenta en este punto es que todos los algo
ritmos que se diseñen deben considerar las condiciones necesarias para que se con
Sol, Llaven, Daniel. Sistemas operativos: panorama para la ingeniería en computación e informática, Grupo Editorial Patria, 2015. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=4569649.
Created from bibliounicartagenasp on 2018-07-27 18:26:05.
cluya la tarea en ejecución. Esto significa que los procesos deben terminar en algún
momento, por lo que debe vigilarse que los recursos del equipo sean recuperados para
atender las necesidades de otros procesos, a fin de que el sistema operativo pueda se
guir operando durante periodos prolongados.
Lo anterior denota que los programas deben considerar los pasos y las instruccio
nes necesarias y pertinentes para liberar todos los recursos que reservan, en especial
las estructuras de datos y los buffers que soportan el manejo de archivos y los seg
mentos de memoria que se reservan durante la ejecución del proceso. En este mismo
sentido, se puede decir que algunos recursos pueden ser manejados de manera directa
por el sistema operativo o por la máquina virtual (como la máquina virtual Java, que
proporciona ambientes de ejecución para aplicaciones desarrolladas para estas pla
taformas), e incluso por las interfaces de programación, para liberar o simplificar el
trabajo de programación, por lo que se recomienda vigilar con sumo cuidado el uso
de los recursos luego de la terminación de los procesos durante la etapa de pruebas de
los sistemas, con el fin de evitar omisiones que puedan comprometer la estabilidad del
sistema. Las condiciones usuales por las que un proceso debe terminar son:
• Salida normal. Ocurre cuando el propio algoritmo del programa considera que
debe concluirse la ejecución.
• Por un error crítico. Sucede cuando el programa detecta una situación que le
impide seguir con su operación normal, y debe proceder a ejecutar la funcionalidad
que le permita recuperar todos los recursos posibles y terminar su ejecución con el
menor impacto negativo posible al sistema.
• Por una condición de excepción. Ocurre cuando, ante diversas situaciones ines
peradas por el algoritmo, el proceso procede a terminar, incluso si existe un proce
Copyright © 2015. Grupo Editorial Patria. All rights reserved.
dimiento de recuperación.
• Recibir una señal de otro proceso. Ocurre cuando algunos procesos tienen au
toridad para enviar señales a otros procesos; el comportamiento básico al recibir
una de estas señales es ejecutar una función asignada a ese tipo de señal y luego
terminar el proceso.
actividad propuesta }
En acción
Todos los mecanismos de terminación contemplan que los programas implementen todos los pasos
necesarios para liberar los recursos que se reservaron antes de ser terminados. Pero si un progra-
Sol, Llaven, Daniel. Sistemas operativos: panorama para la ingeniería en computación e informática, Grupo Editorial Patria, 2015. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=4569649.
Created from bibliounicartagenasp on 2018-07-27 18:26:05.
ma no libera todos los recursos que reservó se habla de “fuga de recursos”; una de las formas más
comunes es la fuga de memoria.
1. Investiga la definición y diferentes ejemplos de fugas de memoria o fugas de conexión a base de
datos.
2. Con base en la información que recabaste mediante tu investigación, realiza lo que se te pide a
continuación.
¿Cómo afectan estos problemas al usuario final?
• Cita un caso donde ese tipo de efectos negativos (fugas de memoria o fugas de conexión) se
presenten en la operación cotidiana del software que usas como apoyo en tus clases diarias.
3. Recopilen los ejemplos de todo el grupo y comenten acerca del nivel de calidad de los diversos
productos usados y su impacto en la operación.
Implementación de procesos
La administración de procesos requiere de diversos mecanismos para mantener bajo
control la información de todos los procesos presentes en el sistema durante su opera
ción, así como para almacenar aquella información que representa el estado de los
procesos que se mantienen inactivos, con el fin de poder cargarla y ejecutarla cuando
se le asigne su turno de ejecución.
Por lo regular, esta información se almacena en una estructura de datos, donde
cada proceso recibe un registro y en la que se mantiene un conjunto de información
de los aspectos que el sistema operativo debe controlar para cada proceso. Por ejemplo,
con base en los campos que maneja la API procps, en su estructura proc_tse tiene
Copyright © 2015. Grupo Editorial Patria. All rights reserved.
Campo Contenido
tid Task ID, identificación del hilo de ejecución según el estándar POSIX.
ppid Identificador del proceso padre (proceso que a su vez creó al proceso que se está
describiendo).
state Estado en el que se encuentra el proceso; por ejemplo, “S” (Sleep) cuando está bloqueado.
utime Tiempo de atención de la CPU en modo de usuario dedicado al proceso.
stime Tiempo de atención de la CPU en modo de sistema (modo protegido) al proceso.
cutime Tiempo acumulado de atención en modo de usuario del proceso y todos los hijos terminados.
(Continúa)
Sol, Llaven, Daniel. Sistemas operativos: panorama para la ingeniería en computación e informática, Grupo Editorial Patria, 2015. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=4569649.
Created from bibliounicartagenasp on 2018-07-27 18:26:05.
Campo Contenido
cstime Tiempo acumulado de atención en modo de sistema del proceso y todos los hijos
terminados.
start_time Tiempo de inicio del proceso.
señales Se tienen diversos arreglos para registrar las señales que reciben el hilo y el proceso.
codigo Rango de direcciones de memoria en las que se encuentra el código del programa.
stack Rango de direcciones de memoria en las que se almacena el stack y el cursor.
Apuntador de Apuntador a la siguiente instrucción que será procesada por la CPU.
instrucción
wchan Dirección del canal de espera del núcleo por el cual el proceso está bloqueado.
Prioridad Indicador de la preferencia del proceso para la planeación.
Nivel de Nice Indicador numérico de modificador de prioridad (Nice) actual del proceso.
rtprio Prioridad de tiempo real.
sched Tipo de planificación (tiempo real o normal).
rss Tamaño del conjunto de páginas que habrá de mantenerse en memoria para el proceso.
alarma Información de la siguiente alarma pendiente del proceso.
size Total de páginas de memoria asignadas al proceso.
resident Número de páginas residente (no enviadas a memoria virtual).
share Número de páginas compartidas usadas por el proceso.
environ Vector de variables de ambiente.
cmdline Vector de línea de comandos.
pgrp Identificador del grupo de procesos.
Copyright © 2015. Grupo Editorial Patria. All rights reserved.
Ahora bien, es muy importante destacar aquí que el control de las fechas y horas
para el manejo de procesos en el sistema operativo se realiza mediante un contador
que se encuentra ligado con un cristal de cuarzo que vibra en una frecuencia que es un
Sol, Llaven, Daniel. Sistemas operativos: panorama para la ingeniería en computación e informática, Grupo Editorial Patria, 2015. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/bibliounicartagenasp/detail.action?docID=4569649.
Created from bibliounicartagenasp on 2018-07-27 18:26:05.