Copy Link
Add to Bookmark
Report
5x12 QNX OS
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
))))))))))))))S)i)e)n)t)e))l)o))p)r)o)h)i)b)i)d)o)))))))))))))))))))
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
http://kshezine.org
========================
(-) QNX´OS (-)
(-) by NiEtZsChE-2k (-)
(-) (-)
========================
QNX -> " Un sistema para mision critica "
*****************************************
~~~~~~~~~
-=Intr0=-
~~~~~~~~~
Bien en este articulo analizaremos el QNX, un sistema operativo alternativo a
las demas plataformas y que aun esta en fase de desarrollo y crecimiento, en
este articulo nos orientaremos mas al analisis de sistemas con el obejetivo de
aprender a estudiar un sistema, ventajas, desventajas, etc. A lo largo de este
paper haremos un completo analisis de este fabuloso Sistema, que aun no es tan
conocido, pero justamente quise hacer una pequeña estudiando este SO, y
explicando su instalacion, manejo, y configuracion basica, ya que lo he usado,
y me ha parecido excelente, tanto en su estabilidad y eficacia, pero bien
vayamos a la practica que comprenderan todo lo que digo.
~~~~~~~~~~~~~~~~~~~~~~~
-=Analizando el QNX=-
~~~~~~~~~~~~~~~~~~~~~~~
Bien existen ordenadores donde los sistemas no pueden fallar nunca, tales como
aquellos que controlan los procesos en usinas nucleares, centrales
hidroelectricas, etc. de forma que si hubiese algun fallo grave en dichos
sistemas podrian causar danos muy graves. En fin, sistemas incondicionales, y
de una estabilidad "inmaculada", pues para ello esta el "QNX Operative
System".
El QNX, es un sistema basado en la plataforma Unix, es decir la estructura y
arquitectura del SO es como la de cualquier Unix, pero..., aqui vienen las
diferencias entre un unix, y el qnx.
Como sabemos, existen tres tipos principales de sistemas Operativos, aspecto
que debe ser estudiado por cualquier analista de sistemas, principalmente
tenemos los sistemas por "Lotes", que suelen ser de por si sistemas lentos y
de respuesta demorada donde lo que importa es la ejecucion del proceso sin
importar el tiempo que demore o bien sin un timeslice o quantum parametrizado
o definido, es decir sistemas "precarios", ya que este tipo de sistemas
procesan funciones, instrucciones y procesos de forma ordenada, es decir toma
el primero y asi hasta el ultimo que este cargado en memoria, es justamente
por eso que suelen ser sistemas lentos.
Luego tenemos los Sistemas Interactivos, que son aquellos que trabajan con
interfaces graficas y son versatiles y eficaces, que simplemente suelen tener
timeslice o quantums pequeños para los procesos lo que da esa rapidez y
eficacia en este tipo de sistemas, ya que al ser el tiempo de respuesta
pequeño si dicho proceso demora demasiado se continua con otro y asi
sucesivamente, pueden ser sistemas como Linux, freebsd, MacOs, BEOS, etc..., y
finalemente tenemos los sistemas "Real Time", que trabajan en tiempo real, es
decir este tipo de sistemas a diferencia de los otros dos, no solo tienen una
estabilidad y eficacia inmaculada, sino que tambien dan prioridad a
determinados procesos, es decir en momentos criticos, en los caules hay
procesos y algoritmos los cuales deben ser tratados urgentemente por el
microprocesador y que deben dar una salida urgente, este tipo de sistemas
adoptan un monitoreo constante ya con una parametrizacion basica de los
procesos a ser auxiliados en tiempo real.
Pues justamente no esta de mas decir, que este tipo de sistemas tienen una
estabilidad, eficacia, excelentes justamente implementados para ordenadores
que deben actuar en forma incodicional y no pueden tener un minimo error, ya
que cualquier conflicto podria comprometer realmente una situacion causando
terribles consecuencias, y como sabemos hoy en dia los ordenadores tienen un
papel fundamental en todo ambito.
Pues justamente todas esas prestaciones que hemos analizado las ofrece el QNX,
un sistema que ha sido y es usado en usinas nucleares, centrales
hidroelectricas, etc.
La Filosofia con la que ha sido diseñado este SO, fue la de incluir la menor
cantidad de aplicaciones posibles, es decir es un sistema en el cual se
"sacrifica" una hermoza interfaz grafica y diversas aplicaciones, por una
estabilidad y eficacia simple y perfecta.
Por eso que aqui analizo este aspecto, el QNX lo recomiendo como un sistema
para ser utilizado en ordenadores de funcionamiento incondional, o sea de
situacion "critica", pero no es un sistema para ser utilizado a nivel
domestico o bien a nivel servidor, ya que es escazo en lo que son interfeces y
aplicaciones, lo cual no alcanzaria el objetivo procurado por vosotros, lo
reitarare nuevamente y como lo coloque en el topico: el QNX es un SO para
mision critica.
Por otro lado explicare y desarrollaremos la instalacion y configuracion de
este sistema, que ya he usado y me ha parecido perfecto, por lo cual para
aquellos que prefieran otro tipo de sistemas QNX es una fabulosa alternativa.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-=Entendiendo la base del QNX=-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Cuando alguno de vosotros hayais instalado el QNX por primera vez se llevaran
la impresion que es un sistema un tanto basico, me refiero con diversas
carencias esteticas, y si lo es. Para garantizar la integridad del sistema el
mismo ofrece aplicaciones basicas, pero el mismo sistema os obliga a compilar
las aplicaciones en caso que las vayamos a usar, o incluso escribir nuestras
propias aplicaciones cosa que seria muy bueno para los desarolladores de
software o empresas que trabajen en esa area. Siguiendo nuestro analisis vamos
a estudiar un punto positivo del QNX, que es el "Neutrino", su "microkernel"
realmente compacto, desarrollado con el estandar POSIX, muchos de uds. se
preguntaran "si es posix es unix", pues digamos que qnx fue desarrollado con
posix pero desde una perspectiva diferente y es justamente lo que hace de qnx
un "no unix" y que por otro lado torna este sistema operativo completamente
estable. Pero que es exactamente un "microkernel"?, pues como sabemos el
kernel es el nucleo de todo sistema operativo encargado de la administracion
del sistema de ficheros y especialmente esta ligado a los algoritmos
procesados por el micro, es justamente quien transporta e interviene en el
pasaje de streams o flujos de datos procesados y llevados a la ultima "capa"
del kernel en este caso el interprete de comandos conocido como "shell".
Entonces un "MicroKernel" es justamente un kernel precario pero de
caracteristicas funciones primitivas de un sistema "liviano".
Ejecuta simplemente estas funciones:
- Manejo de Hebras
- Manejo de Señales
- Envio de mensajes entre hebras.
- Sicronizacion de procesos
- Planificacion de procesos
- Temporizador (utilizado para controlar las niveles de prioridad en base al
timeslice correspondiente a cada proceso). Luego las demas herramientas, como
ser gestores de ficheros, editores, etc. se le instalan como si fuesen
plugins, de esa forma Neutrino se mantiene liviano y brinda mas velocidad de
respuesta a las peticiones efectuadas por el sistema. El neutrino trata a las
drivers como procesos que se activan y se desactivan de forma tal que no
pertenecen al kernel, simplemente son como "acoples" los cuales el kernel
activa en tiempos de ejecucion y cuando es solicitado, por eso que el neutrino
suele ser un kernel, simple y no sobrecargado de funciones, modulos, etc. como
en el caso de otros sistemas operativos.
Este microkernel tiene aproximadamente 35kb y sirve basicamente para dos
cosas:
- Controlar el pasaje de los flujos (streams) de datos y señales que salen del
Neutrino al sistema y que luego son volcadas a la ultima "capa" del
microkernel que es el "shell" o bien el interprete entre el usuario y el
microkernel.
- Y luego realiza un procedimiento llamado "Scheduling". aqui es donde
caracterizaremos la clave de este sistema, el Scheduling decide justamente que
proceso sera ejecutado en cada momento, y es justamente esta caracteristica
que liga y caracteriza al QNX como un SO de operacion "Real time", bien el
Scheduling consta de 32 niveles de prioridad diferentes definidos y
parametrizados en el momento en que es creado cada proceso. Para entender
mejor este brillante concepto, pondremos un ejemplo: supongamos que en una
usina nuclear tenemos un servidor QNX, el cual se encarga de monitorear el
estado de ciertos Reactores y que al mismo tiempo se encarga de controlar las
operaciones y gerenciamento de los empleados, en ese caso es logico que los
procesos que pertenecen a la monitarizacion de los reactores son procesos que
tienen prioridad a cualquier otro, pues justamente cuando el programador
desarrolle dicha aplicacion que operara bajo el QNX, el mismo le determinara
que prioridad de proceso tendra, es decir que ante todo los procesos
pertenecientes a los reactores tendran prioridad constante mientras los demas
procesos seran tomados en segundo plano, de esa forma se garantiza la
estabilidad y la seguridad por parte de los reactores o cualquier otra cosa.
Luego el QNX una vez determinados los distintos niveles de prioridad el se
encargara del resto.
<Acoplamiento y montaje de funciones al kernel>
----------------------------------------------
__________ _________ _________
[ Qnx file ] [ Process ] [Neutrino] * Los dispositivos
[ Manager ] [ Manager ] [Network ] * Gestores de ficheros
[__________] [_________] [Manager ] * Sistemas de ficheros
| | [________] * Controladores
| Acoples | Acoples | * Aplicaciones. etc.
| ======= | ======= | - Son montados en forma
| | | de Plugins. -
| | |
Inpunt de Streams [-----------------------------------------------] Output de Streams
[-------------------->> <SOFTWARE BUS> <Microkernel> "Neutrino" -------------------->>
[-----------------------------------------------]
| | | |
| Acoples | Acoples | Acpoples |
| ======= | ======= | ======== |
| | | |
_________ ________ ___________ ________
[ Photon ] [ TCP/IP ] [ ] [ CDROM ]
[ GUI ] [ Manager] [ Application] [ File ]
[ Manager ] [________] [____________] [ Manager]
[_________] [________]
~~~~~~~~~~~~~~~~~~~~~~~~~
-=Tipos de Scheduling=-
~~~~~~~~~~~~~~~~~~~~~~~~~
Antes de analizar el "Scheduling" del QNX, analizaremos los diversos tipos que
existen y luego lo compararemos con este. Primero y principal es necesario
entender la estructura de un sistema operacional. La mayoria de los SO´s,
incluso windows..., ejem..., ejem.... poseen dos tipos de scheduling en el
kernel, el FIFO y el Round Robin.
El FIFO (First In-First Out) funciona basicamente como una "fila", es decir
cuando un proceso es ejecutado se ejecuta desde su inicio hasta su
finalizacion, luego el proceso de mayor prioridad dentro de la "fila" o
"lista", es ejecutado y asi sucesivamente. El segundo metodo, Round Robin, se
diferencia principalmente del FIFO, en que a cada proceso se le determina una
porcion de tiempo, denominada "Timeslice" o "Quantum", o sea esto significa
que el primer proceso de la "fila" tendra un determinado intervalo de tiempo
predeterminado, que en el QNX es de 50 milisegundos para ser ejecutado por el
microprocesador, cuando se agota dicho intervalo de tiempo el proximo proceso
de la "fila" o sea el de mayor prioridad entra en ejecucion.
Bien en el QNX, ya el esquema de "Scheduling" es un tanto diferente de los
demas, el Scheduling padron de este sistema es denominado "Adaptive", en este
modo de operacion un determinado proceso queda en ejecucion durante un
Timeslice de 50 milisegundos, cuando se acaba dicho intervalo de tiempo, el
proceso actual pierde un punto de prioridad pasando a un nivel mas inferior y
en caso que no haya ningun otro proceso con un mayor puntaje o nivel de
prioridad el proceso anterior continua en ejecucion hasta que aparezca algun
proceso que supere el nivel o puntaje de prioridad de dicho proceso, entonces
interrumpira el proceso de bajo nivel de prioridad para ejecutar aquel que
posea un nivel mayor.
Cabe aclarar que el nivel de prioridad perdido por el proceso el cual supero
el timeslice continua siendo el mismo, es decir no quiere decir que ira
dismiuyendo a cada 50 milisegundos. Gracias a esta tecnologia, el QNX permite
que diversas aplicaciones de mision critica sean ejecutadas con un alto nivel
de seguridad, por ejemplo supongamos que ocurre una fuga de gases radioctivos
en una usina nuclear, pues ese es un conflicto que debe ser resolvido al
instante pues para ello con esta tecnologia implementada por el QNX el
procesador podria dedicar hasta 32 timeslices con el objetivo de solucionar
dicho conflicto, dejando en segundo plano aquellos que estaba ejecutando
anteriormente. Justamente son caracteristicas como estas que hacen del QNX un
excelente SO, tanto a nivel estabilidad como eficacia, y reitero nuevamente es
un SO poco amigable para uso domestico pero es el sistema ideal para
implementarse en empresas, centrales,las cuales no pueden sufrir conflictos.
~~~~~~~~~~~~
-=Redes=-
~~~~~~~~~~~~
Bien como hemos visto este SO ofrece varias cualidades y ventajas ya
analizadas, por otro lado queria destacar una de sus grandes cualidades que es
en el ambiente de redes. Pongamos como ejemplo una red LAN con windows9x y un
solo modem, de forma tal que a partir de ese modem, todos los ordenadores
deben acceder a internet, claro esta que se estableceria un servidor dentro de
esa lan, ese servidor estaria online, de forma que los demas ordenadores se
conectarian al server para acceder a inet, o bien efectuando el proceso de
enmascaramiento. En redes QNX, no es necesario todo esto, ya que cualquier
maquina de dicha LAN, puede acceder al modem como si estuviese conectado a la
maquina misma, de forma tal que con esto no solo nos ahorrariamos gastos
economicos sino que tambien resultaria la administracion de la red mucho mas
simple, Posibilitando asi el acceso de toda la LAN a la red mundial =).
~~~~~~~~~~~~~~~~~~~~~~
-=Entorno Grafico=-
~~~~~~~~~~~~~~~~~~~~~~
El entorno grafico utilizado por el QNX es muy similar a las X-windows en los
unix, en este caso el entorno utilizado es denominado "Photon", esta interfaz
grafica es muy precaria y simple, por otro lado al neutrino le podemos
"acoplar" el Xphoton, que sirve para correr aplicaciones X. Muchos de uds.
diran porque el QNX adopta una interfaz precaria y simple, justamente porque
precisa tener memoria liberada para la ejecucion de procesos mayores.
~~~~~~~~~~~~~~~~~~~~~
-=Requeriemientos=-
~~~~~~~~~~~~~~~~~~~~~
El QNX como ya sabemos es un sistema "monoprocesado", o sea que no
precisaremos de ordenadores o equipamentos sofisticados para instalar el QNX,
ya que hemos dicho anteriormente es un SO, liviano y por consiguiente de
instalacion rapida ya que es escazo en lo que son fabulosos ambientes graficos
o aplicaciones varias, es un SO para ser usado exclusivamente con una
determinada utilidad tecnica. Por tanto pueden instalarlo en un ordenador de
procesador Intel 200 mhz o superior y por lo menos 32 mb de ram.
Otro punto que debemos aclarar, es que la compatibilidad de hardware es
bastante restringida y basica, avisando tambien que en caso vuestro hardware
no sea detectado en los procesos de instalacion dificilmente funcionara. Para
informarse mas acerca de la compatibilidad de hardware y mas detalles tecnicos
pueden consultar una lista de hardware que es soportado por el QNX:
<http://qdn.qnx.com/support/hardware/platform/index.html>.
~~~~~~~~~~~~~~~~~
-=Instalacion=-
~~~~~~~~~~~~~~~~~
Para instalar el QNX tenemos dos formas, una de ellas es creando la particion
dedicada para el qnx y cargar alli el sistema y la otra instalandolo a traves
del windows que es una instalacion de tipo mas simple que la anterior, de
todos modos veremos los dos tipos de instalacion solo resta escoger cual de
las dos les es mas comoda.
- Instalacion Tipo 1
=====================
-----------------------------------------------------------------------------
*** RECOMEDACIONES ANTES DE LA INSTALACION ***
Primero y principal esta de mas decir que el QNX por mas que sea liviano y
veloz no significa que no deje de ser un sistema operativo por tanto se
recomienda que se hagan backups de los datos por cuestiones de seguridad. Por
otro lado el QNX no cuenta con un Gestor de Booteo, como lo son el Linux
Loader o el System commander, por tanto se recomienda instalar el QNX ´OS en
un hd a parte y no es necesario que sea de gran capacidad.
y RECOMIENDO en un 100 % dejar el QNX en un hd solamente separado de los
demas sistemas, no solo por el gerenciamento de particiones sino que tambien
para evitar conflictos entre los sistemas.
-----------------------------------------------------------------------------
Bien para poder instalar el QNX, deben bajar las fuentes desde nuestro web, en
la seccion "descargas", alli encontraran el QNX las fuentes correspondientes a
dicho sistema operacional, o bien para aquellos que prefieran obtener las
ultimas actualizaciones y novedades de dicho SO, es solo visitar su web
oficial: <http://qdn.qnx.com>.
1 - pasen las fuentes a un cdrom, y den un boot por el cd, cuando el sistema
inicie den un un ENTER para iniciar la instalacion.
2 - Aparecera una pantalla con el termino de licencia y bla bla..., presionen
la tecla "A" para continuar.
3- El sistema detectara dispositivos y controladoras, las normas de los hd´s,
etc. Luego el QNX os pregunta si quereis eliminar todas las particiones
existentes o bien una de ellas, pues presionamos "1", y aparecera un cuadro
con todo el esquema de particiones luego seleccionamos la que queremos
eliminar que sera a partir de esa particion que eliminemos que daremos lugar
al QNX. Pero como he dicho anteriormente RECOMIENDO hacerlo en un hd por
separado de forma que al momento de particionar el hd en la fase de
instalacion le ordenemos eliminar todas las particiones y cree una unica
particion exclusiva para el QNX, yo he hecho la instalacion completa y sin
conflictos en un hd seagate de 1.00 gb y aun me sobro demasiado espacio =).
4- Una vez de haber creado la particion el disco sera formateado y luego sera
instalado el sistema, la instalacion del sistema no dura mas de 5 minutos,
luego al terminar la instalacion, retiraremos el cd de la unidad y mandaremos
un ENTER, el ordenador sera reiniciado y la instalacion del QNX finalizada.
5- Al iniciar el QNX por primera vez el sistema detectara nuestro dispositivo
de video. Para configurarlo simplemente deberemos seguir las instrucciones que
aparecen, preguntando que tipo de tarjeta tenemos, resolucion, etc. por lo
cual se recomienda tener toda la informacion tecnica en el momento para
obtener un perfil de configuracion mas exacto y no siempre darle al default.
Luego aparecera el clasico metodo de autenticado: "Login/pass".
Por lo cual le pondremos:
----------------------------
login: root
password: (damos un ENTER)
----------------------------
Luego queda comenzar a utilizar el sistema, testear y aprovechar las
prestaciones que el QNX´OS les ofrece. =)
- Pequenio detalle, que no lo deberia ni decir pero siempre hay algun
tontin por alli que se olvide..., cambien el pass del r00t,
# passwd root, y ya. -
- otro detalle que queria aclarar a pesar que el QNX es otro sistema
diferente de los demas no deja de ser un Unix, por tanto comandos
normales son como en otro sistema unix.
- Instalacion tipo 2
======================
Bien este tipo de instalacion es tan simple como ejecutar una aplicacion, el
icono del qnx, que luego quedara dentro del directorio: "Archivos de
programa", que el fichero ocupara aproximadamente 600 mb, luego el QNX
modificara el config.sys creando asi un menu de arranque que nos permitira
escoger entre el qnx y el windows, luego por otro lado la instalacion es
sencilla y rapida, ademas que tiene como ventaja que el mismo detecta
automaticamente nuestros dispositivos y en caso que no reconozca nuestros
dispositivos y carezca de controladores los adapta a los estandares mas
convenientes para su buen funcionamiento. Una vez terminada la instalacion el
windows se reiniciara y al instante aparecera un menu para escoger entre ambos
sistemas y listo la instalacion ha sido finalizada!.
~~~~~~~~~~~~~~~~~~~~~~~~~
-=Conexion a internet=-
~~~~~~~~~~~~~~~~~~~~~~~~~
Bien como hemos visto, todo el perfil de configuracion y deteccion de
dispositivos como ser tarjetas de video, sonido, modems, etc. es efectuado por
el qnx en fases de instalacion, por tanto lo unico que quedaria a configurar
seria nuestra cuenta dial-up, y ya. Para ello nos movemos al menu que se
encuentra la derecha y vereis una aplicacion llamada "Photon Dialer", damos un
click alli y luego queda suministrar los datos de siempre, nuestro dispositivo
modem, nombre de la conexion, nombre de usuario, password, numero telefonico
al cual se dirigira el dialer, y listo le damos en "connect" y esperamos
entrar a la red de redes con este hermozo sistema =).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-=Instalando Herramientas=-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Bien para instalar diversas aplicaciones, que eso lo manejan a su gusto,
pueden conseguir varias herramientas en el Site del QNX, que ya lo he nombrado
anteriormente o bien bajar otras de nuestro site oficial dentro de la seccion
"descargas", vayan al link QNX luego alli hallaran varias aplicaciones como
ser, reproductores de mp3, audio, video, etc. Tenemos un soft similar al real
player para QNX y hasta versiones de doom y quake tambien. En fin herramientas
interesantes y utiles que complementan este hermozo sistema.
Bien una vez que ya habeis bajado dichos ficheros, simplemente nos logueamos
en el QNX y luego si mirais bien tenemos una barra de herramientas en el
lateral derecho, alli hay varias opciones una de ellas es: "Package Mgr",
damos un click en ella y luego con un pequeno explorador nos dirigimos hasta
la unidad y directorio donde tengamos los ficheros a instalar, simplemente los
seleccionamos y le damos en "install", luego ya podeis usar todas las
aplicaciones como en cualquier otro sistema ;). Antes de terminar quiero
aclarar una duda que seguramente a muchos de uds. debe haberles surgido: "
cada vez que quiero utilizar las unidades y particiones, debo montarlas? " SI.
~~~~~~~~~~~~~~~
-=Despedida=-
~~~~~~~~~~~~~~~
Bien con esto terminamos dicha guia, mi principal objetivo era analizar y
darles a conocer para aquellos que no sabian un sistema alternativo que es
QNX. ya sabeis dudas, criticas y bla bla... al mail. Aquellos que les guste la
idea del ezine que escriba guias acerca de otros sistemas alternativos a
Linux, bsd, etc..., que me manden un mail y si son muchos votos lo hare =).
BYE.
- by -=NiEtZsChE-2k=-
-=kSh Security Team=-
<nietzsche@kshezine.org>
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
))))))))))))))S)i)e)n)t)e))l)o))p)r)o)h)i)b)i)d)o)))))))))))))))))))
((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((
http://kshezine.org