• No se han encontrado resultados

Qué contiene un teléfono inteligente?

A medida que ha ido aumentando la potencia de los teléfonos móviles, estos han comenzado a poder ofrecer servicios que van mucho más alla del simple procesamiento de llamadas de voz. Ahora, un teléfono inteligente típico puede emplearse para enviar mensajes de texto, navegar por la Web, acceder a mapas, ver contenido multimedia; en resumen, puede utili- zarse para proporcionar muchos de los mismos servicios que un PC tradicional. Por esta razón, los teléfonos inteligentes requieren sistemas operativos completos, no solo para ges- tionar los limitados recursos del hardware del teléfono, sino también para poder ofrecer fun- cionalidades que den soporte al conjunto cada vez mayor de aplicaciones software para teléfonos inteligentes. La batalla por el predominio en el mercado de los sistemas operativos para teléfonos inteligentes promete ser muy cruenta y terminará ganándola, probablemente, el que pueda proporcionar las funcionalidades más imaginativas al mejor precio. Entre los competidores en el campo de los sistemas operativos para los teléfonos inteligentes pode- mos citar el iPhone OS de Apple, BlackBerry OS de Research In Motion, Windows Phone de Microsoft, Symbian OS de Nokia y Android de Google.

mas operativos empotrados suelen tener requisitos especiales, como que ayuden a ahorrar potencia de la batería, que se ajusten a límites de tiempo real muy estric- tos o que operen de manera continua sin ninguna supervisión humana o con muy poca. Los mayores éxitos dentro de este campo son los de sistemas tales como VxWORKS, desarrollado por Wind River Systems y usado en los exploradores de la superficie de Marte llamados Spirit y Opportunity; Windows CE (también cono- cido como Pocket PC) desarrollado por Microsoft; y Palm OS desarrollado por PalmSource, Inc., especialmente para su uso en dispositivos de mano.

137 3.2 Arquitectura de un sistema operativo

1. Identifique ejemplos de colas. En cada caso, indique las posibles situa- ciones que hagan que se viole la estructura FIFO.

2. ¿Cuáles de las siguientes actividades requieren un procesamiento en tiempo real?

a. Impresión de etiquetas de correo. b. Utilización de un juego de computadora.

c. Visualización de los números en la pantalla de un teléfono inteligente a medida que se marcan.

d. Ejecución de un programa que predice el estado de la economía durante el año próximo.

e. Reproducción de una grabación MP3.

3. ¿Cuál es la diferencia entre los sistemas empotrados y los PC? 4. ¿Cuál es la diferencia entre tiempo compartido y multitarea?

Cuestiones y ejercicios

3.2

Arquitectura de un sistema operativo

Para entender la composición de un sistema operativo típico vamos a conside- rar primero la gama completa de software que vamos a encontrar en una com- putadora típica. Después nos concentraremos en el propio sistema operativo.

Un repaso al software

Vamos a tratar de dar un repaso al software que puede encontrarse en una com- putadora típica presentando un esquema de clasificación de ese software. La uti- lización de tales sistemas de clasificación presenta siempre el problema de que paquetes software similares terminan siendo asignados a distintas clases, de la misma forma que la división en zonas horarias obliga a que ciudades que están muy próximas entre sí deban regular sus relojes con una hora de diferencia, aún cuando en la práctica el amanecer y el ocaso tengan lugar prácticamente en el mismo momento en ambas poblaciones. Además, en el caso de la clasificación del software, la dinámica del propio mercado y la falta de una autoridad que defina los conceptos conduce a la aparición de terminología contradictoria. Por ejemplo, los usuarios de los sistemas operativos Windows de Microsoft disponen de grupos de programas denominados “Accesorios” y “Herramientas administrativas” que

incluyen programas software de lo que nosotros denominamos las clases de apli- cación y de utilidad. Por tanto, la taxonomía que vamos a presentar debe intepre- tarse como una manera de orientarse en un campo muy amplio y dinámico, más que considerarse la expresión de un hecho universalmente aceptado.

Comencemos dividiendo el software de una máquina en dos categorías muy amplias: software de aplicación y software del sistema (Figura 3.3). El software de aplicación está compuesto por todos los programas que realizan tareas relacionadas con la utilización concreta de la máquina. Una máquina empleada para mantener el inventario de una empresa de fabricación tendrá un software de aplicación distinto del que podremos encontrar en una máquina utilizada por un ingeniero eléctrico. Como ejemplos de software de aplicación podemos citar las hojas de cálculo, los sistemas de base de datos, los sistemas de autoedición, los sistemas de contabilidad, el software para el desarrollo de programas y los juegos.

A diferencia del software de aplicación, el software del sistema realiza las tareas que son comunes en general a todas las computadoras. En un cierto sen- tido, el software del sistema proporciona la infraestructura que necesita el soft- ware de aplicación, de forma bastante similar a como la infraestructura de un país (gobierno, carreteras, empresas de servicio público, instituciones financie- ras, etc.) proporciona la base de la que los ciudadanos dependen para llevar su propio estilo de vida individual.

Dentro de la clase software del sistema hay dos categorías: una es el propio sistema operativo y la otra está compuesta por unidades de software que se conocen colectivamente como software de utilidad. La mayor parte del soft- ware de utilidad de una instalación está compuesto por programas que se emplean para realizar actividades fundamentales para esa computadora, pero que no se incluyen en el sistema operativo. En cierto sentido, el software de utilidad está compuesto por unidades software que amplían (o personalizan) las capacidades del sistema operativo. Por ejemplo, la capacidad de forma-

Interfaz de usuario Núcleo Utilidades Aplicaciones Software Sistema Sistema operativo

tear un disco magnético o de copiar un archivo desde un disco magnético a un CD no suele implementarse dentro del sistema operativo, sino que se pro- porciona por medio de un programa de utilidad. Otros ejemplos de software de utilidad incluyen el software necesario para comprimir y descomprimir datos, el software para reproducir presentaciones multimedia o el software para ges- tionar las comunicaciones por red.

La implementación de ciertas actividades como software de utilidad per- mite personalizar el software del sistema para adecuarlo a las necesidades de una instalación concreta con mayor facilidad que si se hubiera incluido esa fun- cionalidad en el sistema operativo. De hecho, es habitual encontrarse con empresas o personas que han modificado o ampliado el software de utilidad proporcionado originalmente con el sistema operativo de la máquina.

Lamentablemente, la distinción entre software de aplicación y software del sistema puede resultar muy vaga. Desde nuestro punto de vista, la diferencia estriba en si el paquete forma parte de la “infraestructura software” de la com- putadora. Por tanto, una nueva aplicación puede evolucionar hasta terminar siendo un software de utilidad si se convierte en una herramienta fundamen- tal. Cuando todavía era un proyecto de investigación, el software para comuni- carse a través de Internet se consideraba software de aplicación; hoy día, dichas herramientas son fundamentales a la hora de utilizar la mayoría de los PC y, por tanto, se clasificaría como software de utilidad.

La distinción entre el software de utilidad y el sistema operativo es igual- mente vaga. En particular, las querellas por violación de las leyes antimonopo- lio en Estados Unidos y en Europa se han basado en cuestiones relativas a si unidades software tales como los exploradores y los reproductores multimedia son componentes de los sistemas operativos de Microsoft o utilidades que Microsoft ha incluido simplemente para aplastar a su competencia.