PDF de programación - Gestión de Procesos

Imágen de pdf Gestión de Procesos

Gestión de Procesosgráfica de visualizaciones

Publicado el 2 de Octubre del 2018
525 visualizaciones desde el 2 de Octubre del 2018
337,9 KB
25 paginas
Creado hace 2a (04/11/2017)
Gestión de Procesos

Capítulo que describe cómo un sistema operativo realiza la gestión
de los procesos en ejecución en un sistema informático.
Comenzaremos definiendo qué es un proceso y la información que
el sistema operativo necesita para gestionar los procesos.
Posteriormente veremos conceptos básicos sobre la planificación
de la CPU y veremos en detalle los algoritmos de planificación.
Finalizaremos con la planificación de sistemas con varias CPUs y la
planificación de procesos divididos en hilos de ejecución.

Gestión de Procesos by Rafael Lozano is licensed under a Creative Commons Reconocimiento-
NoComercial-CompartirIgual 3.0 España License.

Tabla de contenidos

Tabla de contenido

1 Procesos...............................................................................................................................................1
1.1 Creación de procesos.................................................................................................................................2
1.2 Terminación de procesos..........................................................................................................................3
1.3 Estado de un proceso.................................................................................................................................3
1.4 Bloque de control de proceso..................................................................................................................3
2 Planificación de la CPU......................................................................................................................4
2.1 Multiprogramación......................................................................................................................................4
2.2 Colas de planificación.................................................................................................................................5
2.3 Cambio de contexto....................................................................................................................................6
2.4 Comportamiento de un proceso.............................................................................................................6
3 Algoritmos de planificación..............................................................................................................7
3.1 Objetivos de los algoritmos de planificación........................................................................................7
3.2 Planificación FCFS. Servicio por orden de llegada...............................................................................9
3.3 Planificación SJF. Tiempo de ejecución más breve...........................................................................11
3.4 Planificación SRTF. El menor tiempo restante...................................................................................12
3.5 Planificación por prioridades..................................................................................................................13
3.6 Planificación por turno circular..............................................................................................................15
4 Planificación de múltiples procesadores....................................................................................17
4.1 Sistema heterogéneo...............................................................................................................................17
4.2 Sistema homogéneo.................................................................................................................................17
5 Hilos de ejecución............................................................................................................................17
5.1 Implementación a nivel de usuario......................................................................................................18
5.2 Implementación a nivel de kernel.........................................................................................................19
5.3 Planificación de hilos................................................................................................................................20
6 Bibliografía.........................................................................................................................................21

Índice I

Rafael Lozano

Gestión de Procesos

Gestión
de procesos

1 Procesos

Una de las principales funciones de un sistema operativo es gestionar los procesos que se
ejecutan en el sistema informático en un momento dado. Se utiliza el término programa y proceso
como sinónimos cuando realmente son conceptos diferentes.

Un programa es un conjunto finito de instrucciones que realizan una tarea concreta.

El conjunto de instrucciones del programa se almacenan en forma de archivos ejecutables que

pueden ser invocados por el usuario para comenzar su ejecución.

Un proceso es un programa en ejecución junto con su entorno asociado formado por
los datos que emplea y otros que el sistema operativo utiliza para su gestión, como el
valor actual del contador de programa, registros y variables.

Si nos fijamos atentamente en las definiciones anteriores, un programa es un ente pasivo, ya

que es solo código, mientras que un proceso es activo y dinámico, ya que varía con el tiempo.

Un programa puede originar varios procesos. Por ejemplo, un usuario puede estar ejecutando
diferentes instancias del mismo programa simultáneamente. En este caso, varios procesos estarían
ejecutando el mismo programa.

Los procesos necesitan recursos hardware para su ejecución, como la CPU, espacio en
memoria, archivos y dispositivos de E/S. Estos recursos son asignados por el sistema operativo al
proceso en el momento de crearlo, es decir, cuando comienza su ejecución, o mientras se está
ejecutando, ya que las necesidades de recursos hardware por parte de los procesos puede cambiar

Página 1

Rafael Lozano

durante su ejecución.

Gestión de procesos

En la mayoría de los sistemas operativos el proceso es la unidad de trabajo, es decir, los
sistemas consisten en un conjunto de procesos. Los procesos del SO ejecutan el código del sistema y
los procesos de los usuarios ejecutan el código del usuario. En potencia, todos estos procesos
pueden ejecutarse concurrentemente, y la CPU o varias de ellas se multiplexan entre ellos. Al
conmutar la CPU entre procesos, el SO puede hacer más productivo al ordenador.

El SO es responsable de las siguientes actividades relacionadas con la administración de
procesos: la creación y eliminación de procesos tanto del sistema como de los usuarios, la
planificación de procesos y el suministro de mecanismos para la sincronización, comunicación y
manejo de bloqueos mutuos entre procesos.

1.1 Creación de procesos

En un sistema informático de propósito general se necesita cierta forma de crear y terminar
procesos según sea necesario durante la operación del sistema. Hay cuatro eventos principales que
provocan la creación de procesos:

1. Durante el arranque del sistema.

2. La ejecución, desde un proceso, de una llamada al sistema para creación de procesos.

3. Una petición de usuario para crear un proceso.

4. El inicio de un trabajo por lotes.

Generalmente, cuando se arranca un sistema operativo se crean varios procesos y en función

de su interactividad con el usuario, estos pueden ser:

✔ Procesos en primer plano.- Son procesos que interactúan con los usuarios y realizan trabajo

para ellos.

✔ Procesos en segundo plano.- No están asociados con usuarios específicos sino con una

función específica.

En un proceso en segundo plano no hay intervención del usuario y generalmente se ejecuta sin
que éste se de cuenta. Por ejemplo, un proceso en segundo plano puede imprimir un documento,
que permanece inactivo la mayor parte del día pero que se activa cuando llega el usuario imprime un
documento. Otro proceso en segundo plano acepta peticiones entrantes para las páginas Web
hospedadas en ese equipo, que despierte cuando llegue una petición para darle servicio.

Los procesos que permanecen en segundo plano se conocen como demonios (daemons). Los
sistemas grandes tienen comúnmente docenas de ellos. En Linux/UNIX podemos utilizar el comando
ps para listar los procesos en ejecución. En Windows podemos usar el administrador de tareas.

En los sistemas interactivos, los usuarios pueden iniciar un programa escribiendo un comando
o haciendo doble clic en un icono. Cualquiera de estas dos acciones ejecuta el programa seleccionado
lo que provoca el inicio de un proceso. En los sistemas operativos con GUI la mayoría de estos
procesos se cargarán en una ventana y los usuarios pueden tener varias ventanas abiertas a la vez,
cada una ejecutando algún proceso. Mediante el ratón, el usuario puede seleccionar una ventana e
interactuar con el proceso.

Página 2

Rafael Lozano

Gestión de Procesos

1.2 Terminación de procesos

Una vez creado un proceso, empieza a ejecutarse y realiza el trabajo al que está destinado.

Tarde o temprano, el proceso terminará debido a una de las siguientes condiciones:

1. Salida normal.

2. Salida por error.

3. Error fatal.

4. Eliminado por otro proceso.

La mayoría de los procesos terminan debido a que han concluido su trabajo. Las aplicaciones
de usuario siempre tienen un icono u opción de menú en el que el usuario puede hacer clic para
indicar al proceso que elimine todos los archivos temporales que tenga abiertos y después termine.

La segunda razón de terminación es que el proceso descubra un error. Los procesos
interactivos no suelen terminar cuando reciben algún dato incorrecto. En su lugar aparece un cuadro
de diálogo y se le
  • Links de descarga
http://lwp-l.com/pdf13693

Comentarios de: Gestión de Procesos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad