Sie sind auf Seite 1von 13

UNIVERSIDAD AUTONOMA DE CIUDAD

JUAREZ
INSTITUTO DE INGENIERIA Y TECNOLOGIA



SISTEMAS OPERATIVOS
Segunda tarea de Investigacin


Alumno: Jos M. Lemus
Matricula: 121113
Maestro: Jorge Isaac Arellano


Definicin de proceso.
Un proceso es un programa en ejecucin, incluyendo el valor del programa, los registros y
las variables. Cada proceso tiene un hilo de ejecucin visto como un cpu vital.

Explique que es una mquina virtual. Ilustre

Es un software que emula a un ordenador y puede ejecutar programas como si fuese un
ordenador real. Este software en un principio fue definido como un duplicado eficiente y
aislado de una maquina fsica


En un modelo de 7 estados (ejecucin, bloqueado y listo), explique brevemente acerca de
cada uno de los estados de los procesos. Y explique cada una de las transiciones posibles,
porque pasan de una a otra. Cuales se pueden dar y cules no.

En este modelo se incluyen dos estados de suspensin. Bloqueado/Suspendido y
Listo/Suspendido. Por lo tanto los estados son:
- Nuevo: un proceso est en este estado cuando acaba de crearse, pero el S.O aun no
lo ha admitido entre los procesos que pueden ejecutarse.
- Listo: el proceso est preparado para ejecutarse en cualquier momento.
- Ejecucin: el proceso est actualmente ejecutndose en el procesador.
- Bloqueado: el proceso actualmente no puede ejecutarse hasta que no se produzca un
evento externo que le permita continuar.
- Bloqueado/suspendido: en este proceso suspendido que est esperando a que se
produzca 1 evento externo a l.
- Listo/suspendido: es un proceso suspendido que puede ser llevado a memoria
principal en cualquier momento, es decir, al estado listo.
- Terminado: el proceso acaba su ejecucin.





TRANSICIONES
1- Bloqueado Suspendido/Bloqueado: Si no hay procesos Listos, entonces al menos
un proceso Bloqueado se expulsa para dar cabida a otro proceso que no est
bloqueado.
2- Suspendido/Bloqueado- suspendido/Preparado: Un proceso en estado Bloqueado y
suspendido se pasa al estado Listo y suspendido cuando ocurre el suceso que estaba
esperando.
3- Suspendido/Preparado- Preparado: Cuando no hay procesos Listos en la memoria
principal, el sistema operativo tendr que traer uno para continuar la ejecucin.
4- Preparado- Suspendido/Preparado: El sistema operativo puede escoger suspender un
proceso Listo de ms baja prioridad en lugar de uno Bloqueado que sea de prioridad
ms alta si l cree que el proceso Bloqueado pronto estar listo.
5- Nuevo-Suspendido-Preparado: Cuando se crea un nuevo proceso, se le puede aadir
a la cola de listos o a la de listos y suspendidos.
6- Suspendido/Bloqueado- Bloqueado: Hay un proceso en la cola de Bloqueados y
suspendidos que tiene una prioridad mayor que La de cualquier proceso de la cola
de Listos y suspendidos, as que el sistema operativo tiene razones para suponer que
pronto ocurrir el suceso por el que el proceso est bloqueado
7- Ejecutando/Suspendido- Preparado: El sistema operativo podra pasar el proceso en
Ejecucin directamente a la cola de Listos y suspendidos, liberando espacio en la
memoria principal.
8- Finalizado: cuando el proceso pasa a un estado de terminado.

Explique las diferencias entre un proceso ejecutado en modo ncleo (kernel) y modo
usuario.

El Modo Usuario: Es cuando un usuario hace una llamada al sistema operativo para realizar
una tarea. En este modo slo se permiten algunas operaciones por la proteccin que tiene el
sistema operativo. Es un modo menos privilegiado de funcionamiento, sin el acceso directo
al hardware. El cdigo que corre en este modo slo acta en su propio espacio de direccin.
Este usa las APIs para pedir los servicios del sistema operativo que tienes en proceso.

El Modo Kernel es un modo muy privilegiado de funcionamiento, donde el cdigo tiene el
acceso directo a todo el hardware y toda la memoria, incluso a los espacios de direccin de
todos los procesos del modo usuario.


Explique el significado de multiprogramacin.

Se distinguen por sus habilidades para poder soportar la ejecucin de dos o ms trabajos
activos (que se estn ejecutado) al mismo tiempo. Esto trae como resultado que la Unidad
Central de Procesamiento (UCP) siempre tenga alguna tarea que ejecutar, aprovechando al
mximo su utilizacin.
Su objetivo es tener a varias tareas en la memoria principal, de manera que cada uno est
usando el procesador, o un procesador distinto, es decir, involucra maquinas con ms de una
UCP.
Sistemas Operativos como UNIX, Windows 95, Windows 98, Windows NT, MAC-OS,
OS/2, soportan la multitarea

Explique el significado de multiprocesamiento.

Los sistemas de multiprocesamiento tienen procesadores mltiples corriendo al mismo
tiempo. Los sistemas de multiprocesamiento permiten que diferentes hilos funcionen en
diferentes procesadores. Esta capacidad acelera considerablemente el funcionamiento de
programa. Ahora dos hilos pueden funcionar ms o menos independientemente uno de otro
sin requerir que el hilo intercambia para conseguir los recursos del procesador. Los sistemas
operativos de multiprocesador son en s mismos con hilos mltiples y generan tambin hilos
que pueden funcionar en los procesadores separados para mejor provecho.

Explique que es una tabla de procesos.

Es una estructura, generalmente esttica por razones de eficacia, cuyas entradas son bloque
de control de procesos.
Si enlazamos todos los bloques de control de procesos (PCBs), mediante un array o bien
una lista enlazada, obtenemos la tabla de procesos. Esta, toma informacin de cada uno de
los procesos. Cada proceso consta de un identificador (PI, Identificador de Procesos) para
un correcto uso y control.

Explique qu significa crear un proceso y explique 5 de los motivos por los cuales se puede
crear un proceso y que es lo que sucede cuando esto pasa.

Los procesos son creados y eliminados por el sistema operativo, as como tambin ste se
debe hacer cargo de la comunicacin entre procesos, pero lo hace a peticin de otros
procesos (interrupcin o tiempo de reloj). El mecanismo por el cual un proceso crea otro
proceso se denomina bifurcacin (fork). Los nuevos procesos pueden ser independientes y
no compartir el espacio de memoria con el proceso que los ha creado o ser creados en el
mismo espacio de memoria.
Bsicamente hasta el da de hoy existen slo 4 formas de crear un proceso:
Arranque del sistema.
En la ejecucin, desde un proceso, de una llamada al sistema para la creacin del proceso.
Una peticin deliberada del usuario para crear un proceso.
El inicio de un trabajo por lotes.











Explique qu significa terminar un proceso y explique 5 de los motivos por los cuales se
puede terminar un proceso y que es lo que sucede cuando esto pasa.

El ciclo de vida de un proceso es sencillo, consta de la creacin, la ejecucin de instrucciones
y la terminacin. Cabe sealar que un proceso en el transcurso de su ciclo puede estar en
diferentes estados.

Salida normal.
Salida por error.
Error fatal.
Eliminado por otro proceso.
Salida normal, sta se presenta cuando el proceso termina de forma voluntaria, por ejemplo,
cuando se cierra en navegador web o el procesador de textos.

Salida por error, sta se presenta cuando el proceso tiene que salir debido a insuficiencia de
datos, por ejemplo, cuando solicita un archivo que no existe.

Error fatal, ste sucede por un error en el programa, como las divisiones entre 0 o
requerimiento de memoria inaccesible.

Eliminado por otro proceso, ste es sumamente til cuando un proceso se queda colgado, es
decir, sin terminar, pero tampoco responde. En Unix un ejemplo es cuando se utiliza el
comando kill para terminar procesos abruptamente.

Explique qu significa suspender un proceso y explique 3 de los motivos por los cuales se
puede suspender un proceso y que es lo que sucede cuando esto se da.

En general se considera suspendido a un proceso que presenta las caractersticas siguientes.
- Un proceso suspendido no est disponible de inmediato para su ejecucin.
- Un proceso puede estar esperando o no un suceso, si lo est la condicin de bloqueo
es independiente de la condicin de suspendido y el acontecimiento del suceso
bloqueante no lo habilita para ejecucin.
- El proceso fue situado en estado en estado suspendido por un agente ( el SO o el
proceso padre) con el fin de impedir la ejecucin
- El proceso no puede apartarse de estado hasta que llegue la orden exprese para ello.

Entre los motivos para suspender un proceso podemos citar las siguientes.
- Intercambio un proceso por otros. El SO necesita liberar memoria principal para
cargar un proceso que est listo para ejecutarse.
- Suspensin de un proceso por el SO por sospechar que est causando algn tipo de
problemas.
- Solicitud expresa del usuario.
- Un proceso puede ejecutarse peridicamente y puede ser suspendido mientras
espera el intervalo de tiempo antes de una nueva ejecucin.
- Por una peticin del proceso padre.

Explique los diferentes tipos de interrupciones y que es lo que sucede cuando esto se da
dentro de un sistema.

- Interrupciones internas de hardware

Las interrupciones internas son generadas por ciertos eventos que surgen durante la
ejecucin de un programa.
Este tipo de interrupciones son manejadas en su totalidad por el hardware y no es
posible modificarlas.
Un ejemplo claro de este tipo de interrupciones es la que actualiza el contador del
reloj interno de la computadora, el hardware hace el llamado a esta interrupcin
varias veces durante un segundo para mantener la hora actualizada.

- Interrupciones externas de hardware
Las interrupciones externas las generan los dispositivos perifricos, como pueden ser:
teclado, impresoras, tarjetas de comunicaciones, etc. Tambin son generadas por los
coprocesadores.
No es posible desactivar a las interrupciones externas.
Estas interrupciones no son enviadas directamente a la UCP, sino que se mandan a
un circuito integrado cuya funcin es exclusivamente manejar este tipo de
interrupciones. El circuito, llamado PIC 8259A, si es controlado por la UCP
utilizando para tal control una serie de vas de comunicacin llamadas puertos.

- Interrupciones de software
Las interrupciones de software pueden ser activadas directamente por el ensamblador
invocando al nmero de interrupcin deseada con la instruccin INT.
El uso de las interrupciones nos ayuda en la creacin de programas, utilizndolas
nuestros programas son ms cortos, es ms fcil entenderlos y usualmente tienen un
mejor desempeo debido en gran parte a su menor tamao.
Este tipo de interrupciones podemos separarlas en dos categoras: las interrupciones
del sistema operativo DOS y las interrupciones del BIOS.



Describa las acciones tomadas por un kernel para el cambio de contexto entre procesos.

El kernel realiza las siguientes operaciones en el orden indicado:

- Salvar el estado del programa que se estaba ejecutando. El estado, tambin
denominado contexto, consiste en los valores de todos los registros del
microprocesador. Se copian en la memoria principal.
- Seleccionar otro programa para ejecutar. Entre todos los programas que estn
preparados para ejecutarse, la rutina selecciona uno de ellos siguiendo algn
algoritmo equitativo.
- Restaurar el estado del programa seleccionado. Para ello, se toma el estado
previamente copiado en la memoria principal y se vuelca en los registros del
microprocesador.
- Ejecutar el programa seleccionado. La rutina termina su ejecucin saltando a la
instruccin que estaba pendiente de ejecutar en el programa seleccionado.

Este ciclo se repite bien cada vez que ocurre un evento de entrada/salida, bien cuando vence
un temporizador programado en el hardware. Dicho temporizador hace saltar una
interrupcin cada 150 milisegundos aproximadamente (segn sistema operativo).



Presentar el concepto de hebra o hilos.

Un hilo es una entidad ms reducida capaz de convivir junto a otros hilos bajo el contexto de
un nico proceso, permitiendo compartir la informacin de estado, el rea de memoria y/o
los recursos asociados a ese proceso.
Dentro de un proceso puede haber uno o ms hilos de control cada uno con: Un estado de
ejecucin (en ejecucin, listo, bloqueado), Un contexto de procesador, que se salva cuando
no est ejecutndose, Una pila de ejecucin, Algn almacenamiento esttico para variables
locales, Acceso a la memoria y a los recursos de ese trabajo que comparte con los otros hilos.


Describa las ventajas de la programacin multihebra.

- La capacidad de respuesta: el uso de mltiples hilos en una misma aplicacin
interactiva permite que un programa contine con su ejecucin incluso cuando una
parte este bloqueado o realizando una operacin costosa, lo que incrementa la
capacidad de respuesta antes el usuario.
- Comparticin de los recursos: por omisin, los hilos comparten la memoria y los
recursos del proceso al que pertenecen. La ventaja de compartir el cdigo y los datos
radica en que una aplicacin tenga varios hilos de actividad distintos dentro del
mismo espacio de direcciones.
- Econmico: la asignacin de memoria y recursos para la creacin de procesos es ms
bien costos. Dado que los hilos comparten los recursos del proceso al que
pertenecen, es ms fcil crear y realizar cambios de contexto entre unos y otros hilos.
Generalmente se consume mucho ms tiempo en la creacin y gestin de los
procesos que de los hilos.
- El uso en arquitecturas multiprocesador: las ventas de usar el modelo multihilo
pueden verse y incrementadas en una arquitectura multiprocesador, donde los hilos
pueden ser ejecutados de forma totalmente paralela en los diferentes procesadores.
Describa los modelos multihebra. (Modelo muchos-a-uno, Modelo uno-a-uno, Modelo
muchos-a-muchos).

- Modelo Muchos a Uno: En el modelo muchos a uno se asignan multiples hilos del
nivel de usuario a un hilo del kernel. La gestin de los hilos se realisa a travez de la
biblioteca de hilos en el espacio de usuarios, por lo que resulta eficiente,
bloquendose el proceso completo si un hilo realiza una llamada bloqueante al
sistema.

- Model Uno a Uno: Temas creados por el usuario estn en correspondencia de 1-1
con entidades programables en el nucleo. Esta es la implementacin de roscado
simple posible. Win32 utiliza este enfoque desde el principio. En Linux, la biblioteca
C usual implementa este mtodo ( a travs de la NPTL o mayores LinuxThreads). El
mismo mtodo es utilizado por Solaris, NetBSD y FreeBSD.
o Los puntos mas destacados de este modelo son:
o Cada hebra del usuario tiene una hebra del kernel.
o Mayor concurrencia que el modelo muchos es a muchos.
o Solo se bloquea la hebra que hace una llamada bloqueante.
o Mltiples hebras en paralelo sobre varios procesadores.
o Carga administrativa al crear hebras del kernel. Captura.JPGE.

- Modelo Muchos a Muchos: lo caracterstico de este modelo es el hecho que muchos
threads de usuario, confluyen en el itinerador de Threads (LWP), el cual deriva
aquello en mltiples threads creados por el kernel para poder cumplir con dicho
propsito.

Bajo qu circunstancias una solucin multihebra que usa mltiples hebras del kernel
proporciona un mejor rendimiento que una solucin de una sola hebra sobre un sistema
mono procesador?

Un ejemplo de la utilizacin de hilos es tener un hilo atento a la interfaz grfica (iconos,
botones, ventanas), mientras otro hilo hace una larga operacin internamente. De esta
manera el programa responde de manera ms gil a la interaccin con el usuario. Tambin
pueden ser utilizados por una aplicacin servidora para dar servicio a mltiples clientes.

Una ventaja de la programacin multihilo es que los programas operan con mayor velocidad
en sistemas de computadores con mltiples CPUs (sistemas multiprocesador o a travs de
grupo de mquinas) ya que los hilos del programa se prestan verdaderamente para la
ejecucin concurrente.

Explique cambio de contexto vs interrupciones.
Cuando se produce una interrupcin, el hecho de invocar la rutina de atencin de la
interrupcin no es un cambio de contexto. Esto se debe a que el cdigo de la rutina
de atencin es parte del ncleo y por lo tanto no pertenece a ningn proceso en
particular. Para que haya un cambio de contexto es necesario que se pase de la
ejecucin del cdigo de un proceso a la ejecucin del cdigo de otro proceso.
Sin embargo muchos cambios de contexto ocurren durante una interrupcin, por
ejemplo cuando interrumpe el reloj regresivo. En otros casos, la interrupcin no se
traduce en un cambio de contexto. Por ejemplo si un disco interrumpe, esto puede
significar que el proceso que esperaba esta interrupcin se coloca en la cola del
scheduler pero no se le transfiere de inmediato el procesador, se contina ejecutando
el proceso interrumpido.

Defina bloque de control de proceso (BCP). Para qu es utilizado?
Estructura de datos con toda la informacin de un proceso en ejecucin del sistema.
Contiene la informacin necesaria para que un proceso pueda ser gestionado y
controlado por el SO.
Cada vez que se crea un proceso el SO crea un BCP para que sirva como descripcin
en tiempo de ejecucin durante la vida del proceso.

Para qu sirve el planificador o scheduler del ncleo del S.O.?
Su funcin consiste en repartir el tiempo disponible de un microprocesador entre
todos los procesos que estn disponibles para su ejecucin.
Por ello, la primera misin de un planificador es expulsar el programa en ejecucin
cuando decida que es pertinente. Esto se consigue de dos maneras, siempre con
ayuda del propio hardware:
Cuando expira un temporizador, que se activa a intervalos regulares de tiempo.
En intervalos muy cortos, generalmente cada 250 milisegundos.
Cuando el programa solicita una operacin de entrada/salida. Dado que el
programa no puede continuar hasta que termine dicha operacin, es un buen
momento para ejecutar otro programa.
En ambos casos, el control del microprocesador pasa a manos del planificador gracias
a que el hardware genera una interrupcin. En este proceso de expulsin, se guarda el
estado de ejecucin del programa


Para qu sirve el activador o dispatcher del ncleo del S.O.?
Su misin es asignar los procesadores centrales a los procesos. Es llamado cuando un
proceso no puede seguir o puede emplearse mejor en otra parte. Se activa en las
situaciones siguientes:
- Tras una interrupcin externa ha cambiado el estado de un proceso.
- Despus de que un extra cdigo provoque imposibilidad de seguir la ejecucin
de un proceso.
- Tras una seal de error se ha suspendido el proceso hasta que no se haya
tratado este.
Para determinar el proceso ms adecuado para ser ejecutado se ordenan los procesos
ejecutables de acuerdo con algn criterio de prioridad. Las prioridades de los
procesos vienen dadas y por tanto no son mision del dispatcher.
Se utilizara una cola ordenada de modo que en cabeza de la cola este el proceso ms
adecuado, as la misin del dispatcher es la de ejecutar el primer proceso de la cola
que no est siendo ejecutado.
Se puede tener en lugar de una cola, ms de una. Por ejemplo tres. Una para aquellos
procesos a los que se les permite dos segundos consecutivos de CPU. Otra para los
que se les permiten 0,25 y otra para los que se les permite solo 0,02 segundos.

Investigue algunos comandos para administracin de procesos en Linux y pngalos en
prctica en su mquina virtual. Explique procedimientos. Ilustre.

ps
El comando ps es el que permite informar sobre el estado de los procesos. ps esta basado en el
sistema de archivos /proc, es decir, lee directamente la informacin de los archivos que se encuentran
en este directorio. Tiene una gran cantidad de opciones, incluso estas opciones varan dependiendo
del estilo en que se use el comando.









pstree
Muestra los procesos en forma de rbol, pstree --help te da las opciones ms comunes. Recomiendo
uses lo uses con la opcin -A y -G para que te un rbol con lneas con lneas estilo ASCII y de
terminal VT100 respectivamente, puedes aadir tambin -u para mostrar entre parntesis al usuario
propietario del proceso


kill
El comando kill, que literalmente quiere decir matar, sirve no solo para matar o terminar procesos
sino principalmente para enviar seales (signals) a los procesos. La seal por default (cuando no se
indica ninguna es terminar o matar el proceso), y la sintaxis es kill PID, siendo PID el nmero de ID
del proceso.


killall
El comando killall, que funciona de manera similar a kill, pero con la diferencia de en vez de indicar
un PID se indica el nombre del programa, lo que afectar a todos los procesos que tengan ese
nombre.










nice
Permite cambiar la prioridad de un proceso. Por defecto, todos los procesos tienen una prioridad
igual ante el CPU que es de 0. Con nice es posible iniciar un programa (proceso) con la prioridad
modificada, ms alta o ms baja segn se requiera. Las prioridades van de -20 (la ms alta) a 19 la ms
baja.



top
Una utilera muy usada y muy til para el monitoreo en tiempo real del estado de los procesos y de
otras variantes del sistema es el programa llamado top, se ejecuta desde la lnea de comandos, es
interactivo y por defecto se actualiza cada 3 segundos.

Referencias

https://eva.fing.edu.uy/pluginfile.php/75119/mod_resource/content/1/5-SO-Teo-
Procesos.pdf
http://es.slideshare.net/estebanbanban/maquina-virtual-1746182
http://www.slideboom.com/presentations/709980/MODELOS-DE-ESTADOS-Y-
TRANSICIONES
http://es.slideshare.net/LARRYCUERVO/estados-de-transicion-de-procesos-11850995
http://es.slideshare.net/IrisMTF16/multiprogramacion
http://smultiprocesadorydistribuidos.wikispaces.com/SISTEMAS+OPERATIVOS+MULTI
PROCESADOR
http://es.wikipedia.org/wiki/Proceso_(inform%C3%A1tica)#Creaci.C3.B3n_de_un_proceso
http://es.slideshare.net/omarhcc/gestion-de-procesos-en-sistemas-operativos-presentation
http://es.wikipedia.org/wiki/Interrupci%C3%B3n
http://es.slideshare.net/Eborda/bloque-de-control-de-procesos

Das könnte Ihnen auch gefallen