Sistemas operativos modernos
res, las multicomputadoras y los sistemas distribuidos. Cada una tiene propiedades y proble mas característicos. Un multiprocesador consiste en dos o más CPUs que comparten la misma RAM. Estas CPUs pueden estar conectadas entre sí por un bus, un conmutador tipo crossbar o una red de conmuta ción multietapas. Pueden usarse diversas configuraciones de sistema operativo, que incluyen dar a cada CPU su propio sistema operativo, tener un sistema operativo amo y muchos sistemas ope rativos esclavos, o tener un muifiprocesador simétrico en el que hay una copia del sistema opera fivo que puede ejecutar cualquier CPU. En este último caso se necesitan bloqueos para la sincro nización. Si no hay un bloqueo disponible, la CPU puede ponerse a dar vueltas o bien efectuar una conmutación de contexto. Pueden usarse diversos algoritmos de calendarización que incluyen tiempo compartido, espacio compartido y calendarización tipo pandilla. Las multicomputadoras también tienen dos o más procesadores, pero cada una de estas CPUs tiene su propia memoria privada. No se comparte una RAM común, así que toda la co municación se efectúa transfiriendo mensajes. En algunos casos, la tarjeta de interfaz de red fiene su propia CPU, lo que hace necesario organizar en forma minuciosa la comunicación en tre la CPU principal y la CPU de la tarjeta de interfaz para evitar condiciones de competencia. La comunicación en el nivel de usuario en las multicomputadoras muchas veces ufiliza llamadas a procedimientos remotos, pero también se puede usar una memoria compartida distribuida. Aquí es importante balancear la carga de los procesos, para lo cual se emplean diversos algoritmos que incluyen algoritmos iniciados por el transmisor, algoritmos iniciados por el receptor y al goritmos de oferta. Los sistemas distribuidos son sistemas débilmente acoplados en los que cada nodo es una computadora completa con un surtido completo de periféricos y su propio sistema operativo. Es común que estos sistemas abarquen un área geográfica extensa. Suele colocarse middlewa- re encima del sistema operativo para tener una capa uniforme con la que puedan interactuar las aplicaciones. El middleware puede ser de varios tipos: basado en documentos, basado en archi vos, basado en objetos y basado en coordinación. Como ejemplos pueden citarse World Wide Web, AFS, CORBA, Globe, Linda y Jini. PROBLEMAS 1. ¿El sistema de grupos de noficias USENET o el proyecto SETI@home pueden considerarse sistemas distribuidos? (SETI@home ufiliza varios millones de computadoras personales inactivas para anali zar datos de radiotelescopios en un intento por detectar inteligencia extraterrestre.) En tal caso, ¿qué relación fienen con las categorías descritas en la figura 8-1 ? 2. ¿Qué sucede si dos CPUs de un multiprocesador intentan tener acceso a la misma palabra de memo ria exactamente en el mismo instante? 3. Si una CPU emite una solicitud de memoria en cada instrucción y la computadora opera a 200 MIPS, ¿aproximadamente cuántas CPUs se necesitarán para saturar un bus de 400 MHz? Suponga que una referencia a la memoria requiere un ciclo de bus. Repita el problema para un sistema en el que se
RkJQdWJsaXNoZXIy MjI4NDcx