El documento resume conceptos clave sobre operaciones de procesos, comunicación entre procesos, hilos, servidores y llamadas a procedimientos remotos. Cubre temas como la creación y terminación de procesos, sistemas de memoria compartida y pasos de mensajes, sincronización entre procesos, sockets y puertos de comunicación entre clientes y servidores.
4. OPERACIONES SOBRE LOS PROCESOS Cuando un procesocreaotroprocesoexisten dos posibilidades en cuanto a suejecución. 1. El padre continua ejecutandoseconcurrentemente con suhijo 2. El padre esperahastaquealguno o todossushijoshanterminadosuejecución, Tambiénexisten dos posibilidades en función del espacio de direcciones del nuevoproceso. 1. El procesohijoes un duplicado del proceso padre (usa el mismoprograma y los mismodatosque el padre). 2. EL procesohijocarga un nuevoprograma.
5. OPERACIONES SOBRE LOS PROCESOS Terminación de procesos: Causas de la terminación de procesos. Un procesoterminacuandosuúltimainstrucción ha sidoejecutada (llamada al sistema exit() ). El valor de estado del procesos se devuelve al padre, wait (). El SO liiberatodos los recursosasignados al procesos. Un procesospuedecausar la temrinación de otro a través de unallamada al sistema (TerminateProcess()). Estallamada solo puede ser hechopor el padre del proceso a terminar. Un padre puedeterminar un procesohijopor: 1. El hijo ha excedido el uso de lagunosrecursos. 2. La tareaasignada al hijoya no esnecesaria. 3. El padreaabandona el sistema.
6. COMUNICACION INTERPROCESOS Sistemas de memoriacompartida. Require que los procesosqueestencomunicandoestablezcanunaregión de memoriacompartida. Hay querecordar el SO evitaqueotroprocesospuedaingresar a direcciones de memoria de otroprocesos, porcual los procesoscooperativosdebeneliminarestarestriccion. Ejemplo: del productorconsumidor. * Buffer no limitado * Buffer limitado
7. COMUNICACION INTERPROCESOS Sistemas de pasos de mensajes permitecomunicarse y sincronizarsusacciones sin compartir el mismoespacion de direcciones, y esespecialmenteútil en sistemasdistribuido. Dos operaciones: send y receive. Si los procesos P y Q necesitancomunicarse entre sidebeexistir un enlace de comunicaciones entre ellos Implementacion de enlaces de comunicación: 1. Comunicaióndirecta o indirecta. 2. Comunicaciónsíncrona o asíncrona 3. Almacenamiento en búferexplicito o automático
8. COMUNICACION INTERPROCESOS SINCRONIZACIÓN El paso de mensajespuede ser: * Envío con bloqueo: El procesoqueenvia se bloqueahastaque el proceso receptor o el buzón de correoreciben el mensaje. * Envío sin bloqueo: * Recepción con bloqueo: El receptor se bloquehastaque hay un mensajedisponible * Recepción sin bloqueo: El receptor extrae un mensajeválido o un mensajenulo.
9. COMUNICACION INTERPROCESOS Almacenamiento en búfer Los mensajesintercambiadospor los procesosque se estáncomunicandoresiden en una cola temporal, tales colas se puedenimplementar de tresmaneras: * Capacidad Cero: La cola de mensajestieneunalongitudmáxima de cero; por lo tanto no puedehaberningúnmensajeesperando en el enlace. En estecaso, el transmisordebebloquearsehastaque el receptor reciba el mensaje. * CapacidadLimitada: La cola de mensajestieneunalógitudfinitan; portantodebehabern mensajescomomáximo en la cola. El transmisor se bloqueasi hay nmensajes en la cola. * Capacidadilimitada: La cola de mensajesesinfinita. El transmisornunca se bloquea.
20. Un socket es un punto terminal de una comunicación. Cada socket se identifica mediante una dirección IP concatenada con un número de puerto. El servidor espera que entren solicitudes del cliente, poniéndose a la escucha en un determinado puerto. Cuando el servidor recibe una solicitud, el servidor acepta una conexión del socket cliente y la conexión queda establecida.