Sistemas Embedidos

18
ACTIVIDADES A REALIZAR Fase 1. Sistemas operativos Realice una investigación sore el sistema operativo Linu!" caract $istriuciones" caracter#sticas $el %ernel" etc. Descargue e insta $istriución $e 'untu" ane!e evi$encia $e la instalación reali(a$ . LINUX es un sistema operativo, compatibleUnix. Dos características muy peculiares lo diferencian del resto de los sistemas que podemos encontrar en e mercado, la primera, es que es libre, esto significa que no tenemos que pagar ningn tipo de licencia a ninguna casa desarrolladora de soft!are por el uso d mismo, la segunda, es que el sistema viene acompa"ado del c#digo fuente. $l sistema lo forman el ncleo del sistema %&ernel' m(s un gran nmero programas ) librerías que *acen posible su utili+aci#n. LINUX se distribuye ba o la -NU ublic License/ Ingles, por lo tanto, el c#dig fuente tiene que estar siempre accesible. $l sistema *a sido dise"ado y programado por multitud de programador alrededor del mundo. $l ncleo del sistema sigue en continuo desarrollo ba o coordinaci#n de Linus 0orvalds, la persona de la que parti# la idea proyecto, a principios de la d1cada de los noventa. Día a día, m(s y m(s programas ) aplicaciones est(n disponibles para este sistema, y la calidad de los mismos aumenta de versi#n a versi#n. La gran mayoría de los mismos vienen acompa"ados del c#digo fuente y se distribuyen gratuitamente ba o los t1rminos de licencia de la -NU ublic License. $n los ltimos tiempos, ciertas casas de soft!are comercial *an empe+ado a distribuir sus productos para Linux y la presencia del mismo en empresas aumen r(pidamente por la excelente relaci#n calidad 2 precio que se consigue con Linux. Las plataformas en las que en un principio se puede utili+ar Linux son 3452, 6452. entium, entium ro, entium II, 7miga y 7tari, tambi1n existen versiones para utili+aci#n en otras plataformas, como 7lp*a, 789, 9I :, o!er ; y : 78;.

description

Sistemas Embebidos

Transcript of Sistemas Embedidos

Actividad 14: TRABAJO COLABORATIVO 3

ACTIVIDADES A REALIZAR

Fase 1. Sistemas operativos

Realice una investigacin sobre el sistema operativo Linux, caractersticas, distribuciones, caractersticas del Kernel, etc. Descargue e instale la ltima distribucin de Ubuntu, anexe evidencia de la instalacin realizada.

LINUX es un sistema operativo, compatible Unix. Dos caractersticas muy peculiares lo diferencian del resto de los sistemas que podemos encontrar en el mercado, la primera, es que es libre, esto significa que no tenemos que pagar ningn tipo de licencia a ninguna casa desarrolladora de software por el uso del mismo, la segunda, es que el sistema viene acompaado del cdigo fuente. El sistema lo forman el ncleo del sistema (kernel) ms un gran nmero de programas / libreras que hacen posible su utilizacin.

LINUX se distribuye bajo la GNU Public License: Ingles, por lo tanto, el cdigo fuente tiene que estar siempre accesible.El sistema ha sido diseado y programado por multitud de programadores alrededor del mundo. El ncleo del sistema sigue en continuo desarrollo bajo la coordinacin de Linus Torvalds, la persona de la que parti la idea de este proyecto, a principios de la dcada de los noventa.Da a da, ms y ms programas / aplicaciones estn disponibles para este sistema, y la calidad de los mismos aumenta de versin a versin. La gran mayora de los mismos vienen acompaados del cdigo fuente y se distribuyen gratuitamente bajo los trminos de licencia de la GNU Public License.En los ltimos tiempos, ciertas casas de software comercial han empezado a distribuir sus productos para Linux y la presencia del mismo en empresas aumenta rpidamente por la excelente relacin calidad - precio que se consigue con Linux.Las plataformas en las que en un principio se puede utilizar Linux son 386-, 486-.Pentium, Pentium Pro, Pentium II, Amiga y Atari, tambin existen versiones para su utilizacin en otras plataformas, como Alpha, ARM, MIPS, PowerPC y SPARC.

Las funciones principales de este magnfico sistema operativo son: Sistema multitarea En Linux es posible ejecutar varios programas a la vez sin necesidad de tener que parar la ejecucin de cada aplicacin. Sistema multiusuario Varios usuarios pueden acceder a las aplicaciones y recursos del sistema Linux al mismo tiempo. Y, por supuesto, cada uno de ellos puede ejecutar varios programas a la vez (multitarea). Shells programables Un shell conecta las ordenes de un usuario con el Kernel de Linux (el ncleo del sistema), y al ser programables se puede modificar para adaptarlo a tus necesidades. Por ejemplo, es muy til para realizar procesos en segundo plano. Independencia de dispositivos Linux admite cualquier tipo de dispositivo (mdems, impresoras) gracias a que cada una vez instalado uno nuevo, se aade al Kernel el enlace o controlador necesario con el dispositivo, haciendo que el Kernel y el enlace se fusionen. Linux posee una gran adaptabilidad y no se encuentra limitado como otros sistemas operativos. Comunicaciones Linux es el sistema ms flexible para poder conectarse a cualquier ordenador del mundo. Internet se cre y desarrollo dentro del mundo de Unix, y por lo tanto Linux tiene las mayores capacidades para navegar, ya que Unix y Linux son sistemas prcticamente idnticos. Con Linux podr montar un servidor en su propia casa sin tener que pagar las enormes cantidades de dinero que piden otros sistemas.Linux no sacrifica en ningn momento la creatividad, tal y como lo hacen algunas compaas informticas. Linux es una ventana abierta por la que es posible huir hacia un mundo donde la verdadera informtica puede ser disfrutada sin lmites ni monopolios.Linux es distribuido mediante una serie de distribuciones como RedHat, Slackware, Deban... las cuales se diferencian por su mtodo de instalacin y por los paquetes (software) que viene incluido. Es posible que encuentre a la venta versiones de Linux y piense: "si, si.... decan que era gratis..." No se asuste, todo el software de Linux est regido por la licencia de GNU, con la cual cualquier persona puede modificar un programa y venderlo segn el desee, con la condicin que la persona que compra ese producto puede realizar la misma accin o simplemente hacer copias para todos aquellos que lo quieran sin tener que pagar ms (por lo tanto no se extrae si encuentra distribucin comerciales). Esta licencia es la garanta que afirma la absoluta libertad de este sistema operativo. Si no desea ni siquiera pagar esa msera cantidad puede descargrselo de Internet totalmente gratis (bueno, slo tendr que pagar la factura de telfono ).

Caractersticas de Linux multitarea: varios programas (realmente procesos) ejecutndose al mismo tiempo. multiusuario: varios usuarios en la misma mquina al mismo tiempo (y sin licencias para todos). multiplataforma: corre en muchas CPUs distintas, no slo Intel. funciona en modo protegido 386. tiene proteccin de la memoria entre procesos, de manera que uno de ellos no pueda colgar el sistema. carga de ejecutables por demanda: Linux slo lee de disco aquellas partes de un programa que estn siendo usadas actualmente. poltica de copia en escritura para la comparticin de pginas entre ejecutables: esto significa que varios procesos pueden usar la misma zona de memoria para ejecutarse. Cuando alguno intenta escribir en esa memoria, la pgina (4Kb de memoria) se copia a otro lugar. Esta poltica de copia en escritura tiene dos beneficios: aumenta la velocidad y reduce el uso de memoria. memoria virtual usando paginacin (sin intercambio de procesos completos) a disco: una particin o un archivo en el sistema de archivos, o ambos, con la posibilidad de aadir ms reas de intercambio sobre la marcha (se sigue denominando intercambio, es en realidad un intercambio de pginas). Un total de 16 zonas de intercambio de 128Mb de tamao mximo pueden ser usadas en un momento dado con un lmite terico de 2Gb para intercambio. la memoria se gestiona como un recurso unificado para los programas de usuario y para el cach de disco, de tal forma que toda la memoria libre puede ser usada para cach y ste puede a su vez ser reducido cuando se ejecuten grandes programas. libreras compartidas de carga dinmica (DLL's) y libreras estticas tambin, por supuesto. se realizan volcados de estado (coredumps) para posibilitar los anlisis post-mortem, permitiendo el uso de depuradores sobre los programas no slo en ejecucin sino tambin tras abortar stos por cualquier motivo. casi totalmente compatible con POSIX, System V y BSD a nivel fuente. mediante un mdulo de emulacin de iBCS2, casi completamente compatible con SCO, SVR3 y SVR4 a nivel binario. todo el cdigo fuente est disponible, incluyendo el ncleo completo y todos los drivers, las herramientas de desarrollo y todos los programas de usuario; adems todo ello se puede distribuir libremente. Hay algunos programas comerciales que estn siendo ofrecidos para Linux actualmente sin cdigo fuente, pero todo lo que ha sido gratuito sigue siendo gratuito. control de tareas POSIX. pseudo-terminales (pty's). emulacin de 387 en el ncleo, de tal forma que los programas no tengan que hacer su propia emulacin matemtica. Cualquier mquina que ejecute Linux parecer dotada de coprocesador matemtico. Por supuesto, si tu ordenador ya tiene una FPU (unidad de coma flotante), ser usada en lugar de la emulacin, pudiendo incluso compilar tu propio kernel sin la emulacin matemtica y conseguir un pequeo ahorro de memoria. soporte para muchos teclados nacionales o adaptados y es bastante fcil aadir nuevos dinmicamente. consolas virtuales mltiples: varias sesiones de login a travs de la consola entre las que se puede cambiar con las combinaciones adecuadas de teclas (totalmente independiente del hardware de video). Se crean dinmicamente y puedes tener hasta 64. soporte para varios sistemas de archivo comunes, incluyendo minix-1, Xenix y todos los sistemas de archivo tpicos de System V, y tiene un avanzado sistema de archivos propio con una capacidad de hasta 4 Tb y nombres de archivos de hasta 255 caracteres de longitud. acceso transparente a particiones MS-DOS (o a particiones OS/2 FAT) mediante un sistema de archivos especial: no necesitas ningn comando especial para usar la particin MS-DOS, parece un sistema de archivos normal de Unix (excepto por algunas graciosas restricciones en los nombres de archivo, permisos, y esas cosas). Las particiones comprimidas de MS-DOS 6 no son accesibles en este momento, y no se espera que lo sean en el futuro. El soporte para VFAT (WNT, Windows 95) ha sido aadido al ncleo de desarrollo y estar en la prxima versin estable. un sistema de archivos especial llamado UMSDOS que permite que Linux sea instalado en un sistema de archivos DOS. soporte en slo lectura de HPFS-2 del OS/2 2.1 sistema de archivos de CD-ROM que lee todos los formatos estndar de CD-ROM. TCP/IP, incluyendo ftp, telnet, NFS, etc. Appletalk disponible en el actual ncleo de desarrollo. software cliente y servidor Netware disponible en los ncleos de desarrollo.

LINUX - COMANDOS BSICOSdatemuestra la fecha del sistema.date u mmddhhhhaa cambia la fecha del sistema, ej. 1202120095 es igual a mes 12, da 02, hora 12:00 y ao 1995.logout sale de la actual sesin.login sale de la actual sesin.^D sale de la actual sesin.Alt+F1 inicia una consola virtual (varias a la vez: F1,F2,F3...)passwd cambia el password del actual usuario.^C aborta programa en ejecucin.^S paraliza la pantalla.^Q anula la paralizacin de la pantalla.who lista los usuarios conectados.who am i lista tu nombre.whoyou are lista tu nombre.mail nombre enva correo, se finaliza escribiendo un punto en una lnea sola.mail visualiza tu correo, teclea ? para ayuda.ls lista directorios y ficheros.ls i lista directorios y ficheros con sus i-nmeros.ls a lista directorios y ficheros en orden alfabtico.ls s lista directorios y ficheros con su tamao en bloque (1 bloque= 512 bytes)ls r lilista directorios y ficheros en orden inverso.

Figura 1. Ventana de inicio de sesin Ubuntu 12.1

Figura 2. Sesin iniciada en Ubuntu.

Figura 3. Pantallazo de navegacin con Mozilla Firefox.

Figura 4. Pantallazo de centro de software de Ubuntu.Figura 5. Navegacin de la pgina uClinux

Fase 2. Embedded Linux y uCLinuxDescriba las diferentes distribuciones comerciales y no comerciales de Embedded Linux.

Diferencia entras las numerosas distribuciones de Linux?Todas las distribuciones de Linux (llamadas tambin Linux distros o GNU/Linux distros) comparten el mismo ncleo del sistema operativo, conocido como Kernel. Actualmente hay unas 300 distribuciones en desarrollo activo. Cada distribucin consiste en una amplia coleccin de software como procesadores de palabras, hojas de clculo, reproductores de archivos multimedia, aplicacines de bases de datos, etc. Aqu encontramos la primera diferencia importante, en el software que viene incluido en cada distro.Hay distribuciones comerciales por las que hay que pagar una licencia. Otras, la gran mayora, son software libre. Algunas, de hecho las ms populares, son software libre pero al mismo tiempo ofrecen soporte comercial como Fedora, openSUSE, Ubuntu, y Mandriva Linux, proporcionado por sus auspiciadores Red Hat, Novell, Canonical Ltd., y Mandriva, respectivamente. Otras distros, tambin muy populares, estn completamente mantenidas por la comunidad como Debian y Gentoo. Y otras no estn relacionadas con empresa o comunidad alguna, siendo la distro ms popular de este caso Slackware.Algunas distros estn diseadas para servir como sistemas operativos completos para computadoras personales o de escritorio, servidores, o netbooks. Otras, las llamadas minimalisticas, son normalmente usadas para sistemas integrados (embeddedsystems) o para arrancar desde una memoria USB o Floppy. Hay otras, que incluyen versiones LIVE (LIVE CD) que permiten probarlas sin necesidad de instalar nada en tu disco duro, al correr solamente desde el CD.En el entorno de escritorio (desktop environment en ingls) encontramos otra diferencia. GNOME, KDE y Xfce son los entornos de escritorio ms populares en Linux. Estos estn basados en el sistema/protocolo de interfaz grfica de usuario (GUI) X WindowSystem (comnmente llamado X o X11). Otra diferencia importante radica en el sistema de gestin de paquetes (packagemanagementsystem). Entre los ms populares estn los basados en RPM (Red Hat), DEB (Debian), PACMAN (Arch Linux), PORTAGE (Gentoo), TGZ (Slackware).

La mayora de las distribuciones permiten instalar software no incluido en esta. Por ejemplo, en una distribucin con el entorno de escritorio GNOME, incluido por defecto, podemos instalar KDE sin mayor problema. Incluso, algunos usuarios expertos descartan el uso de una distribucin en particular, al armar su propio sistema operativo a la medida usando distros como Linux FromScratch. Aunque esto lo recomiendo slo para usuarios expertos, o usuarios avanzados acompaados de un adulto responsable.En resumen, se puede aplicar cualquier cantidad de criterios para clasificar las distros: comerciales, no comerciales, completamente libres, con software privativo, para escritorio, para servidor, sistemas integrados, orientadas a usuarios novatos o expertos, de uso especfico (como firewalls, clusters, o routers), que requieren o no instalacin, por el tipo de gestor de paquetes, por el entorno de escritorio, por la regin o lenguaje, orientados a la produccin de multimedia, y un largo etctera

DISTRIBUCIONES COMERCIALESAunque hemos dicho que Linux es un software libre, hay empresas que trabajan basndose enLinux para crear su propio sistema operativo. Existen poderosos sistemas operativos paradispositivos de comunicaciones mviles desarrollados por dichas empresas:

El ELC (Embedded Linux Consortium) es un consorcio de empresas cuyo objetivo es crearuna alternativa Linux para dispositivos embebidos, como los de comunicaciones mviles.Hay muchsimas distribuciones de Linux, algunas de ellas muy interesantes, que seadaptan perfectamente a distintos tipos de dispositivos. Son muchos los sistemas que yapodemos encontrar en el mercado y no es nuestro objetivo comentarlos o compararlos,pero s que puede resultar interesante conocer las caractersticas de algunos de ellos, paradarnos cuenta de que existen soluciones Linux para todo tipo de plataformas hardware.

Collogic:Coollinux. Combina Linux embebido con tecnologas Java. Es ideal paraaplicaciones Internet de ltima generacin (Internet Mvil).

Conventive:XLinux. Destaca epecialmente por poder configurar el kernel de Linux en tansolo 143KB de espacio.

Esfia:RedBlue Linux. Esta distribucin, especialmente diseada para comunicacionesmviles, tiene el kernel desarrollado en 400KB y soporta procesadores con o sin MMU(Memory Management Unit, unidad de manejo de memoria).

Mizi:Linu@. Ideal para aplicaciones Internet, Smart Phone y PDA. Soporta una ampliagama de procesadores, y requiere al menos 2MB de DRAM y MB de memoria Flash.

Amirix:Embedded Linux. Derivado de Standard Debian GNU/Linux, retocado mediantedrives y herramientas, que posibilitan una configuracin para sistemas pequeos, sin disco,basados en Flash.

Kyzo:PizzaBox Linux. Sistema basado en Linux y Samba. Puede correr con 6MB de ROMFlash sobre una CPU 486 o superior.

Lineo:Embedix. Se trata de un software basado en Linux diseado especficamente paradispositivos embebidos. Suporta un amplio rango de CPUs, sin necesidad de MMU.

PalmPalm:Tynux. Una solucin de Linux embebido optimizada para aplicaciones Internetque incluye reproductores MP3 y video, Internet TVs, equipamiento videoconferencia,PDA/telfono mvil.

LAS QTQT es un framework de aplicaciones C++ multiplataforma desarrollado por la empresaTrolltech. QT es una librera totalmente orientada a objetos que puede correr sobreWindows, Linux, la mayora de plataformas Unix y Mx OS. QT incluye diversasherramientas, entre las que destaca el QT Designer (un constructer de interfaz grfica deusuario), y otras como QT Linguist (herramientas de soporte de traduccin) o QT Assistant(un sistema de ayuda integrado).Lo que a nosotros nos interesa son las QT/Embedded, es decir, una versin de QT, queproporciona el mismo API que la versin escritorio. De esta manera, las aplicacionescreadas con QT pueden ser compiladas para correr sobre QT/Embedded.

Desarrollo de aplicaciones con QT/EmbeddedCuando se desarrolla software para dispositvivos de mano, se han de tener en cuenta variaslimitaciones. El usuario espera una interfaz grfica llamativa y de fcil uso. Por otra parte, nosotrosestamos limitados por las caractersticas del dispositivo. En parte por eso, Linux se est haciendomuy popular como plataforma para los sistemas embebidos, debido tanto a su eficiencia como alhecho de no pagar licencias.

Lo que diferencia las toolkits de QT/Embedded de las dems, es que fue desarrollada paraaplicaciones de escritorio. De esta manera, los desarrolladores no han de aprender nuevas API nitcnicas de programacin. Aunque hay una gran diferencia a la hora de llevarlo a los dispositivosporttiles, el hecho de poder aprovechar las API de siempre resulta realmente interesante para losprogramadores.

VENTAJAS E INCONVENIENTESAunque algunas ya las hemos comentado, sinteticemos las principales ventajas de Linux endispositivos mviles: El hecho de que sea un software libre, sin gastos de licencia y con el cdigo fuentedisponible, lo que posibilita a los desarrolladores poder configurar el sistema a la medidaperfecta de sus necesidades. Cualquier sistema basado en Linux es robusto y fiable. Asimismo, es modular, configurable y escalable. Al ser Linux un sistema desarrollado para trabajar en red, tiene un perfecto soporte paraaplicaciones Internet. Excelente soporte multitarea, grfico, de almacenamiento y de perifricos.En contrapartida, aqu vemos los inconvenientes de utilizar Linux, muchos de ellos derivados deque no sea un sistema comercial. Carencia de drivers para muchos tipos de hardware. Carencia de Estndares para interfaces de usuario, manejadores de ventanas, extensionesde tiempo real Carencia de un servicio de soporte tcnico y las garantas que ello conlleva.

Fase 3. Proyecto.

Problema: En la empresa donde laboro ocurren eventos de fallas en los procesos donde la instrumentacin instalada solo reporta la alarma del evento ocurrido.Como futura ingeniera veo un campo de aplicacin a los sistemas embebidos dndole o colocando cierta inteligencia a los sistemas de instrumentacin sin ser necesario cambiar dicha instrumentacin.Investigando, actualmente Microchip permite la implementacin de sistemas embebidos con PIC32 para lo cual se propone como proyecto lo siguiente:

1. Esquematizacin de la idea de solucin con el cliente. 2. Definir que comportamiento esperamos del sistema.3. Disear que requisitos deben tener por medios fsicos o lgicos, es decir, determinamos la lnea divisoria entre el hardware y el software.4. Especificacin, diseo y adquisicin del hardware.5. Especificacin, diseo e implementacin del software.6. Integracin de hardware y software en el prototipo.7. Pruebas en laboratorio del prototipo.8. Pruebas finales en el entorno real.9. Documentacin y definicin de procedimientos de fabricacin.

La poblacin beneficiada va a ser el grupo de operadores de las plantas de procesos, as como el personal de mantenimiento ya que vamos a tener con nuestro sistema embebido el registro no solo de la alarma ante un evento , sino tambin el registro en tiempo real de los parmetros registrados por el instrumentos y una precisin en la medicin ya que nuestro sistema embebido dar la inteligencia a nuestra instrumentacin.

CONCLUSIONES

Se cumplieron los objetivos trazados en este trabajo, se tuvo de correr bastante para conseguir los instaladores y as poder desarrollar los puntos de la gua. Es importante recordar que la PC en donde se instalaron los diferentes software deban tener condiciones ptimas de capacidad.

BIBLIOGRAFIA http://docencia.ac.upc.edu/EPSC/PSE/documentos/Trabajos/Archivo/Trabajo_Sistemas_Operativos.pdf

http://ingelinux.wordpress.com/2010/03/07/diferencias-entre-las-distros-de-linux-cual-escoger/

Modulo de la UNAD, VALDERRAMA ARIAS, Oscar Ivan. Sistemas embebidos Diciembre del 2009 Sogamoso. Enciclopedia virtual Wikipedia. Consultado el da 14 de noviembre del 2012 en la URL: http://es.wikipedia.org/wiki/GNU/Linux#Algunas_distribuciones Mi Feed. Caractersticas del sistema operativo Linux. Consultado el da 14 de noviembre del 2012 en la URL: http://fabianperez.blogspot.com/2008/03/caractersticas-del-sistema-operativo.html