Você está na página 1de 26

UNIDAD II –

ADMINISTRACIÓN DE
PROCESOS.
Son los componentes de software que
integran a los sistemas operativos, estos
son:

•Administrador de procesos.

•Administrador de memoria.

•Administrador de dispositivos de E/S.

•Administrador de información o de archivos.


• Conjunto de fases sucesivas de un
fenómeno o hecho complejo.

• Conjunto de operaciones a que se


somete una cosa para elaborarla o
transformarla.
La actividad más importante del núcleo del
sistema operativo es implementar los procesos.
Cada proceso es un procesador virtual en donde
se ejecuta una aplicación o una herramienta del
sistema operativo.
Dentro del administrador de procesos tenemos
diferentes políticas:

•Elegir cual proceso entra primero en base a


estructuras de datos básicas: colas, pilas.

•Cual es el proceso más rápido, con base a


pronósticos de tiempos estimados.
•Todo se realiza en base a algoritmos que
permiten administrar cual entra primero; por
ejemplo el algoritmo: RR, Round Robin, cola
circular.

•Optimizar el tiempo de ejecución.

•Optimizar el uso de la memoria, controlar el


uso de los dispositivos de E/S para interectuar
con el CPU.

•Permite controlar las diferentes rutinas.


(Señalización e Interrupciones).
• En la mayoría de los sistemas
computacionales existe un solo procesador
real. Por lo tanto el núcleo debe asignar el
procesador por turnos a los numerosos
procesos que pueden estar activos.

Hay distintas estrategias para asignar estos


turnos, dependiendo del objetivo que se
persiga.
La asignación estratégica del procesador a los
procesos es lo que se denomina scheduling de
procesos.

La componente del núcleo que se encarga de


esta labor se denomina scheduler del
procesador.
• CREACION. El núcleo esta obteniendo los
recursos que necesita el proceso para poder
correr, como por ejemplo memoria o disco.

• CORRIENDO (RUN. El proceso está en posesión


del procesador, el que ejecuta sus instrucciones.
• ESPERANDO (WAIT). El proceso espera que
se lea un sector del disco, que llegue un
mensaje de otro proceso, que transcurra un
intervalo de tiempo, que termine otro
proceso, etc.

• LISTO (READY). El proceso esta activo pero


no está en posesión del procesador.
• TERMINADO (FINISH). El proceso terminó su
ejecución, pero sigue existiendo para que
otros procesos puedan determinar que
termino.
 Un proceso pasa de un estado a otro
constantemente y varias veces por segundo.

 El número exacto de estados depende del


sistema.
Por ejemplo cuando un proceso está corriendo el
scheduler puede quitarle el procesador para entregárselo a
otro proceso.

En este caso el primer proceso queda listo para ejecutarse.


Es decir en cualquier momento, el scheduler puede
entregarle nuevamente el procesador y quedar corriendo.

En este estado el proceso puede leer del terminal y por lo


tanto quedar en espera de que el usuario ingrese algún
texto.
Si lanzas Microsoft Word y VFP, entonces
tienes dos procesos separados que están
corriendo al mismo tiempo aunque sólo tengas
una CPU. El sistema operativo asigna tiempo a
cada uno de los procesos y pasa de uno a otro
según le interesa.
Es una ejecución concreta de un programa,
con un camino determinado y un valor de sus
variables determinados. La unidad mínima de
expedición y de asignación de recursos es el
proceso.
• Propiedad de Recursos
• Memoria asignada.
• Canales y/o Dispositivos de I/O asignados.
• Archivos asignados.
• Entidad de Ejecución
• Bloque de Control del Proceso (BCP).
• Estado del Proceso.
• Traza de ejecución (Programa en ejecución y su control).
• Condiciones de trabajo en Multiprogramación
• Varios Procesos deben poder compartir recursos.
• Varios Procesos deben poder trabajar juntos en paralelo.
• Un Proceso debe poder "crear" otro Proceso.
En inglés IPC (Interprocess Communication) es
una función básica de los Sistemas operativos.
Los procesos pueden comunicarse entre sí a
través de compartir espacios de memoria, ya
sean variables compartidas o buffers, o a
través de las herramientas provistas por las
rutinas de IPC. La IPC provee un mecanismo
que permite a los procesos comunicarse y
sincronizarse entre sí.
Ejemplos de comunicación de procesos:

Los protocolos desarrollados para internet son


los mayormente usados: IP (capa de red),
protocolo de control de transmisión (capa de
transporte) y protocolo de transferencia de
archivos , protocolo de transferencia de
hipertexto (capa de aplicación).
Un hilo de ejecución, en sistemas operativos,
es una característica que permite a una
aplicación realizar varias tareas
concurrentemente. Los distintos hilos de
ejecución comparten una serie de recursos
tales como el espacio de memoria, los
archivos abiertos, situación de autenticación,
etc.
Los hilos de ejecución que comparten
los mismos recursos, sumados a estos
recursos, son en conjunto conocidos
como un proceso.
• Estado.

• Contexto del procesador. Punto en el que


estamos ejecutando, la instrucción
concretamente en la que nos hallamos. Es útil a
la hora de reanudar un hilo que fue interrumpido
con anterioridad, puesto que al guardar el
contexto, guardamos la ultima instrucción que
ejecutamos, y así podemos conocer por donde
tenemos que continuar la ejecución del hilo.
• Pila de ejecución donde se irá metiendo y
sacando instrucciones. (Lugar donde
almacenaremos las instrucciones que van a
ser ejecutadas).

• Espacio de almacenamiento estático donde


almacenará las variables.

• Acceso a los recursos de la tarea, que son


compartidos por todos los hilos de la tarea.
• Se tarda menos tiempo en crear un hilo de una
tarea existente que en crear un nuevo proceso.

• Se tarda menos tiempo en terminar un hilo que


en terminar un proceso.

• Se tarda menos tiempo en cambiar entre dos


hilos de una misma tarea que en cambiar entre
dos procesos (porque los recursos no cambian,
por ejemplo).
• Es mas sencillo la comunicación (paso
de mensajes por ejemplo) entre hilos
de una misma tarea que entre
diferentes procesos.

• Cuando se cambia de un proceso a


otro, tiene que intervenir el núcleo del
sistema operativo para que haya
protección.

Você também pode gostar