You are on page 1of 3

Luis Fernando De Paz C.

Carn: 9200207 Sistemas Operativos I Problemas de comunicacin entre procesos

Problema de la seccin crtica: Se denomina seccin crtica, en programacin concurrente, a la porcin de cdigo de un programa de computador en la cual se accede a un recurso compartido (estructura de datos o dispositivo) que no debe ser accedido por ms de un hilo en ejecucin. La seccin crtica por lo general termina en un tiempo determinado y el hilo, proceso o tarea slo tendr que esperar un perodo determinado de tiempo para entrar. Se necesita un mecanismo de sincronizacin en la entrada y salida de la seccin crtica para asegurar la utilizacin en exclusiva del recurso, por ejemplo un semforo. El acceso concurrente se controla teniendo cuidado de las variables que se modifican dentro y fuera de la seccin crtica. La seccin crtica se utiliza por lo general cuando un programa multihilo actualiza mltiples variables sin un hilo de ejecucin separado que lleve los cambios conflictivos a esos datos. Una situacin similar, la seccin crtica puede ser utilizada para asegurarse de que un recurso compartido, por ejemplo, una impresora, puede ser accedida por un solo proceso a la vez. La manera en cmo se implementan las secciones puede variar dependiendo de los diversos sistemas operativos. Slo un proceso puede estar en una seccin crtica a la vez. Problema productor-consumidor: consiste en el acceso concurrente por parte de procesos productores y procesos consumidores sobre un recurso comn que resulta ser un buffer de elementos. Los productores tratan de introducir elementos en el buffer de uno en uno, y los consumidores tratan de extraer elementos de uno en uno.

Para asegurar la consistencia de la informacin almacenada en el buffer, el acceso de los productores y consumidores debe hacerse en exclusin mutua. Adicionalmente, el buffer es de capacidad limitada, de modo que el acceso por parte de un productor para introducir un elemento en el buffer lleno debe provocar la detencin del proceso productor. Lo mismo sucede para un consumidor que intente extraer un elemento del buffer vaco. Problema de lectores-escritores: Hay un objeto de datos(fichero de texto) que es utilizado por varios procesos, unos leen y otro que escribe. Solo puede utilizar el recurso un proceso y solo uno, es decir, o bien un proceso estar escribiendo o bien leyendo, pero nunca ocurrir simultneamente (teniendo en cuenta que si no lo esta utilizando nadie, tendr preferencia el escritor ante el lector).

Desventaja Cliente-servidor: La congestin del trfico ha sido siempre un problema en el paradigma de C/S. Cuando una gran cantidad de clientes envan peticiones simultaneas al mismo servidor, puede ser que cause muchos problemas para ste (a mayor nmero de clientes, ms problemas para el servidor). Al contrario, en las redes P2P como cada nodo en la red hace tambin de servidor, cuanto ms nodos hay, mejor es el ancho de banda que se tiene. El paradigma de C/S clsico no tiene la robustez de una red P2P. Cuando un servidor est cado, las peticiones de los clientes no pueden ser satisfechas. En la mayor parte de redes P2P, los recursos estn generalmente distribuidos en varios nodos de la red. Aunque algunos salgan o abandonen la descarga; otros pueden todava acabar de descargar consiguiendo datos del resto de los nodos en la red. El software y el hardware de un servidor son generalmente muy determinantes. Un hardware regular de un ordenador personal puede no poder servir a cierta cantidad de clientes. Normalmente se necesita software y hardware especfico, sobre todo en el lado del servidor, para satisfacer el trabajo. Por supuesto, esto aumentar el coste. El cliente no dispone de los recursos que puedan existir en el servidor. Por ejemplo, si la aplicacin es una Web, no podemos escribir en el disco duro del cliente o imprimir directamente sobre las impresoras sin sacar antes la ventana previa de impresin de los navegadores.

Calendarizacin o Planificador

El planificador (o scheduler en ingls) es un componente funcional muy importante de los sistemas operativos multitarea y multiproceso, y es esencial en los sistemas operativos de tiempo real. Su funcin consiste en repartir el tiempo disponible de un microprocesador entre todos los procesos que estn disponibles para su ejecucin. Supngase un ordenador que contiene un nico microprocesador. Dicho microprocesador solamente puede ejecutar un programa en cada instante de tiempo. Adems, cuando un programa est ejecutndose, nunca dejar de hacerlo por s mismo. De manera que, en principio, cualquier programa monopoliza el microprocesador impidiendo que otros programas se ejecuten.

Por ello, la primera misin de un planificador es expulsar el programa en ejecucin cuando decida que es pertinente. Esto se consigue de dos maneras, siempre con ayuda del propio hardware:

Cuando expira un temporizador, que se activa a intervalos regulares de tiempo. En intervalos muy cortos, generalmente cada 250 milisegundos. Cuando el programa solicita una operacin de entrada/salida. Dado que el programa no puede continuar hasta que termine dicha operacin, es un buen momento para ejecutar otro programa.

En ambos casos, el control del microprocesador pasa a manos del planificador gracias a que el hardware genera una interrupcin. En este proceso de expulsin, se guarda el estado de ejecucin del programa (programa y su estado se denomina contexto). A continuacin, el planificador decide cul ser el siguiente proceso en ejecutarse. Naturalmente, solamente se escogen procesos que estn listos para hacerlo. Si un proceso sigue esperando por una operacin de entrada/salida no ser candidato a ejecutarse hasta que finalice tal operacin. La seleccin del proceso sigue alguna poltica de planificacin (ver ms adelante) prestablecida. Una vez seleccionado un proceso, se procede a ejecutarlo. Para ello, el planificador restaura su estado de ejecucin (previamente salvado) y abandona el uso del microprocesador cedindoselo a dicho proceso. Todo esto apenas dura unos pocos milisegundos. Gracias a que el tiempo del microprocesador se reparte entre todos los procesos a intervalos muy cortos, el ordenador ofrece la sensacin de que todos los procesos estn ejecutndose a la vez. Cuando un ordenador tiene varios microprocesadores (vase arquitecura NUMA y SMP), este esquema se repite para cada microprocesador.

You might also like