Sistemas operativos de servidores.
Éstos se ejecutan en servidores, que son ordenadores personales muy grandes, o estaciones de trabajo o incluso mainframes. Dan servicio a múltiples usuarios a través de una red, permitiéndoles compartir recursos de hardware y software. Los servidores pueden prestar servicios de impresión, servicios de ficheros o servicios web. Los proveedores de Internet tienen en funcionamiento muchas máquinas servidoras para dar soporte a sus clientes, y los sitios web utilizan esos servidores para almacenar las páginas web y atender las peticiones que les llegan. Entre los sistemas operativos de servidor típicos están UNIX y Windows 2000. Linux también está ganando terreno en los servidores.
Sistemas operativos integrados.
Continuando en nuestro descenso a sistemas cada vez más pequeños, llegamos a los ordenadores de bolsillo (palmtop) y sistemas empotrados. Un ordenador de bolsillo o PDA (Personal Digital Assistant; Asistente Personal Digital) es un pequeño ordenador que cabe en el bolsillo de la camisa y realiza unas cuantas funciones tales como agenda de direcciones 18 electrónica y bloc de notas.
Los sistemas empotrados operan en los ordenadores que controlan dispositivos que por lo general no se consideran ordenadores, como televisores, hornos microondas y teléfonos móviles. Estos sistemas suelen tener algunas características de los sistemas de tiempo real, pero tienen además limitaciones de tamaño, memoria y consumo de electricidad que los hacen especiales. Algunos ejemplos de tales sistemas operativos son PalmOS y Windows CE (Consumer Electronics; Electrónica de Consumo).
Sistemas Operativos de tarjetas inteligentes.
Los sistemas operativos más pequeños se ejecutan en tarjetas inteligentes, que son dispositivos del tamaño de una tarjeta de crédito que contienen un chip de CPU. Sus limitaciones son muy severas en cuanto a potencia de procesamiento y memoria. Algunos de ellos sólo pueden desempeñar una función, como el pago electrónico, pero otros pueden realizar varias funciones en la misma tarjeta inteligente. A menudo se trata de sistemas patentados.
Algunas tarjetas inteligentes están orientadas a Java. Eso quiere decir que la ROM de la tarjeta inteligente contiene un intérprete de la Máquina Virtual de Java (JVM). Los applets (pequeños programas) de Java se descargan a la tarjeta y son interpretados por el intérprete JVM. Algunas de estas tarjetas pueden tratar varios applets al mismo tiempo, lo que conduce a la multiprogramación y a la necesidad de planificarlos. La gestión de los recursos y su protección es también una cuestión importante cuando dos o más applets están presentes al mismo tiempo.
Bloqueos irreversibles de los procesos.
Cuando dos o más proceso están interactuando, a veces pueden meterse en alguna situación de estancamiento de la que no pueden salir. Tal situación se denomina bloqueo irreversible.
Exclusión mutua con espera activa.
En esta sección examinaremos diversas propuestas para lograr la exclusión mutua, de modo que mientras un proceso está actualizando la memoria compartida en su región crítica, ningún otro proceso entre en su propia región crítica y cause problemas.
Subprocesos emergentes.
Puede adoptarse un enfoque completamente diferente, en el cual la llegada de un mensaje provoca que el sistema cree un nuevo subproceso para tratar el mensaje. Un tal subproceso se denomina subproceso emergente. Una ventaja clave de los subproceso emergentes es que ya que son totalmente nuevo, no tienen ninguna historia – registros, pila, etc. que deba restaurarse. Cada uno comienza limpio y cada uno es idéntico a todos los demás. Esto hace posible crear muy rápidamente tales subproceso.
Cuál es el algoritmo para cargar una tarea o trabajo.
El algoritmo del conjunto de trabajo básico es engorroso porque cada vez que se produce una falta de página explora toda la tabla de páginas hasta encontrar una candidata apropiada. WSClock (Carr y Hennesy, 1981) es un algoritmo mejorado que se basa en el algoritmo del reloj pero que usa también la información del conjunto de trabajo. Se utiliza mucho en la práctica por su sencillez de implementación y buen rendimiento.
Que es un procesamiento en paralelo.
Es un proceso empleado para acelerar el tiempo de ejecución de un programa dividiéndolo en múltiples trozos que se ejecutarán al mismo tiempo, cada uno en su propios procesadores.
El proceso paralelo sólo es posible si disponemos de varias unidades de proceso, generalmente núcleos o procesadores. Esto se debe a que los procesadores son secuenciales, esto es, ejecutan las órdenes una por una, y por tanto no pueden ejecutar dos a la vez cooperativo.
No hay comentarios.:
Publicar un comentario