so_procesos
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
so_procesos [2019/08/21 16:23] – mariano | so_procesos [2020/03/19 22:57] (actual) – [¿Qué es concurrencia?] noelia | ||
---|---|---|---|
Línea 47: | Línea 47: | ||
* **Información del estado de E/S**. Esta información incluye la lista de los dispositivos de E/S asignados al proceso, una lista de los archivos abiertos, etc. | * **Información del estado de E/S**. Esta información incluye la lista de los dispositivos de E/S asignados al proceso, una lista de los archivos abiertos, etc. | ||
+ | En resumen, el PCB sirve simplemente como repositorio de cualquier información que pueda variar de un proceso a otro. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ==== Planificación de procesos ==== | ||
+ | |||
+ | El objetivo de la multiprogramación es tener en ejecución varios procesos al mismo tiempo con el fin de maximizar la utilización de la CPU. El objetivo de los sistemas de tiempo compartido es conmutar la CPU entre los distintos procesos con tanta frecuencia que los usuarios puedan interactuar con cada programa mientras éste se ejecuta. Para conseguir estos objetivos, el planificador de procesos | ||
+ | |||
+ | ==== Colas de planificación ==== | ||
+ | |||
+ | A medida que los procesos entran en el sistema, se colocan en una cola de trabajos que contiene todos los procesos del sistema. Los procesos que residen en la memoria principal y están preparados y en espera de ejecutarse se mantienen en una lista denominada cola de procesos preparados. Generalmente, | ||
+ | |||
+ | El sistema también incluye otras colas. Cuando se asigna la CPU a un proceso, éste se ejecuta durante un rato y finalmente termina, es interrumpido o espera a que se produzca un determinado suceso, como la terminación de una solicitud de E/S. Suponga que el proceso hace una solicitud de E/S a un dispositivo compartido, como por ejemplo un disco. Dado que hay muchos procesos en el sistema, el disco puede estar ocupado con la solicitud de E/S de algún otro proceso. Por tanto, nuestro proceso puede tener que esperar para poder acceder al disco. La lista de procesos en espera de un determinado dispositivo de E/S se denomina cola del dispositivo. Cada dispositivo tiene su propia cola. | ||
+ | |||
+ | Una representación que habitualmente se emplea para explicar la planificación de procesos es el diagrama de colas, como el mostrado en la Figura, donde cada rectángulo representa una cola. Hay dos tipos de colas: la cola de procesos preparados y un conjunto de colas de dispositivo. Los círculos representan los recursos que dan servicio a las colas y las flechas Indican el flujo de procesos en el sistema. | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Cada proceso nuevo se coloca inicialmente en la cola de procesos preparados, donde espera hasta que es seleccionado para ejecución, es decir, hasta que es despachado. Una vez que se asigna la CPU al proceso y éste comienza a ejecutarse, se puede producir uno de los sucesos siguientes: | ||
+ | |||
+ | * El proceso podría ejecutar una solicitud de E/S y ser colocado, como consecuencia, | ||
+ | * El proceso podría crear un nuevo subproceso y esperar a que éste termine. | ||
+ | * El proceso podría ser desalojado de la CPU como resultado de una interrupción y puesto de nuevo en la cola de procesos preparados. | ||
+ | |||
+ | En los dos primeros casos, el proceso terminará, antes o después, por cambiar del estado de espera al estado preparado y será colocado de nuevo en la cola de procesos preparados. Los procesos siguen este ciclo hasta que termina su ejecución, momento en el que se elimina el proceso de todas las colas y se desasignan su PCB y sus recursos. | ||
+ | |||
+ | ==== ¿Qué es concurrencia? | ||
+ | |||
+ | Dos o más procesos decimos que son concurrentes o que se ejecutan concurrentemente, | ||
+ | |||
+ | En sistemas multiprocesador, | ||
+ | |||
+ | Cuando tenemos un solo procesador se producirá un intercalado de las instrucciones de ambos procesos, de tal forma que tendremos la sensación de que se ejecutan juntos en el sistema (concurrencia, | ||
+ | |||
+ | Ahora bien, está claro que en esto tenemos que tener en cuenta que mientras un proceso está escribiendo un valor en una variable determinada, |
×
iphelper toolbox
you see this when javscript or css is not working correct
Untested
so_procesos.1566404602.txt.gz · Última modificación: 2019/08/21 16:23 por mariano