miércoles, 16 de noviembre de 2016

Administración y planificación de procesos

Unidad 4.- Administración y planificación de procesos

4.1.- Ciclo de vida de un proceso
El ciclo de vida de un proceso se ve definido por los siguientes estados:
NUEVO: Proceso que se acaba de crear, pero que aún no ha sido admitido por el sistema operativo en el grupo de procesos ejecutables.
LISTO: Proceso que está preparado para ejecutar, en cuanto se le dé la oportunidad. Puede pasar a bloqueado de inmediato si no cumple con todos los recursos necesarios para poder ser ejecutado.
BLOQUEADO: proceso que no puede ejecutar hasta que se produzca cierto suceso, como la terminación de otra operación, etc.
BLOQUEADO A LISTO: un proceso pasara al estado listo cuando se produzca el suceso que lo mantiene en bloqueado.
EJECUCIÓN: el proceso que está actualmente en ejecución.
EJECUCIÓN A LISTO: La razón más común de esta transición es que el proceso que está en ejecución ha alcanzado el tiempo máximo permitido de ejecución interrumpida.
TERMINADO: Un proceso que ha sido excluido por el sistema operativo del grupo de procesos ejecutables, bien porque se detuvo o porque fue abandonado por alguna razón.

4.2.- Núcleo del sistema (kernel)
El Kernel ó núcleo, es un software que constituye una parte fundamental del sistema operativo. Es el principal responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora el es el encargado de gestionar recursos, a través de servicios de llamada al sistema, también se encarga de decidir qué programa podrá hacer uso de un dispositivo de hardware y durante cuánto tiempo, lo que se conoce como multiplexado. Acceder al hardware directamente puede ser realmente complejo, por lo que los núcleos suelen implementar una serie de abstracciones del hardware. Esto permite esconder la complejidad, y proporciona una interfaz limpia y uniforme al hardware subyacente, lo que facilita su uso al programador.
Funciones del Kernel:
*Administración de la memoria para todos los programas y procesos en ejecución.
*Administración del tiempo de procesador que los programas y procesos en ejecución utilizan.
*La comunicación entre los programas que solicitan recursos y el hardware.
*Gestión de los distintos programas informáticos (tareas) de una máquina.
*Gestión del hardware (memoria, procesador, periférico, forma de almacenamiento, etc.)

4.3.- Procesos e hilos
En la mayoría de los sistemas operativos tradicionales, cada proceso tiene un espacio de direcciones y un hilo de control. De hecho, ésa es casi la definición de un procpso. Sin embargo, con frecuencia existen situaciones en donde se desea tener varios hilos d¿ control que compartan un espacio de direcciones, pero que se ejecutan de manera cuasi-paralela, como si fuesen de hecho procesos independientes. Cada hilo se ejecuta en forma estrictamente secuencial y tiene su contador de programa y una pila para llevar un registro de su posición. Los hilos comparten el CPU, de la misma forma que lo hacen los procesos; primero, se ejecuta un hilo y después otro (tiempo compartido). Sólo en un multiprocesador se pueden ejecutar en realidad en paralelo. Los hilos pueden crear hilos hijos y se pueden bloquear en espera de que se terminen sus llamadas al sistema, al igual que los procesos regulares.

4.4.- Planificación en sistemas distribuidos
Cada procesador hace su planificación local (si tiene varios procesos en ejecución), sin preocuparse por lo que hacen los demás procesadores. Lo normal es que este método funcione. Sin embargo, si un grupo de procesos relacionados entre sí y con gran interacción se ejecutan en distintos procesadores, la planificación independiente no es el camino más eficiente.

4.5.- Tolerancia a fallas
La tolerancia a fallas es considerada la principal característica que debe de tener un sistema distribuido para alcanzar el principio de transparencia.Para lograr la tolerancia a fallos se necesita de una buena comunicación entre procesos distribuidos y sobretodo de una correcta coordinación entre procesos.
Un Sistema Distribuido en base a la coordinación de sus procesos puede ser:
- Asíncrono: no hay coordinación en el tiempo.
- Síncrono: se suponen límites máximos para el retraso de mensajes.
El primer factor a tomar en cuenta es que el canal de comunicación este libre de errores (canal confiable).Para garantizar que el canal sea confiable se debe de realizar lo siguiente:
- Retransmisión de mensajes.
- Debe haber redundancia de canales
- La entrega de un paquete sea dentro de un tiempo límite especificado
En general, se considera que los canales de comunicación son fiables y que cuando falla la comunicación es debido a la caída del proceso.
Algunos fallos en el funcionamiento de un sistema pueden originarse por:
- Especificaciones impropias o con errores.
- Diseño deficiente de la creación del software o el hardware.
- Deterioros o averías en al hardware.
Prevención y Tolerancia a Fallos
Existen dos formas de aumentar la fiabilidad de un sistema.
1. Prevención de fallos: Se trata de evitar que se implementen sistemas que pueden introducir fallos.
2. Tolerancia a fallos: Se trata de conseguir que el sistema continué funcionando correctamente aunque se presenten algunos fallos.

1 comentario:

  1. The best gambling sites for real money - DRMCD
    Top 10 gambling sites 논산 출장마사지 with real money · 1. Slots 밀양 출장안마 Empire - $0.25 No Deposit Bonus · 2. Wild Vegas - $1 여주 출장안마 No Deposit Bonus · 3. 인천광역 출장샵 mBit Casino - $25 세종특별자치 출장샵 Free Bonus

    ResponderEliminar