Conociendo al BeOS
El BeOS es un sistema operativo que viene siendo
desarrollado por Be Inc. desde principio de los '90 con vistas
hacia el futuro. Siendo un sistema operativo que ha sido escrito
desde cero, no está atado a ningún esquema o diseño viejo u
obsoleto, lo que hizo posible que se lo implementara desde un
comienzo haciendo uso de las últimas tecnologías e ideas en lo
que a sistemas operativos se refiere.
Está en principio pensado para satisfacer las cada vez más
exigentes capacidades multimedia que se requieren de una PC, pero
sin embargo por su amigable interface gráfica y gran potencia se
presenta como un excelente sistema operativo de propósito
general.
Aspectos Generales
Aquí se exploran detalles sobre la interface gráfica del BeOS,
la posibilidad de utilizar el shell incorporado y algunos hechos
interesantes de su uso cotidiano.
Interface gráfica
Hechos y datos interesantes
Aspectos característicos del BeOS
Extensiones al sistema (add-ons)
Mediante los add-ons es posible extender las capacidades del
sistema. A partir de ahí tanto el usuario como las aplicaciones
pueden hacer uso de la nueva funcionalidad adquirida.
Extensiones al manejo de formatos multimedia
(Media-translators/add-ons)
Con los media-translators cualquier aplicación multimedia
puede ver aumentada la cantidad de formatos que soporta de manera
automática y transparente.
Extensiones a las operaciones sobre archivos (Tracker add-ons)
Con los Tracker-add-ons el usuario es capaz de efectuar
operaciones sobre archivos y/o directorios más allá de las básicas
que ofrece el sistema.
Aplicaciones incrustables (replicants)
Estas aplicaciones pueden "incrustarse" en otras,
formando parte de estas últimas o del escritorio.
Aspectos técnicos
Meta-atributos de archivo
Junto a los archivos puede ir acompañándolo información
"extra" sobre él, que las aplicaciones usan para
identificarlo o adosar cualquier tipo de información a él.
Núcleo (kernel) basado en servidores
El kernel se compone de pequeñas pero potentes aplicaciones
llamadas servidores. Siendo esto así, es posible cerrar y volver
a abrir parte del kernel ante modificaciones, sin tener que
reiniciar.
Procesamiento en hebras intensivo (pervasive multithreading)
No sólo le es posible al BeOS mantener múltiples aplicaciones
corriendo: toda aplicación o componente se divide en pequeños
fragmentos separados por hebras (threads), lo que optimiza al máximo
la performance del sistema.
Memoria protegida REAL
La protección de memoria es limpia, segura y efectiva.
Sistema de seguimiento de archivos por "diarios" o
"reportes" (journaling file system)
Este esquema de seguridad permite al sistema reparar automáticamente
el sistema de archivos ante eventuales fallos.
Soporte automático de múltiples procesadores (hasta 8)
Los usuarios con múltiples procesadores no necesitan configurar
el kernel o ninguna parte del sistema, ya que la detección es
automática, y el aprovechamiento total.
Programación
Interface de programación de aplicaciones (API) nativamente
orientada a objetos
Toda la funcionalidad del sistema a través de la versátil y
poderosa programación orientada a objetos.
Procesamiento por hebras (multithreading) transparente al
programador
El programador no necesita preocuparse por las threads creadas por
el sistema, como tampoco de programar en entornos
multiprocesadores. Ambos hechos le son transparentes.
Pase de mensajes (scripting) entre aplicaciones
El paso de mensajes de una aplicación a otra es posible, abriendo
infinitas posibilidades.
POSIX medianamente implementado
Importante a la hora de portar aplicaciones.
Aplicaciones de consola
La programación de aplicaciones de consola es posible y no
entabla misterio alguno en este sistema.
Intérprete de comandos (shell) Bash
Mediante éste se pueden crear poderosos scripts.
Trayectoria del BeOS
¿Por qué otro sistema operativo más?
¿Cuál es la posición de Be hoy y qué se espera para el futuro?
Aplicaciones, juegos y drivers para BeOS ...
El BeOS en minicomponentes con conexión a Internet, el hermano
menor: Stinger
Interface gráfica
El BeOS opera totalmente a través de su amigable, sencilla e
intuitiva interface gráfica con el usuario. Esta, como era de
esperar, se basa en ventanas, íconos, menues, botones, etc.
No existe en BeOS el así llamado modo texto: la interface gráfica
forma parte del BeOS de principio a fin. Incluso la aplicación
Terminal, que es el shell del BeOS opera desde una ventana de
aplicación.
Asimismo tareas en apariencia complejas como la configuración del
sistema, montar o desmontar volúmenes de datos, crear o formatear
particiones se realizan de manera intuitiva a través de
aplicaciones basadas en la interface gráfica desarrolladas para
tales fines.
El usuario de BeOS se maneja a través componentes característicos,
que se detallan a continuación.
Deskbar
Mediante la Deskbar se puede acceder no sólo a las
aplicaciones abiertas sino a las ventanas de cada aplicación.
Esto es asi porque para cada aplicación se ofrece una lista de
las ventanas abiertas, pudiendo acceder a cualquiera de estas rápidamente.
Es también posible ocultar o mostrar las ventanas de una aplicación
mediante una sola operación. Al principio puede parecer un poco
chocante el tener que realizar dos pasos para acceder a una
ventana "oculta": 1) seleccionar en la Deskbar la
aplicación a la que pertenece y 2) la ventana. Pero en realidad
es un enfoque bastante acertado, ya que a medida que la cantidad
de ventanas abiertas aumenta es mucho mas claro para el usuario si
las ventanas estan organizadas por aplicación.
La Deskbar es muy flexible en cuanto a su posición o aspecto en
el area de trabajo, puede colocarse en cualquiera de las cuatro
esquinas de la pantalla de forma normal o "compacta" o
de manera estirada a lo largo del borde superior o inferior de la
pantalla.
Las ventanas de directorios se almacenan en la aplicación
especial Tracker, que forma parte del sistema y está siempre
presente en la Deskbar. Las ventanas del Tracker, su modo de
acceder y de manejarse con ellas no es diferente al de las
ventanas de cualquier otra aplición.
Los otros componentes de la Deskbar son el Be-Menu y el
Status-View.
Be-Menu
Mediante el Be-Menu se puede acceder a funciones standard del
sistema como apagar (shutdown), reiniciar (restart), buscar
archivos por criterio (find), una ventana informativa del sistema
(about BeOS), mostrar u ocultar "replicants" (explicado
más adelante) pero mas que nada lanzar de una manera conveniente
y rápida aplicaciones o paneles de configuración del sistema
(que no son más que aplicaciones, en definitiva). Cuando se
instala por primera vez el BeOS, los menues con los que cuenta el
Be-Menu son Applications y Preferences, pero esto se puede
modificar más adelante a gusto del usuario.
Status-view
En el Satus-View se muestran la fecha u hora, y residen íconos
de aplicaciones especiales que esten diseñadas para este propósito.
De esta manera el usuario puede acceder rápidamente a sus
funciones. Asimismo el BeOS tiene un par de estas aplicaciones, el
control de volúmen, o el acceso telefónico a redes son ejemplos
típicos.
Menues contextuales
Tanto archivos, directorios, íconos de unidades o simplemente
el escritorio ofrecen menues contextuales, que para el caso de
mouses con dos botones se acceden con el botón derecho.
Una de las cosas buenas de los menues contextuales es que uno
puede efectuar operaciones de disco como acceder, copiar o mover
archivos a directorios subyacentes sin tener que abrir nuevas
ventanas. También es posible selecionar rápidamente con que
aplicación han de abrirse los archivos seleccionados o combinar
los archivos o directorios seleccionados con un
"add-on", que son componentes del sistema que efectuan
las más diversas tareas extendiendo las capacidades innatas del
BeOS.
Workspaces
El BeOS soporta varias áreas de trabajo virtuales, llamadas
Workspaces. Cada Workspace conserva el fondo de escritorio y su
resolución propia. A traves de la aplicación Workspaces es
posible acceder a cada escritorio virtual y arrastrar ventanas de
un Workspace a otro.
Inicialmente el BeOS esta seteado para 9 Workspaces, aunque es
posible utilizar un máximo de 32 escritorios o pantallas
virtuales.
Facilidad de instalación
En un promedio de 20 minutos el BeOs se instala solo, con muy
pocas intervenciones por parte del usuario. Lo más importante es
que es muy flexible en cuanto a ser instalado junto al, o los,
sistemas operativos que se hayan estado usando hasta entonces, así
que no es necesario dedicarle una computadora entera, ni siquiera
un disco rígido, ya que con una partición basta. No es necesario
instalar en BeOS en una partición en especial, está pensado para
que se ejecute desde cualquier partición. El programa
Boot-Manager incorporado (que también se auto instala de así
quererlo el usuario) permite la fácil selección entre los
sistemas operativos.
Soporte de discos "largos" (18
millones de terabytes aprox.)
El BeOS esta pensado con vistas al futuro y su sistema de
archivos de 64 bits está preparado para vérselas con unidades de
hasta 18 millones de terabytes, que, haciendo las cuentas, es un
poco más de lo que cualquiera vaya a precisar.
Rapidez, eficacia y potencia
El promedio de tiempo de inicio total que le toma al BeOS
cargarse hasta estar 100% disponible al usuario es de unos 20
segundos, el cargado de las aplicaciones es instantáneo y el
tiempo de cerrado, bajo circunstancias normales es de unos 4
segundos.
Las aplicaciones generalmente no ocupan mucho, y se instalan
simplemente con descomprimirlas y ejecutarlas.
Es BeOS es realmente muy estable y robusto a la hora de mantener
corriendo múltiples aplicaciones y procesos. En una prueba hecha,
pude tener abiertas 47 ventanas de directorios, 31 ventanas del
navegador, escuchar MP3s y aún así podría haber seguido
trabajando tranquilamente, ya que el sistema seguía respondiendo
como si nada. (AMD K6-II 350Mhz, 64Mb RAM)
Extensiones al sistema o "Add-ons"
Los add-ons son componentes del sistema que como su nombre en
inglés lo indica sirven para "extender" las
funcionalidades innatas del sistema operativo. No se trata
simplmemente de drivers, sino que es un concepto que va un poco más
allá. Para cada aspecto del sistema hay add-ons determinados, y
si bien es cierto que en algunos casos actúan realmente como
drivers en otros no es tan así.
Los add-ons son en definitiva archivos (un archivo por add-on),
programas si se quiere, que sin embargo no son diseñados como una
aplicación convencional. Un add-on determinado, colocado en el
directorio correspondiente, le agrega al sistema operativo la
funcionalidad inherente a dicho add-on de forma automática, sin
la necesidad de configurar nada y en la gran mayoría de los casos
ni siquiera de reiniciar. Si el add-on en cuestión es del tipo
que cumple la función de driver, con el solo hecho de colocarlo
en el directorio correspondiente el BeOS hará uso de él de forma
automática la próxima vez que se reinicie la máquina (o se
reinicie el servidor correspondiente, como se explica más
adelante).
En el caso de los add-ons que agregan funcionalidad al sistema
(como los media translators, explicados a continuación) dicha
funcionalidad está disponible inmediatamente.
Ejemplos de add-ons son los de tipo de archivo (que permiten
acceder a unidades con otros sistemas de archivos como FAT, VFAT,
ISO9660, HFS, etc.) los que actúan como drivers (video, sonido,
red, etc.) y add-ons especiales que merecen un análisis aparte
por el importante rol que juegan en el BeOS. Estos son los
"media-translators" y "Tracker-add-ons".
Extensiones al manejo de formatos multimedia
(media-translators/add-ons)
Los "media-translators" son add-ons que sirven para
traducir de un formato de imágen a otro. De esta manera el
sistema operativo puede, sin depender de ninguna aplicación,
trabajar con diversos tipos de imágenes de forma transparente.
Si bien el nombre lo sugiere, generalmente no se encuentran
media-translators de formatos de sonido o animaciones. Para estos
tipos de archivos multimedia hay add-ons también, por supuesto,
que permiten leer, escribir y reproducir cualquier formato de
forma transparente, pero se denominan de manera diferente (media
add-ons). Sólo un detalle de la implantación.
Lo interesante de este enfoque es que las aplicaciones usan los
servicios de lectura y escritura de formatos multimedia que les
otorga el sistema operativo a través de su interface de
programación de aplicaciones (API) y los add-ons disponibles.
Esto quiere decir que todas las aplicaciones multimedia pueden
soportar el uso de un nuevo formato con sól;lo agregar
el add-on correspondiente al BeOS. A partir de ahí las
capacidades de la aplicación se extienden de manera transparente
y automática.
Extensiones a las operaciones sobre archivos
(Tracker-add-ons)
Los Tracker add-ons son extensiones a la aplicación especial
Tracker, que como se dijo es la encargada de el manipuleo visual
de unidades, archivos y directorios. Se puede acceder a los
add-ons del Tracker a traves del menu contextual y hacer uso de
sus capacidades.
Uno quizás pueda preguntarse cual es la diferencia entre acceder
a los add-ons del Tracker o efectuar lo mismo con Open with ....
Hay varias razones para que esto no sea así. Cada archivo tiene
un tipo (ejecutable, texto, imágen, etc.) asignado internamente,
y eso da como resultado que en el menu Open with ... sólo
aparezcan las aplicaciones capaces de tratar con el archivo en
cuestión. Por otra parte los add-ons del Tracker se supone que
tratan con cualquier archivo, como por ejemplo un add-on para
comprimir archivos. Conviene entonces, ya que esa función es común
a cualquier tipo de archivo, ponerlos en un menu para operaciones
generales. Por otra parte muchos otros add-ons del Tracker no
necesitan manipular archivos sino interactuar con el directorio
(digamos por ejemplo, crear un archivo en el directorio). Ahora,
si la operación se efectuara con Open with ... el add-on podria
cargarse, pero no tendría idea de en qué directorio debe actuar.
Pero al ser una extensión de la aplicación Tracker, puede
obtener los datos de ésta, como el directorio desde el cual el
add-on fue llamado, archivos seleccionados, etc. y realizar la
labor correspondiente.
Como se ve, los add-ons del Tracker son mucho más que abrir
archivos con una aplicación determinada.
Aplicaciones incrustables (replicants)
Los " replicants" son aplicaciones que funcionan bajo
un mecanismo de replicación (esto es crea una copia de sí misma)
que les permite "adherirse" a ventanas preparadas para
tales fines. El escritorio es un ejemplo de esto. Con el BeOS
viene la aplicación de reloj que tiene la habilidad de pegarse al
escritorio. A partir de ese momento es como si formara parte del
mismo.
Ejemplos típicos de esto son las famosas
"sticky-notes", ventanitas que uno puede usar a modo de
recordatorio y dejarlas adheridas en el escritorio.
Por supuesto que los "replicants" no se limitan al
escritorio sino que es posible para cualquiera persona escribir
aplicaciones que sean "replicants" o que los acepten.
Si bien no es una característica muy explotada hasta el momento
puede que encuentre su lugar más adelante.
Meta-atributos de archivo
Una de las cosas maravillosas del sistema de archivos del BeOS
es que las aplicaciones pueden crear, leer, escribir y modificar
información "adosada" (metainformación) al archivo de
forma transparente, esto es sin que esos bytes de información
formen parte del contenido del archivo. Dicha información se
organiza en la etiqueta que identifica al atributo, por ejemplo
"BEOS:TYPE", y su contenido, por ejemplo
"text/html". De esta manera cualquier aplicación puede
crear atributos y asignarle un valor. Más tarde, esa misma
aplicación o alguna otra que reconozca ese atributo puede
adquirir esa información o modificarla.
El sistema operativo mismo crea para cada archivo atributos como
el ya mencionado arriba, el tipo de archivo (denominado
internamente "BEOS:TYPE" hecho que no debe preocupar más
que a los programadores) de manera que el sistema operativo o
cualquier otra aplicación sabe con qué tipo de archivo está
tratando sin importar la extensión del mismo (las cuales en BeOS
por lo ya explicado son puramente superfluas y se usan, si es que
se usan, por compatibilidad con otros sistemas).
Núcleo (kernel) basado en servidores
El Kernel del BeOS opera bajo el concepto de cliente/servidor.
Esto quiere decir que las aplicaciones son los
"clientes" que hacen peticiones a los
"servidores". Este hecho no debe confundirse con si el
BeOS es un servidor de redes, no tiene nada que ver. La forma
cliente-servidor es en este caso una manera de concebir la
interacción de las aplicaciones con los componentes del núcleo
del sistema operativo.
Para cada tarea el BeOS tiene un servidor especial. Por ejemplo
está el media_server, que se encarga de todos los aspectos
multimedia que las aplicaciones pudieran necesitar, está el
net_server, que se encarga de las comunicaciones a través de
redes (por ejemplo Internet), el print_server que se ocupa de todo
lo relacionado con impresiones, etc.
Pero lo mejor de todo es que los servidores actúan como
aplicaciones comunes, siendo posible que uno o más servidores se
cierren como cualquier aplicación, si es oportuno, o cargar algún
servidor que haga falta en medio de la ejecución. Esto se traduce
que a la hora de configurar el BeOS rara vez es necesario
reiniciar para que los cambios tomen efecto, ya que en el peor de
los casos el BeOS preguntara si el usuario desea
"reiniciar" a un servidor en cuestión. En ese caso
dicho servidor se cierra y se vuelve a cargar, en pocos segundos,
manteniendose la integridad del sistema y ahorrándose el usuario
el tener que reiniciar.
Procesamiento en hebras intensivo (pervasive
multithreading)
Por supuesto que el BeOS es capaz de mantener andando más de
una aplición o proceso sin problemas, pero es el enfoque
utilizado para este fin lo que lo hace aún más interesante.
El BeOS "explota", se podría decir, el concepto
multithreading o proceso en hebras, optimizando al máximo posible
el tiempo de ejecución. Esto es así porque los programas en BeOS
usan multithreading automáticamente, ya que, sólo por poner un
ejemplo, cada componente gráfico, desde una ventana a un botón
tiene asignada una thread, el flujo de la aplicación en sí tiene
asignada otra thread, los eventos que la aplicación recibe y
manda otra thread, etc. De esta manera los programas o componentes
del sistema dividen cada pequeña tarea en threads (hebras), lo
que resulta en una mayor independencia entre aplicaciones y
componentes y lo que es más importante en una mejor optimización
del tiempo de respuesta y ejecución.
Si el sistema dispone de más de un procesador, las threads se
distribuyen automáticamente.
Memoria protegida REAL
No hay mucho que decir respecto a esto. Para los que no lo
saben va la siguiente explicación.
En los entornos donde conviven varias aplicaciones al mismo tiempo
es crucial proteger a éstas de acciones indebidas como que una
aplicación quiera escribir en la memoria de otra. Casos como ése
pueden resultar fatales y poner en juego la estabilidad del
sistema. Por eso se han desarrollado métodos para que esto no
suceda y se resume en "proteccion de memoria".
El BeOS hace fuerte uso de esta característica resultando en un
sistema seguro y confiable, en el que es imposible que una
aplicación "rebelde" tire abajo la estabilidad del
sistema. En caso de que el BeOS considere que una aplicación ha
violado accesos a memoria o alguna otra "norma" de
seguridad se la cerrará automáticamente previo aviso al usuario.
Otro caso que puede pasar es que la aplicación (por causa de un
error de programación) entre en un ciclo infinito o tenga
problemas internos, lo que se conoce vulgarmente como que la
aplicación se "colgó" o se "congeló". El
BeOS muchas veces reconoce esto y siempre existe la posibilidad de
cerrar forzosamente cualquier aplicación que se este comportando
indecentemente, inclusive partes mismas del núcleo del sistema
operativo.
Sistema de seguimiento de archivos por
"diarios" o "reportes" (journaling file
system)
Esta es una medida de seguridad muy utilizada en servidores de
red, sobre todo de bases de datos. Consiste en realizar un
seguimiento en todas las operaciones (o transacciones) que se
realicen sobre los archivos (llevado a cabo internamente por el
sistema operativo) para que ante eventuales interrupciones
anormales el sistema de archivos pueda ser dejado en una forma
prolija, lo más parecido posible al momento anterior al fallo. El
caso típico es cuando nos vemos obligados a reiniciar la maquina
via hardware (con el boton reset) sin poder cerrar el sistema
prolijamente. Entonces, en la proxima reinicialización el BeOS
consultará el "diario" llevado hasta el momento y
reconstruirá los datos en el disco hasta donde le sea posible,
minimizando así la pérdida de datos y manteniendo la integridad
del sistema de archivos.
Como se ve, con el término "journaling file system" uno
no se refiere al sistema de archivos en sí que utiliza el BeOS,
que curiosamente recibe el nombre de BFS (Be File System), sino al
mecanismo de seguridad e integridad en cuestión.
Soporte automatico de multiples procesadores
(hasta 8)
Es BeOS reconoce automáticamente maquinas dotadas con más de
un procesador sin la menor necesidad de configurar nada, y lo que
es más importante hace uso de ellos de manera transparente y
eficiente. El BeOS se encarga automaticamente de distribuir las
tareas a través de los procesadores presentes por lo que el uso o
programacion de aplicaciones se hace transparente, sin importar el
hecho de que haya más de un procesador presente o no.
En otras palabras un programador no tiene que diseñar de antemano
su aplicación para que contemple este hecho, sino que se diseña
normanlente, ya que el sistema operativo se encargará de hacerla
correr independientemente del número de procesadores. El usuario
tampoco tiene que vérselas con engorrosas configuraciones del
kernel del sistema.
Por la característica del multithreading intensivo del BeOS las
threads son asignadas dinámicamente a cada procesador,
optimizando al maximo el tiempo de ejecucion y respuesta.
Interface de programación de aplicaciones
(API) nativamente orientada a objetos
Hoy día casi todo el mundo cuando piensa en la programación
de aplicaciones piensa automáticamente en hacerlo a través de un
enfoque orientado a objetos. Simplemente es la forma más cómoda
y segura de tener programas y componentes andando, al tiempo que
el código orientado a objetos es fácil de producir, mantener,
modificar, etc.
La API (Applications Programmers Interface) del BeOS consta casi
en su totalidad de objetos, y nótese que esto no quiere decir el
BeOS ofrece librerías de objetos que hacen llamadas a funciones
comunes. La API realmente consta de objetos. Esto es asombroso, ya
que uno está accediendo real y directamente a las funciones
internas del sistema operativo con el solo hecho de interactuar
con un par de objetos. A través de estos objetos el programador
dispone de toda la funcionalidad de los distintos servidores del
kernel, así de las extensiones que estén disponibles.
Por supuesto que el enfoque orientado a objetos del BeOS es real y
total, con lo que quiero decir que los objetos son derivables,
etc.
Es lógico que uno se pregunte qué quiere decir que la API es
casi toda orientada a objetos. Por cuestiones de performance y de
simpleza se ha decidido que las funciones que tengan que operar en
un intervalo crítico de tiempo no fueran parte de ningún objeto.
Por una parte porque el acceso a los objetos puede llegar a ser más
lento que a funciones comunes (sobre todo a partir de
derivaciones, funciones o clases virtuales, etc.) y por otra parte
porque son funciones con una finalidad tan específica, que no valía
la pena crear objetos para ellas. Estas funciones corresponden
principalmente a aquellas que actúan directamente con el kenel,
como por ejemplo para crear y manipular threads o semáforos y las
que tengan que ver con el manejo de redes. La programación en
BeOS se realiza típicamente en C++, pero no tiene por qué ser así.
Procesamiento por hebras (multithreading)
transparente al programador
Esto no quiere decir que programar threads sea una tarea automática.
En lo que se insiste, y que ya fue mencionado anteriormente es que
al dedicarse una thread para casi cada componente del programa el
programar en un entorno semejante puede conllevar muchos cuidados
por parte del programador. Esto no es así. En las threads creadas
automáticamente por el BeOS es éste quien se encarga del pase
del mensajes entre éstas y de su destrucción llegada la hora.
También es el BeOS quien se encarga automática y dinámicamente
de asignar cada thread a cada procesador, por lo que el
programador diseña sus aplicaciones totalmente ignorante de este
hecho.
Pase de mensajes (scripting) entre
aplicaciones
Otro de los aspectos interesantes de la programación de
aplicaciones bajo BeOS es que muchos de los objetos de la API, si
no la mayoría, soportan el pase de mensajes desde un ente
exterior, digamos, otra aplicación. Estos mensajes pueden ser
tanto para disparar acciones en la aplicación o para modificar
propiedades de la misma (por ejemplo, modifico la posición de una
ventana en el escritorio). Esto hace posible controlar casi
cualquier aspecto de una aplicación desde otra, pudiéndose
aprovechar la funcionalidad de una determinada aplicación en
procesos automatizados (scripts) por ejemplo.
POSIX medianamente implementado
Este hecho quizás pueda llegar a interesar a quienes tengan
pensado transportar aplicaciones desde entornos que soporten POSIX
a BeOS. Sin embargo hay que tener cuidado porque la implementación
no parece ser total, aunque es suficiente.
Aplicaciones de consola
Muchas veces es necesario crear pequeños programas en modo
consola para verificar tal o cual resultado o función o
simplemente porque la programación de una interface no viene al
caso.
Afortunadamente esto es posible en el BeOS. Las aplicaciones en
modo consola actúan mediante la entrada y salida standard de
caracteres, estando disponibles todas las funciones stnadard de C
o C++ para este propósito.
Por cierto, hacer programas para modo de consola no requiere de
ningún artilugio o maniobra extraña: se escribe como siempre, se
compila y se ejecuta en una ventana de Terminal (el shell Bash del
BeOS).
Intérprete de comandos (shell) Bash
Si bien es cierto que con la interface gráfica se llevan a
cabo la gran mayoría de las tareas también es cierto que para
casos específicos la mejor solución es un buen script. Por
fortuna este caso está contemplado y el BeOS incluye una versión
bastante completa del intérprete de comandos "Bash"
(Bourne Again SHell).
A diferencia de lo que se puede llegar a pensar la ventana de
terminal o intérprete de comandos no corre en modo texto, sino en
una ventana como cualquier aplicación. También es importante
volver a insistir sobre el hecho de que el BeOS no está
"montado" sobre un sistema operativo intérprete de
comandos y la interface gráfica y todo lo demás son accesorios,
sino que el BeOS es lo que se ve.
Los usuarios avanzados que necesiten programar scripts de
mantenimiento o lo que venga al caso cuentan con esta útil
herramienta standard, pero en general el usuario promedio no tiene
que preocuparse por este hecho, ya que, como se dijo antes, todas
las tareas básicas del sistema se efectuan mediante aplicaciones
o funciones basadas en interface gráfica, incluso tareas de otra
forma complejas como montar o desmontar discos, configurar los
dispositivos del sistema, particionar discos, etc.
Los scripts en Bash se ejecutan al igual que cualquier otra
aplicación, así sea desde una ventana de Terminal o cliqueando
en su ícono.
¿Por que otro sistema operativo más?
La necesidad de un nuevo sistema operativo como el BeOS y el
eventual éxito de éste se desprende de un simple hecho:
los demás sistemas operativos son viejos
En otras palabras, los demás sistemas operativos tienen sus orígenes
en tiempos y circunstancias que ya no forman parte de la realidad
cotidiana del mundo informático. Pero más allá de los origenes,
estos sistemas operativos nos vienen acompañando hasta el dia de
hoy. Pero entonces, ¿cómo puede ser?
Muy simple, y los usuarios avanzados y los no tanto de estos
sistemas conocen la respuesta: a medida que el tiempo pasaba e
iban surgiendo nuevas tecnologias, paradigmas, etc. en la mayoria
de los casos lo que se hizo no fue un "borrón y cuenta
nueva" del sistema operativo en cuestión sino que lo que había
que agregar se agregó a lo que ya estaba hecho con algunas o
ninguna modificación. La actitud es, después de todo,
comprensible. Le es menos costoso a una empresa construir sobre lo
ya hecho (aunque al final de tanto agregar resulte un castillo de
naipes) que tirar lo hecho hasta entonces y comenzar otra vez. Y
el resultado es lo que todos conocemos: sistemas operativos
sobrecargados de módulos, llenos de ambigúedades en el esfuerzo
de mantener sus obsoletos origenes, incoherencia, inestabilidad, y
por sobre todo de mantenerse competitivos contra la competencia.
De esta manera sistemas operativos que nacieron para la interface
de texto derrepente la tienen gracias a modulos nuevos imposibles
de configurar, sistemas que no conocian ni la multitarea ni la
memoria protegida derrepente las tienen agregandole otro
"sistema operativo" encima, en los sistemas que no
tienen programación orientada a objetos el desarrollo de
aplicaciones se vuelve una tarea más cercana a un dios que a un
ser humano, por lo que las compañías se apresuran a ofrecer sus
módulos orientados a objetos que solucionen el problema, cuando
en realidad la falta clara de un standard obliga a los
programadores a conocerse de memoria las semejanzas y diferencias
de todas las versiones. En muchos casos, gracias a la arquitectura
(de otros tiempos) del sistema, el enfoque orientado a objetos es
completamente falso y vergonzoso e incluso más engorroso.
Aparecen sistemas con módulos y módulos que se fueron acumulando
a lo largo de las décadas en el esfuerzo de mantener al sistema
vigente. Aparecen sistemas que claman ser el futuro de toda la
humanidad pero que solamente pueden ser instalados, configurados,
usados, mantenidos y programados tras realizar un doctorado en
sistemas, después de lo cual, incluso, la experiencia de
manejarlos dista de ser comfortable. Están los sistemas que son
caras bonitas, pero tras los cuales se esconden tecnologías de décadas
atrás a las que no se les ha prestado mayor atención por lo
bello de su interfáce gráfica, por el fanatismo de sus
seguidores, por su ignorancia de éstos o por su estupidez. Se
tienen sistemas que tienen un pie en el futuro pero otro
fuertemente agarrado al pasado y en la mitad la brecha del avance
tecnológico abriéndose cada vez más, amenazando con tragarse a
ambos pies, cada vez más separados, y con ellos al sistema
entero. En cualquiera de los casos las tendencias se hacen cada
vez más irreversibles, semejándose a una bola de nieve en caida,
haciéndose cada vez más grande y pesada.
Claro que la mayoría de los usuario quizás no vea estas cosas,
por lo bien que la compañía dueña del sistema lo oculta tras
aparentes "innovaciones", la belleza y simplicidad de la
interface gráfica o porque se niega a aceptar que, aunque se
trate de un buen sistema operativo, sigue teniendo un
"pie" en el pasado, que le negará el avance hacia el
futuro. Por otra parte quizás el usuario se haya dado cuenta de
que algo no anda bien con su sistema, pero el miedo a lo
desconocido, a intentar otra cosa, a enfrentar algo a lo que no
está acostumbrado lo paralice ...
(He hablado muy metafóricamente, evitando nombrar ejemplos
concretos. Simplemente, va en contra de mi política para con este
sitio. Estoy seguro se que muchos lectores sin embargo habrán
podido leer entre líneas. A quienes no estén, sin embargo, muy
seguros de lo que estoy diciendo les recomiendo que investiguen
por ellos mismos, que se embeban en todos los sitios sobre
sistemas operativos que puedan, que investiguen la historia de la
informática, del software, de los sistemas operativos, etc. En
unas palabras, que se informen ... )
Es por eso que el BeOS no es un sistema operativo "más",
sino que fue desarrollado desde cero, con vistas al futuro,
desarrollado con lo último de lo último en lo que a
arquitecturas de sistemas operativos (de escritorio, claro) se
refiere. Porque de entrada ha sido desarrollado incorporando con
lo que siempre consideramos indispensable (y más) en un sistema
operativo. Porque ha sido pensado de tal manera que se pueda ir
actualizando sin agregar pesadas capas, ya que su concepción ha
sido meticulosamente planeada. Porque no pretende ser EL sistema
operativo esforzándose por incorporar todas las características
existentes, lo que termina convirtiendo al sistema en un
"monstruo", sino que tiene los objetivos bien claros y
definidos. Porque ha sido pensado desde el comienzo para el
usuario de hoy y para el programador de hoy, y para los del mañana.
¿Qué quieren decir todas estas frases? Recomiendo al que no las
entienda explorar meticulosamente la actual sección, buscar más
información en www.be.com y otros sitios, y adentrarse aunque no
sea sino como observador en el foro de usenet comp.sys.be.advocacy
La empresa Be Inc. hoy y qué se espera para
el futuro
Cuando me disponía a escribir esta página por primera vez, lo
hacía pensando "la situación de Be no es mala, pero tampoco
es una gran multinacional, aunque todos sabemos que puede
repuntar. ¿Cómo transmitirle al lector esa misma
esperanza?"
Pero ahora, apenas unos meses (meses!!) después no me veo en la
necesidad de basarme en suposiciones, ya que la situación de Be
ha mejorado notablemente. En sus principios Be no era conocida por
nadie y menos lo era su sistema operativo. Aún hoy, cuenta con
pocos empleados (80 aproximadamente), es una empresa pequeña para
el rubro que pretende ocupar, y eso se traduce en que el
desarrollo no puede centrarse en absolutamente todos los aspectos
del sistema operativo, esto es, el sistema es jóven y no es
perfecto. Por otra parte la segunda y más nefata consecuencia del
anonimato (situación que cambia lentamente, ver más abajo) es
que no hay muchas aplicaciones para este sistema, ni hablar de
juegos y menos drivers. Es por eso que el mismo equipo de Be
muchas veces se ve en la obligación de desarrollar drivers por su
cuenta, lo que agrega una carga más en su pesada espalda.
Pero créase o no Be Inc. se está haciendo cada vez más conocida
en el mundo de la informática, luego de haber trabajado casi en
el anonimato por años. Conocidas compañías están firmando
contratos con Be para incluir el BeOS en algunos casos en
computadoras y en otros casos en componentes más pequeños como
mini computadoras de bolsillo y similares, centrando la mayor
parte de sus esfuerzos en este nuevo mercado (más información
sobre el BeOS en componentes para Internet). Por otra parte la
cantidad de empresas interesadas en desarrollar aplicaciones para
BeOS está creciendo, la cantidad de aplicaciones está creciendo,
la cantidad de juegos está creciendo, etc. (más información
sobre juegos, aplicaciones y drivers para BeOS). La situación hoy
por hoy es esta: el Be se está haciendo notar lentamente y muchas
compañías han dejado de ignorarlo.
Otro punto importante es la proximidad de su nueva versión, que
además de lo que significa, se podraá bajar del sitio de Be en
forma reducida, pero totalmente funcional, de forma GRATUITA, la
cual correrá bajo plataformas Intel. De esta manera los usuarios
de Windows tendrán la oportunidad única de probar el BeOS sin
tener que instalar ni particionar nada de su disco rígido y sin
gastar un centavo. Más allá de eso, Be seguirá ofreciendo a los
usuarios una versión comercial más completa (más información
sobre esto en inglés o en español).
Por esta última movida, que sin duda hará que el potencial del
BeOS sea conocido en el mundo entero, por la cada vez mayor
cantidad de companías que desarrollan productos serios para BeOS
y por los contratos y alianzas que la empresa está teniendo creo
que el futuro para el BeOS es muy prometedor ...
Aplicaciones, juegos y drivers para BeOS
Al ser BeOS un sistema operativo jóven la cantidad de juegos y
aplicaciones disponibles para éste no es en nada comparable con
el enorme volúmen del que gozan los demás sistemas operativos m´s
populares. Por esta misma razón tampoco son muchos los drivers
disponibles para este sistema.
Esto tampoco quiere decir que el BeOS viene pelado y que no se
pueden conseguir aplicaciones por Internet. De ninguna manera: el
BeOS viene con programas para correo electrónico, navegador,
cliente de FTP, un rudimentario procesador de textos, y
herramientas de desarrollo totalmente gratuitas. Además en
Internet las aplicaciones share- y freeware abundan, lo que añade
funcionalidad al sistema. Es también posible conseguir
aplicaciones comerciales de un muy alto nivel de calidad.
Conforme Be Inc. va ganando reconocimiento, esta situación
empieza a revertirse. Hoy día son varias las compañías
interesadas en desarrollar productos serios para BeOS y también
las hay que desean llevar sus éxitos en otros sistemas operativos
al BeOS.
El lector que quiera asesorarse bien sobre si la versión actual
de BeOS soporta cierto hardware determinado debería consultar el
sitio oficial de Be en la especificación del producto donde
tienen una lista detallada del hardware soportado. Luego de eso,
si el hardware no estaba en la lista, tampoco hay que descartar la
posibilidad de que algún usuario capacitado haya programado un
driver por sus propios medios: buscar en los sitios de free- y
shareware. El ejemplo típico es el driver para las SoundBlasters
compatibles de las viejas (hasta la 16 bit) cuyo autor lo
desarrolló por su cuenta
Al lector que desee profundizar sobre el software disponible para
BeOS le recomiendo que navegue por los siguientes sitios, que son
los más importantes "recolectores" de software para
BeOS:
BeWare - http://www.be.com/beware
BeBits - http://www.bebits.com
También hay software disponible en sitios ya famosos como Tucows
o Downloads
El BeOS en minicomponentes con conexión a
Internet: Stinger
Desde finales de 1999 la empresa Be ha centrado parte de sus
esfuerzos en un nuevo mercado muy interesante para ellos: el
de los minicomponentes o minicomputadoras, generalmente agendas
electrónicas o computadoras de bolsillo, con conexión a Internet.
Es por eso que desarrollaron una versión reducida de su sistema
operativo BeOS, y junto con un par de componentes clave lo llamaron
Stinger. En otras palabras es la versión del BeOS para computadoras
de bolsillo o sistemas empotrados. Corre en chips compatibles
con Pentium, pero sus requerimientos son menores y muy diferentes.
Como se espera en ese tipo de componentes la memoria es reducida,
el disco rígido no existe, la pantalla es pequeña, etc.
Be Inc. ya ha firmado contratos con compañías importantes, entre
las que se encuentra Compaq, para desarrollar conjuntamente
dichos componentes.
El futuro de Be en este nuevo rubro parece interesante y asegurado.
Fuente: BeOSFera
Ir arriba
|