2. Procesos:
Un proceso es un concepto manejado por el sistema
operativo que consiste en el conjunto formado por:
•Las instrucciones de un programa destinadas a ser
ejecutadas por el microprocesador.
•Su estado de ejecución en un momento dado, esto es, los
valores de los registros de la CPU para dicho programa.
•Su memoria de trabajo, es decir, la memoria que ha
reservado y sus contenidos.
•Otra información que permite al sistema operativo su
planificación
3. Los procesos son creados y destruidos por el sistema operativo, así como
también este se debe hacer cargo de la comunicación entre procesos,
pero lo hace a petición de otros procesos. El mecanismo por el cual un
proceso crea otro proceso se denomina bifurcación (fork). Los nuevos
procesos son independientes y no comparten memoria (es decir,
información) con el proceso que los ha creado
La diferencia estriba en que un proceso solamente puede crear hilos
para sí mismo y en que dichos hilos comparten toda la memoria
reservada para el proceso
4. MODELO:
El modelo de procesos posee las siguientes características:
Todo el software ejecutable, inclusive el Sistema Operativo, se organiza
en varios procesos secuenciales o procesos.
Un proceso incluye al programa en ejecución y a los valores activos del
contador, registros y variables del mismo.
Conceptualmente cada proceso tiene su propia cpu virtual.
Si la cpu alterna entre los procesos, la velocidad a la que ejecuta un
proceso no será uniforme, por lo que es necesario aclarar lo siguiente
Un proceso es una actividad de un cierto tipo, que tiene un programa,
entrada, salida y estado
puede ser compartido entre varios procesos con cierto “algoritmo de
planificación” , el cual determina cuándo detener el trabajo en un
proceso y dar servicio a otro distinto
5.
6. JERARQUIA:
Dibuja la jerarquía de procesos que resulta de la ejecución del
siguiente código. Introduce las llamadas al sistema wait para que una
vez generado el árbol de procesos los hijos sean esperados por sus
respectivos padres. Ademas, haz que se informe de los tiempos de
ejecución de las aplicaciones xload y
kcalc que se generen así como del tiempo total de ejecución. Para
calcular el tiempo transcurrido, puedes utilizar la función´ time() de la
librería estándar time.h. La llamada time(NULL) devuelve los segundos
transcurridos desde las 00:00:00 del 1/1/1970 hasta el instante de la
llamada.
7. ESTADO:
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.
Deben efectuarse las siguientes consideraciones:
Cada proceso es una entidad independiente pero frecuentemente
debe interactuar con otros procesos
Los procesos pueden bloquearse en su ejecución porque:
Desde el punto de vista lógico no puede continuar porque espera
datos que aún no están disponibles.
El Sistema Operativo asignó la cpu a otro proceso.
8. Los estados que puede tener un proceso son:
En ejecución: utiliza la cpu en el instante dado.
Listo: ejecutable, se detiene en forma temporal para que se ejecute
otro proceso.
Bloqueado: no se puede ejecutar debido a la ocurrencia de algún
evento externo.
Son posibles cuatro transiciones entre estos estados.
9. PLANIFICACIÓN DE
PROCESOS:
En los Sistemas Operativos es un conjunto de políticas y mecanismos
incorporados al sistema operativo, a través de un módulo
denominado planificador, que debe decidir cuál de los procesos en
condiciones de ser ejecutado conviene ser despachado primero y
qué orden de ejecución debe seguirse. Esto debe realizarse sin perder
de vista su principal objetivo que consiste en el máximo
aprovechamiento del sistema, lo que implica proveer un buen servicio
a los procesos existentes en un momento dado
10. PLANIFICACIÓN DEL PROCESO
PARALELO:
Es aquel que se realiza al mismo tiempo que otro, siendo ejecutados
ambos de modo simultáneo. Cuando hablamos de procesos paralelos
en un ordenador, nos referimos a aquellos procesos que se ejecutan
y/o procesan a la vez, anteponiéndose a los procesos lineales o
secuenciales, que serán ejecutados de uno en uno.
El proceso paralelo sólo es posible si disponemos de varias unidades de
proceso, generalmente núcleos o procesadores
11. INTERBLOQUEOS:
Situación donde un grupo de procesos están permanentemente
bloqueados como consecuencia de que cada proceso ha adquirido
un subconjunto de los recursos que necesita para su operación y esta
esperando la liberación de los restantes recursos mantenidos por otros
proceso del mismo grupo haciendo así imposible que ninguno de los
procesos pueda continuar.