Herramientas de usuario

Herramientas del sitio


so_procesos

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
so_procesos [2019/08/25 23:37] marianoso_procesos [2020/03/19 22:57] (actual) – [¿Qué es concurrencia?] noelia
Línea 67: Línea 67:
 {{ :colasio.png?600 |}} {{ :colasio.png?600 |}}
  
 +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, en una cola de E/S. 
 +  * 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, cuando son procesados al mismo tiempo (no a nivel procesador), es decir, van avanzando los dos en su ejecución ( el "Instruction Pointer" va avanzando para los dos procesos), pero no son ejecutados en el procesador al mismo tiempo.
 +
 +En sistemas multiprocesador, esta ejecución simultánea (paralela) podría conseguirse completamente, puesto que podremos asignarle, por ejemplo, un proceso A al procesador A y un proceso B al procesador B y cada procesador realizaran la ejecución de su proceso.
 +
 +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, ejecución simultánea de más de un proceso).
 +
 +Ahora bien, está claro que en esto tenemos que tener en cuenta que mientras un proceso está escribiendo un valor en una variable determinada, puede darse el caso que otro proceso que es concurrente al primero vaya a leer o escribir en esa misma variable, entonces habrá que estudiar el caso en el que un proceso haga una operación sobre una variable (o recurso en general) y otro proceso concurrente a él realice otra operación de tal forma que no se realice correctamente.
× iphelper toolbox

you see this when javscript or css is not working correct

Untested
IP Address:
First usable:
Subnet:
Last usable:
CIDR:
Amount of usable:
Network address:
Reverse address:
Broadcast address:

so_procesos.1566776255.txt.gz · Última modificación: 2019/08/25 23:37 (editor externo)