Volver al temario
Tema 03 · 54 páginas

La gestión de procesos

Tema completo Modo estudio
TEXTO ORIGINAL · Páginas 4546 Ver PDF

Resumen del documento

Texto íntegro de la conversión. Las figuras y la disposición de las notas se pueden consultar en el PDF.

Página 45

Resumen

En este módulo didáctico hemos analizado la gestión de procesos que hace el SO partiendo de la definición de proceso que ya habíamos visto en esta asignatura. Lo hemos hecho siguiendo los pasos siguientes: a) En primer lugar, para entender mejor el concepto de proceso, hemos analizado de manera superficial la representación interna del proceso en el SO y la gestión de los procesos en un sistema multiprogramado de tiempo compartido. Los principales conceptos que hemos presentado son los siguientes:

  • El bloque de control de procesos, como estructura básica que configura un proceso.
  • La ejecución concurrente, mediante la multiplexación del procesador en tiempo.
  • El estado de los procesos (run, ready y wait).
  • El cambio de contexto como mecanismo para pasar un proceso del estado run a ready o wait, o viceversa.

b) En segundo lugar, hemos analizado desde la óptica del usuario las llamadas que permiten manipular los procesos, es decir, que permiten crearlos, modificarlos y destruirlos. Como principales conceptos relacionados con estas llamadas podemos destacar los siguientes:

  • La herencia entre los procesos padre e hijo en el momento de la creación de un nuevo proceso.
  • La sincronización, para ver cómo el proceso padre sincroniza la creación y la destrucción de un proceso hijo.
  • Los cambios de ejecutable y los redireccionamientos, como principales cambios del entorno que configura un proceso.

A continuación hemos descrito los flujos de ejecución (threads) que permiten la ejecución concurrente del código de un proceso. Hemos visto las características de los flujos que comparten la mayoría de los recursos del proceso al que pertenecen, a pesar de requerir algunos recursos propios de cada thread para garantizar un funcionamiento correcto. Hemos visto que el cambio de contexto entre flujos de un mismo proceso es menos costoso que el cambio entre flujos de diferentes procesos. Utilizando flujos se puede facilitar la programación y mejorar la eficiencia de muchos programas.

La figura siguiente muestra un mapa conceptual con los principales conceptos explicados en este módulo didáctico y sus relaciones:

Notas y pies de figura de la fuente

Ved también Podéis ver la definición de proceso en el subapartado 1.2 del módulo didáctico "El sistema operativo: una máquina virtual".

Página 46

Figura 15

Después de ver los SO en general, hemos hecho una confrontación de los conceptos anteriores con el sistema UNIX. Las llamadas al sistema de gestión de procesos siguen una filosofía de diseño basada en la sencillez y la flexibilidad que permite crear y modificar los procesos con toda libertad desde el programa. Una consecuencia de este hecho es la gran cantidad de posibilidades que puede ofrecer el intérprete de comandos (shell) con respecto a modos de ejecución y de redireccionamiento de las entradas y salidas.

A continuación hemos destacado las diferencias que encontramos en el sistema Windows relativas a la gestión de procesos, la herencia de recursos y la jerarquía de procesos.

Finalmente, hemos introducido la funcionalidad básica del paquete de flujos del estándar POSIX (pthreads).

Ver fragmento extraído sin normalizar
## Página 45

<!-- source-page: 45 -->

GNUFDL • PID_00214802                                                                                  45                                                                                                      La gestión de procesos

Resumen







En este módulo didáctico hemos analizado la gestión￿de￿procesos que hace                                 Ved también
el SO partiendo de la definición de proceso que ya habíamos visto en esta
asignatura. Lo hemos hecho siguiendo los pasos siguientes:                                                 Podéis ver la definición de pro-
                                                                                                           ceso en el subapartado 1.2 del
                                                                                                           módulo didáctico "El sistema
                                                                                                           operativo: una máquina vir-
a) En primer lugar, para entender mejor el concepto de proceso, hemos anali-                               tual".
zado de manera superficial la representación￿interna￿del￿proceso￿en￿el￿SO y
la gestión￿de￿los￿procesos￿en￿un￿sistema￿multiprogramado￿de￿tiempo￿com-
partido. Los principales conceptos que hemos presentado son los siguientes:


•    El bloque￿de￿control￿de￿procesos, como estructura básica que configura
    un proceso.
•    La ejecución￿concurrente, mediante la multiplexación del procesador en
    tiempo.
•    El estado￿de￿los￿procesos (run, ready y wait).
•    El cambio￿de￿contexto como mecanismo para pasar un proceso del estado
    run a ready o wait, o viceversa.


b) En segundo lugar, hemos analizado desde la óptica del usuario las llama-
das￿que￿permiten￿manipular￿los￿procesos, es decir, que permiten crearlos,
modificarlos y destruirlos. Como principales conceptos relacionados con estas
llamadas podemos destacar los siguientes:


•    La herencia￿entre￿los￿procesos￿padre￿e￿hijo en el momento de la creación
    de un nuevo proceso.
•    La sincronización, para ver cómo el proceso padre sincroniza la creación
    y la destrucción de un proceso hijo.
•    Los cambios￿de￿ejecutable y los redireccionamientos, como principales
    cambios del entorno que configura un proceso.


A continuación hemos descrito los flujos de ejecución (threads) que permiten
la ejecución concurrente del código de un proceso. Hemos visto las caracte-
rísticas de los flujos que comparten la mayoría de los recursos del proceso al
que pertenecen, a pesar de requerir algunos recursos propios de cada thread
para garantizar un funcionamiento correcto. Hemos visto que el cambio de
contexto entre flujos de un mismo proceso es menos costoso que el cambio
entre flujos de diferentes procesos. Utilizando flujos se puede facilitar la pro-
gramación y mejorar la eficiencia de muchos programas.


La figura siguiente muestra un mapa conceptual con los principales conceptos
explicados en este módulo didáctico y sus relaciones:

## Página 46

<!-- source-page: 46 -->

GNUFDL • PID_00214802                                                                                  46                                                                                                      La gestión de procesos


















































Figura 15

Después de ver los SO en general, hemos hecho una confrontación de los con-
ceptos anteriores con el sistema UNIX. Las llamadas al sistema de gestión de
procesos siguen una filosofía de diseño basada en la sencillez y la flexibilidad
que permite crear y modificar los procesos con toda libertad desde el progra-
ma. Una consecuencia de este hecho es la gran cantidad de posibilidades que
puede ofrecer el intérprete de comandos (shell) con respecto a modos de eje-
cución y de redireccionamiento de las entradas y salidas.


A continuación hemos destacado las diferencias que encontramos en el siste-
ma Windows relativas a la gestión de procesos, la herencia de recursos y la
jerarquía de procesos.


Finalmente, hemos introducido la funcionalidad básica del paquete de flujos
del estándar POSIX (pthreads).

Descargar Markdown originalEstudiar este apartado