Software Libre es todo aquel que cumpla 4 libertades:
* La libertad de usar el programa, con cualquier propósito (lib. 0).
* La libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidades
(lib. 1).
* La libertad de distribuir copias, con lo que puedes ayudar a tu vecino(lib. 2).
* La libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie(lib. 3)
domingo, diciembre 18, 2011
UbuntuOne: Cloud Linux en Android
UbuntuOne se ha convertido en una alternativa digna de los más conocidos DropBox , y se presenta como parte de la instalación por defecto de Ubuntu. Los usuarios de Android ya pueden descargar los archivos UbuntuOne para cerrar la brecha entre su teléfono y el PC que se instala el sistema operativo Linux más populares.
descargar la aplicación desde el Mercado Android UbuntuOne libre, y usted tiene acceso instantáneo a los archivos almacenados en su nube UbuntuOne cuenta. La aplicación viene con un visor de fotos y otros espectadores para ver el valor por defecto para cualquier tipo de archivo. Así, por ejemplo, almacenar en los archivos de Office se pueden abrir con QuickOffice UbuntuOne en el teléfono Android.
Más información en: pysnnoticias.com
lunes, septiembre 12, 2011
CONVOCATORIA PUBLICA a BECAS TOP
viernes, septiembre 02, 2011
9 pasos para profesionalizar tu Facebook
1- Nuevos contactos:
Agrega contactos que tengan valor para tu actual o futuro empleo, muchos usuarios que has añadido a tu Linkedin también tienen página personal en Facebook.
2- Adecúa tu perfil:
Visualiza tu Facebook y piensa como lo verán tus jefes, compañeros de trabajo, clientes, etc.. además de los usuarios que te están buscando o aquellos a los que has agregado recientemente, ¿Hay algún contenido que desde el punto de vista profesional pueda no ser adecuado?
3- Listas:
¿Cómo gestionas a los 500 contactos que tienes? ¿Sabes quiénes son realmente tus contactos personales, tu conocidos y tus amigos? A través de las listas que tienes disponibles en Facebook, edita a tus amigos y agrúpalos. Eso te permitirá configurar tu privacidad y gestionar que contenidos quieres mostrar o no a según que personas agregadas.
4- Aplicaciones:
Sé selectivo con las aplicaciones que agregas a tu página de Facebook ¿Contratarías a alguien que te envía de forma reiterada y hasta intrusiva regalos para juegos o encuestas sin fundamento?
5- Conexiones:
Añade a tu perfil de Facebook, aparte de información sobre tus estudios, experiencias laborales y proyectos en marcha, así como todos tus perfiles en redes sociales: Blogs, twitter, páginas de interés, etc..
6- Nombre de usuario:
Dentro de tu cuenta, puedes habilitar un enlace personal de Facebook modificando el nombre de usuario. Es importante que haya coherencia con tus otras redes sociales. Cuidado: Facebook solo te deja cambiar el nombre dos veces.
7- Contenido:
Además de analizar las publicaciones que pueden aparecer en tu muro, enfócate en aportar contenido de calidad. De esta forma, demuestras que estás interesado en todas las novedades de tu sector y que eres proactivo.
8- Grupos
Únete a grupos relacionados con tu sector o con aquellos involucrados en tu profesión. Siempre tendrás información actualizada y nuevos contactos que pueden interesarte. Asimismo, participa en los debates que puedan surgir y atrévete a dar tu opinión y aporta tus conocimientos.
9- Eventos
Facebook es un buen lugar para saber qué eventos se realizan en tu ciudad. Es importante que aparte de hacer networking a través de la red social, también asistas a estos encuentros. Nunca se sabe a quien podrías conocer o cuáles oportunidades te puedes encontrar.
Fuente: @Yleniapr
lunes, agosto 22, 2011
Oportunidades de Becas y Préstamos Educativos
La Organización de los Estados Americanos (OEA) convoca a participar y ofrece ayuda financiera para cubrir un porcentaje de los costos de matrícula en los siguientes cursos y diplomados de actualización profesional, impartidos completamente vía Internet a través del modelo pedagógicodel Aula Virtual del Portal Educativo de las Américas (www.educoea.org):
Deadlines to apply for partial and full scholarships listed below are fast approaching. Interested candidates must apply soon.
If for any reasons you cannot view this email, or if the links to information on specific programs have been disabled, please visitwww.oas.org/en/scholarships
EACH SCHOLARSHIP OPPORTUNITY HAS AN E-MAIL ASSOCIATED TO ADDRESS ANY QUESTIONS.
PLEASE DO NOT E-MAIL THE PORTAL
Scholarships Now Available
Full Scholarships for Master’s Programs in Brazil
The OAS and the Coimbra Group of Brazilian Universities are offering 50 full scholarships for eligible 2-year Master’s Programs in Brazil.
- More than 200 available programs offered by 15 participating universities throughout Brazil.
- Scholarships cover full tuition, a 1,200RS (approx. US$750) per month stipend and a one-time payment of US$1,500 to help offset the cost of travel.
- There is no language requirement for native Spanish speakers and native speakers of English or any other language must only demonstrate an intermediate level of Portuguese. Portuguese language support will be offered to all scholarship recipients by host universities. For more information, click here.
Other Great OAS Scholarship Opportunities for Academic Programs
Universidad de los Andes (100% tuition + partial stipend US$200/month)
- Master in Political Science [Spanish/onsite in Bogotá, Colombia]
- Master in Public Policy [Spanish/onsite in Bogotá, Colombia]
- Master in Systems and Computer Engineering [Spanish/onsite inBogotá, Colombia]
- Master in Industrial Engineering [Spanish/onsite in Bogotá,Colombia]
- Master in Cultural Studies [Spanish/onsite in Bogotá, Colombia]
Midwestern State University (60% tuition)
- Master of Arts in Training and Development [English/online]
Structuralia – La Escuela de Organización Industrial (50% tuition)
- Executive International MBA in Construction/Infrastructure[Spanish/online+onsite in Spain]
Structuralia – Golf Business Group (56% tuition)
- Master in Golf Business Administration [Spanish/online]
Structuralia – Universidad Politécnica de Cataluña (40% tuition)
- Master in Construction Project Management [Spanish/online]
- Master in Intermodal Transport of Goods [Spanish/online]
Structuralia – Universidad Internacional de La Rioja (40% tuition)
- Master in Highway Construction, Maintenance and Operation[Spanish/online]
- Postgraduate Diploma in Highway Construction [Spanish/online]
Structuralia – Universidad Pontificia Comillas (20% tuition)
- Master in High Voltage Electrical Infrastructure Projects and Construction [Spanish/online]
- Postgraduate Diploma in High Voltage Electrical Infrastructure Projects and Construction [Spanish/online]
- Postgraduate Diploma in High Voltage Electrical Infrastructure Maintenance [Spanish/online]
Universidad Regiomontana (75% tuition)
- Master in Tourism Business Management [Spanish/online]
- Master in Administration, Specialization in Finance [Spanish/online]
- Master in Administration, Specialization in Marketing[Spanish/online]
- Master in Administration, Specialization in Global Management[Spanish/online]
- Master in Administration, Specialization in Organizational Development [Spanish/online]
OAS Emergency Scholarship Program for Haiti (Haitian citizens only)
State University of New York, Empire State College (100% tuition)
- Introduction to Human Services Course [English/online]
- Management Principles Course [English/online]
- Marketing Principles Course [English/online]
- Introduction to Entrepreneurship Course [English/online]
- Introduction to Emergency Management Course [English/online]
OAS Scholarship Opportunities for Professional Development
Structuralia (40%-56% tuition)
- Advanced Program in Highway Conservation and Operations (40%) [Spanish/online]
- Advanced Program in Engineering of Water Services (40%) [Spanish/online]
- Advanced Course for Urban Services Managers (40%) [Spanish/online]
- Advanced Course in Management of Large Turn-Key Projects (40%) [Spanish/online]
- Advanced Course in Contracts and Public-Private Collaboration(40%) [Spanish/online]
- Expert in Buildings and Installations Power Management (40%) [Spanish/online]
- Specialization Course in Golf Real Estate (56%) [Spanish/online]
- Specialization Course in Golf Business Development (56%) [Spanish/online]
- Specialization Course in Golf Business Management (56%) [Spanish/online]
OAS Educational Portal of the Americas
OAS - Facultad Latinoamericana de Ciencias Sociales (FLACSO) Diplomados
- Diplomado en gerencia social y políticas de discapacidad[Spanish/online]
- Diplomado en gerencia social y políticas de juventud [Spanish/online]
- Diplomado en gestión pública para el desarrollo territorial[Spanish/online]
Courses in Spanish
- Formación en Tutoría Virtual – 45ta Edición [Spanish/online]
- Calidad de la Educación Básica - 24ta Edición [Spanish/online]
- Género y liderazgo político en el contexto Latinoamericano y del Caribe – 4ta Edición [Spanish/online]
- Introducción al financiamiento de la política y de las campañas electorales en las Américas – 5ta Edición [Spanish/online]
- Estrategias para la enseñanza de la matemática – 15ta Edición[Spanish/online]
- Introducción al derecho de acceso a la información pública – 6ta Edición [Spanish/online]
Courses in English (50%-100% tuition)
- Quality in Basic Education – 6th Special Caribbean Edition[English/online]
OAS Interest-Free Student Loans for Study in the United States (Leo S. Rowe Fund)
Didn’t find what you were looking for? In addition to the many scholarships and training programs listed above, students from Latin America and the Caribbean studying in the United States may apply for interest-free student loans through the Leo S. Rowe Pan-American Fund. For details and restrictions, please visit the Rowe Fund website.
viernes, agosto 05, 2011
Nuevas Becas OEA - New OAS Scholarships
La Organización de los Estados Americanos a través de su Departamento de Desarrollo Humano, Educación y Cultura está ofreciendo actualmente una gran cantidad de Becas para Maestrías y Cursos de Desarrollo Profesional en una amplia variedad de campos. Los plazos para la solicitud de becas parciales o totales son muy cortos por lo que los interesados deben solicitarlas a la brevedad posible.
Le pedimos que por favor reenvíe este email y difunda la información lo más ampliamente posible a sus colegas, amigos, familiares y cualquier persona que pueda estar interesada. Si no puede ver este email o los links a la información se encuentran desactivados, por favor ingrese a www.oas.org/es/becas
Becas disponibles ahora
Becas Completas para Programas de Maestría en Brasil
La OEA y el Grupo Coimbra de Universidades Brasileras ofrecen hasta 50 becas completas para programas de maestrías en Brasil.
- Más de 200 programas disponibles ofrecidos por 15 universidades Brasileras, ingrese aquí para conocer más de algunas de ella
- Las becas cubren la colegiatura (costos del programa), aporte mensual de 1,200RS (aprox. US$740) y aporte de US$1,500 para gastos de traslado.
- No existe requisito de idioma portugués para los estudiantes cuya lengua materna es el español. Para quienes su lengua materna es el inglés o algún otro idioma distinto al español, deberán contar con un nivel intermedio de portugués. Cada becario tendrá apoyo lingüístico en la universidad. Para más información, ingrese aquí.
Otras Excelentes Oportunidades de Becas para Estudios Académicos
Universidad de los Andes (100% de la colegiatura + aporte mensual de US$200)
- Maestría en Ciencia Política [español/presencial Bogotá, Colombia]
- Maestría en Políticas Públicas [español/presencial Bogotá, Colombia]
- Maestría en Ingeniería de Sistemas y Computación [español/presencial Bogotá, Colombia]
- Maestría en Ingeniería Industrial [español/presencial Bogotá, Colombia]
- Maestría en Estudios Culturales [español/presencial Bogotá, Colombia]
Midwestern State University (60% de la colegiatura)
- Master of Arts in Training and Development [inglés/en línea]
Structuralia – Escuela de Organización Industrial (50% de la colegiatura)
- MBA Internacional en Empresas del Sector de la Construcción y las Infraestructuras [español/en línea+presencial Madrid, España]
Structuralia – Golf Business Group (56% de la colegiatura)
- Master en Golf Business [español/en línea]
Structuralia – Universidad Politécnica de Cataluña (40% de la colegiatura)
- Master en Jefe de Obra civil [español/en línea]
- Master en Transporte Intermodal de Mercancías [español/en línea]
Structuralia – Universidad Internacional de La Rioja (40% de la colegiatura)
- Master en Construcción, Mantenimiento y Explotación de Carreteras [español/en línea]
- Postgrado en Construcción de Carreteras [español/en línea]
Structuralia – Universidad Pontificia de Comillas (20% de la colegiatura)
- Master en Proyecto, Construcción y Mantenimiento de Infraestructuras Eléctricas de Alta Tensión [español/en línea]
- Postgrado en Proyecto y Construcción de Infraestructuras Eléctricas de Alta Tensión [español/en línea]
- Postgrado en Mantenimiento de Infraestructuras Eléctricas de Alta Tensión [español/en línea]
Universidad Regiomontana (75% de la colegiatura)
- Maestría en Gestión de Empresas Turísticas [español/en línea]
- Maestría en Administración, Especialización en Finanzas [español/en línea]
- Maestría en Administración, Especialización en Mercadotecnia [español/en línea]
- Maestría en Administración, Especialización en Gerencia Global [español/en línea]
- Maestría en Administración, Especialización en Desarrollo Organizacional [español/en línea]
Programa de Becas de la OEA de Emergencia para Haití (ciudadanos haitianos únicamente)
State University of New York, Empire State College (100% de la colegiatura)
- Introduction to Human Services Course [inglés/en línea]
- Management Principles Course [inglés/en línea]
- Marketing Principles Course [inglés/en línea]
- Introduction to Entrepreneurship Course [inglés/en línea]
- Introduction to Emergency Management Course [inglés/en línea]
Becas de Desarrollo Profesional de la OEA
Structuralia (40%-56% de la colegiatura)
- Programa Superior en Conservación y Explotación de Carreteras (Jefe COEX) (40%) [español/en línea]
- Programa Superior en Ingenierías de Servicios del Agua (40%) [español/en línea]
- Curso Superior para Jefes de Servicio de Servicios Urbanos (40%) [español/en línea]
- Curso Superior en Gestión de Grandes Proyectos Llave en Mano (40%) [español/en línea]
- Curso Superior de Concesiones (40%) [español/en línea]
- Experto en Gestión Energética de Edificios e Instalaciones (40%) [español/en línea]
- Curso de especialización: Golf Real Estate (56%) [español/en línea]
- Curso de especialización: Golf Development Program (56%) [español/en línea]
- Curso de especialización: Golf Management Program (56%) [español/en línea]
Centro de Capacitación Internacional Aharón Ofri
- Metodologías Educacionales: Juventud en Riesgo: Prevención de la Deserción Estudiantil y Facilitación de la Reintegración [español/presencial Jerusalem, Israel]
Tecnología para la Organización Pública (TOP) and Universidad Nacional del Litoral de Argentina (UNL)
- Ética pública, transparencia y anticorrupción [español/en línea]
Pontifica Universidad Javeriana (PUJ)
- Desarrollo Académico en la Transformación de Conflictos Sociales: Vinculando Teoría y Práctica para fortalecer la Gobernabilidad Democrática en Latinoamérica y el Caribe [español/presencial Bogotá, Colombia]
Centro de Investigación y Desarrollo en Información Geográfica (CIAF) del Instituto Geográfico Agustín Codazzi (IGAC)
- Análisis y Modelamiento SIG para Aplicaciones en Medio Ambiente [español/presencial Bogotá, Colombia]
- Percepción Remota y Procesamiento Digital de Imágenes [español/presencial Bogotá, Colombia]
United States Telecommunications Training Institute (USTTI) and CITEL
- Satellite Communications [inglés/presencial Washington, D.C., USA]
Campus Virtual TOP Centro de Desarrollo y Asistencia Técnica en Tecnología para la Organización Pública (Asociación Civil)
- Gestión de la Calidad en Ámbitos Públicos [español/en línea]
- Indicadores de la Calidad Ambiental [español/en línea]
Centro de Innovación Tecnológica, Facultad de Ingeniería, Universidad Nacional de Asunción
- Seguridad en Redes de Comunicación [español/presencial Paraguay]
Universidad Nacional de Educación a Distancia (UNED)
- Experto Universitario en Informática Educativa (Programa Modular Tecnologías para la Educación y el Conocimiento) [español/en línea]
- Curso de Experto Universitario de Animación a la Lectura [español/en línea]
Portal Educativo de las Américas (Apoyo financiero / Becas parciales disponibles)
Diplomados OEA - Facultad Latinoamericana de Ciencias Sociales (FLACSO) (40% de la colegiatura)
- Diplomado en gerencia social y políticas de discapacidad [español/en línea]
- Diplomado en gerencia social y políticas de juventud [español/en línea]
- Diplomado en gestión pública para el desarrollo territorial [español/en línea]
Cursos en español (40% a 100% de la colegiatura)
- Formación en Tutoría Virtual – 45ta Edición [español/en línea]
- Calidad de la Educación Básica - 24ta Edición [español/en línea]
- Género y liderazgo político en el contexto Latinoamericano y del Caribe – 4ta Edición [español/en línea]
- Introducción al financiamiento de la política y de las campañas electorales en las Américas – 5ta Edición [español/en línea]
- Estrategias para la enseñanza de la matemática – 15ta Edición [español/en línea]
- Introducción al derecho de acceso a la información pública – 6ta Edición [español/en línea]
Courses in English (50% a 100% de la colegiatura)
- Quality in Basic Education – 6th Special Caribbean Edition [inglés/en línea]
Préstamos educativos sin intereses del Fondo Panamericano Leo S. Rowe de la OEA
¿No encontró lo que estaba buscando? Además de las muchas becas y programas de capacitación antes mencionados, los estudiantes de América Latina y el Caribe que estudian en los Estados Unidos pueden solicitar préstamos estudiantiles sin intereses a través del Fondo Panamericano Leo S. Rowe. Para más información, por favor visite el sitio web del Fondo Rowe.
Gracias por su apoyo, esperamos que usted o alguien que usted conozca pueda aprovechar estas oportunidades educativas únicas con fechas límite sumamente apremiantes. Para obtener más información actualizada sobre todas las becas, por favor visite www.oas.org/es/becas
miércoles, junio 08, 2011
SISTEMAS OPERATIVOS EMBEBIDOS
Se entiende por sistemas embebidos a una combinación de hardware y software de computadora, sumado tal vez a algunas piezas mecánicas o de otro tipo, diseñado para tener una función específica. Es común el uso de estos dispositivos pero pocos se dan cuenta que hay un procesador y un programa ejecutándose que les permite funcionar. Esto ofrece un contraste con la computadora personal, que si bien también esta formada por una combinación de hardware y software mas algunas piezas mecánicas (discos rígidos, por ejemplo). Sin embargo la computadora personal no es diseñada para un uso especifico. Si no que es posible darle muchos usos diferentes. Muchas veces un sistema embebido es un componente de un sistema mucho mas grande, como por ejemplo los sistemas de frenos o el sistema de inyección de combustible, en automóviles actuales son sistemas embebidos. Esta combinación de software y hardware puede ser reemplazada en muchos casos porun circuito integrado que realice la misma tarea. Pero una de las ventajas de los sistemas embebidos es su flexibilidad. Ya que a la hora de realizar alguna modificación resulta mucho mas sencillo modificar una líneas de código al software del sistema embebido que reemplazar todo el circuito integrado.
Un uso muy común de los sistemas embebidos es en los sistemas de tiempo real ,entendiéndose por sistemas en tiempo real a aquellos sistemas en los que el control del tiempo es vital para el correcto funcionamiento. Los sistemas en tiempo real necesitan realizar ciertas operaciones o cálculos en un limite de tiempo. Donde ese limite de tiempo tiempo resulta crucial. Un ejemplo claro de un sistema de tiempo real es el control de trafico aéreo.
ESTRUCTURA Y COMPONENTES DEL SISTEMA
Estructura
Las principales características de un sistema embebido son el bajo costo y consumo de potencia. Dado que muchos sistemas embebidos son concebidos para ser producido sen miles o millones de unidades, el costo por unidad es un aspecto importante a tener en cuenta en la etapa de diseño. generalmente, los sistemas embebidos emplean procesadores muy básicos, relativamente lentos y memorias pequeñas para minimizar los costos. En estos sistemas la velocidad no solo está dada por la velocidad del reloj del procesador, sino que el total la arquitectura se simplifica con el fin de reducir costos. Normalmente, un sistema embebido emplea periféricos controlados por interfases seriales sincrónicas, las cuales son muchas veces más lentas que los periféricos empleados en un PC. Como se mostró anteriormente, un sistema embebido debe enfrentar fuertes restricciones de recursos, por tanto normalmente deberá hacer uso de sistemas operativos especiales, denominados de tiempo real (RTOS Real time operating system).Los sistemas embebidos deberán reaccionar a estímulos provenientes del ambiente, respondiendo con fuertes restricciones de tiempo en muchos casos, por lo tanto, un sistema se dice que trabaja en tiempo real si la información después de la adquisición y tratamiento es todavía vigente. Es decir, que en el caso de una información que llega de forma periódica, los tiempos de adquisición y tratamiento deben ser inferiores al período de actualización de dicha información. Un sistema embebido puede o no ser de tiempo de real dependiendo de los requerimientos específicos de la aplicación que se quiere implementar.
Los programas en estos sistemas se ejecutan minimizando los tiempos muertos y enfrentando fuertes limitaciones de hardware, ya que usualmente no tienen discos duros, ni teclados o monitores, una memoria flash reemplaza los discos y algunos botones y una pantalla LCD normalmente reemplazan los dispositivos de interfaz. El software que controla un dispositivo de hardware, por ejemplo n una memoria ROM, Flash o un circuito integrado se conoce como Firmware. Típicamente la programación en estos dispositivos se realiza en lenguaje ensamblador o en lenguaje C, actualmente se han desarrollado algunas máquinas virtuales y otros compiladores que permiten el diseño de programas más complejos. Además se puede encontrar depuradores, simuladores, ases de datos, GUIs, metodologías entre otras herramientas para el diseñoy programación de este tipo de sistemas.
Componentes de un sistema embebido
Un sistema embebido en principio estaría formando por un microprocesador y un software que se ejecute sobre este. Sin embargo este software necesitara sin duda un lugar donde poder guardarse para luego ser ejecutado por el procesador. Esto podría tomar la forma de memoria RAM o ROM, Todo sistema embebido necesitara en alguna medida una cierta cantidad de memoria, la cual puede incluso encontrarse dentro del mismo chip del procesador. Además de esto normalmente un sistema embebido contara con una serie de salidas y entradas necesarias para comunicarse con el mundo exterior. Debido a que las tareas realizadas por sistemas embebidos son de relativa sencillez, los procesadores comúnmente usados cuentan con registros de 8 o 16 bits. En su memoria solo reside el programa destinado a gobernar una aplicación determinada. Sus líneas de entrada/salida soportan el conexionado de los sensores y actuadotes del dispositivo a controlar y todos los recursos complementarios disponibles tiene como única finalidad atender a sus requerimientos. Estas son las únicas características que tienen en común los sistemas embebidos, todo lo demás será totalmente diferente para cada sistema embebido en particular debido a la inmensa diversidad de aplicaciones disponibles.
Arquitectura básica más empleada
Microprocesador
Es el encargado de realizar las operaciones de cálculo principales del sistema. Ejecuta código para realizar una determinada tarea y dirige el funcionamiento de los demás elementos que le rodean, a modo de director de una orquesta.
Memoria
En ella se encuentra almacenado el código de los programas que el sistema puede ejecutar así como los datos. Su característica principal es que debe tener un acceso de lectura y escritura lo más rápido posible para que el
microprocesador no pierda tiempo en tareas que no son meramente de cálculo. Al ser volátil el sistema requiere de un soporte donde se almacenen los datos incluso sin disponer de alimentación o energía.
Caché
Memoria más rápida que la principal en la que se almacenan los datos y el código accedido últimamente. Dado que el sistema realiza microtareas, muchas veces repetitivas, la caché hace ahorrar tiempo ya que no hará falta ir a memoria principal si el
dato o la instrucción ya se encuentra en la caché. Dado su alto precio tiene un tamaño muy inferior (8 – 512 KB) con respecto a la principal (8 – 256 MB)
Disco duro
En él la información no es volátil y además puede conseguir capacidades muy elevadas. A diferencia de la memoria que es de estado sólido éste suele ser magnético. Pero su excesivo tamaño a veces lo hace inviable para PCs embebidos, con lo que se requieren soluciones como discos de estado sólido. Existen en el mercado varias soluciones de esta clase (DiskOnChip, CompactFlash, IDE Flash Drive, etc.) con capacidades suficientes para la mayoría de sistemas embebidos (desde 2 hasta mas de 1 GB). El controlador del disco duro de PCs estándar cumple con el estándar IDE y es un chip más de la placa madre.
Disco flexible
Su función es la de un disco duro pero con discos con capacidades mucho más pequeñas y la ventaja de su portabilidad. Siempre se encuentra en un PC estándar pero no así en un PC embebido. 10
BIOS-ROM
BIOS (Basic Input & Output System, sistema básico de entrada y salida) es código que es necesario para inicializar el ordenador y para poner en comunicación los distintos elementos de la placa madre. La ROM (Read Only Memory, memoria de sólo lectura no volátil) es un chip donde se encuentra el código BIOS.
CMOS-RAM
Es un chip de memoria de lectura y escritura alimentado con una pila donde se almacena el tipo y ubicación de los dispositivos conectados a la placa madre (disco duro, puertos de entrada y salida, etc.). Además contiene un reloj en permanente funcionamiento que ofrece al sistema la fecha y la hora.
CHIP SET
Chip que se encarga de controlar las interrupciones dirigidas al microprocesador, el acceso directo a memoria (DMA) y al bus ISA, además de ofrecer temporizadores, etc. Es frecuente encontrar la CMOS-RAM y el reloj de tiempo real en el interior del Chip Set.
PLATAFORMAS
Linux en sistemas embebidos
Linux está presente en muchas partes. Quizá aún nohaya ganado la batalla en los ordenadores personales, pero definitivamente es el númer uno en el área de los sistemas embebidos. Sin saberlo, nos rodean miles de dispositivos que funcionan con Linux Al contrario de lo que pueda parecer, Embedded Linux no es una versión reducida de Linux. El calificativo «embebido » realmente hace referencia a la funcionalidad de la aplicación, no a la funcionalidad de Linux.La fiabilidad de Linux es consecuencia directa de esta filosofía que lleva implícita la aportación altruista de miles de programadores de todo el mundo observando el código, mejorándolo, cambiándolo y probándolo en miles de configuraciones posibles del sistema. Linux para los dispositivos embebidos comenzó con el soporte del kernel y el compilador para los microprocesadores más populares de 32 bits: x86, ARM, PowerPC, MIPS y SH. Y luego continuó con la aparición de diferentes distribuciones de Linux con soporte para características específicas de los sistemas embebidos. Gracias a la disponibilidad del código fuente, a la ausencia de ‘royalties’ y al soporte de los micros y tecnologías modernas, Linux está actualmente atacando de forma feroz el mercado de los RTOS. 13 Uno de los cambios fundamentales en Linux es la inclusión del proyecto uClinux en el kernel principal. El proyecto uClinux (que puede pronunciarse como "u-cé-linux" [en inglés "you-see-Linux"], aunque en rigor debe escribirse con la letra griega "mu") significa Linux para Microcontroladores. Esta variante de Linux ha sido un pila fundamental para su aceptación en el mercado embebido, y su inclusión en la versión oficial debería aumentar aún más el desarrollo en este campo. Al contrario que las variantes de Linux a las que estamos acostumbrados, en los sistemas embebidos no tenemos todas las capacidades del kernel, debido a limitaciones de hardware.
La principal diferencia en estas variantes es la ausencia de MMU (memory management unit o "unidad de gestión de memoria" - lo que hace que un sistema operativo pueda trabajar en modo protegido) integrada en el procesador. Aunque suelen ser sistemas Linux multitarea, no tienen protección de memoria ni otras características asociadas. (Sin protección de memoria, es posible que un proceso aventurero lea los datos de otros
procesos, o incluso que los haga colgarse.) Esto reduce su utilidad en un sistema multiusuario, pero los hace ideales para una agenda electrónica (PDA) de bajo coste o un dispositivo dedicado. Es difícil exagerar la importancia de este cambio de arquitectura en Linux 2.6: hasta el momento, todas las versiones seguían afectadas (por más remotamente que fuera) por las limitaciones inherentes al trabajo inicial de Linus en su Intel 80386. Hay varias líneas nuevas de procesadores embebidos con soporte en Linux 2.6, incluyendo la serie Hitachi H8/300, el procesador NEC v850, y la línea de procesadores embebidos m68k diseñada por Motorola. Éstos últimos son los más familiares para el usuario corriente de Linux, ya que están en el corazón de las agendas Palm Pilot desde el principio (la Palm 1000). Otros modelos, con nombres tan sugerentes como DragonBall o ColdFire, son utilizados en sistemas y placas de evaluación fabricadas por Motorola, Lineo, Arcturus, y otras empresas. Por desgracia, la v2.6 todavía no permite usar otros procesadores m68k más antiguos sin MMU (como los procesadores 68000 utilizados en los primeros Macintosh), pero es bastante probable que surjan proyectos amateur para incluir éstos sistemas y otros parecidos. Aunque no sea parte de la inclusión de uClinux (al disponer de MMU), esta nueva revisión puede usarse también en los procesadores de Axis Communications, la serie ETRAX CRIS (Code Reduced Instruction Set, o "Conjunto Reducido de Instrucciones de Código"). (Hay que señalar que la inclusión de este procesador llegó durante el ciclo de mantenimiento del kernel 2.4 -- bastante después de que saliera la versión 2.4.0.) Es un procesador embebido usado sobre todo en equipamiento de redes. El kernel no incluye todavía soporte para variantes sin MMU, pero varios proyectos externos están ya trabajando en ello. Además de soporte para hardware, hay también mejoras importantes resultantes de la integración de sistemas embebidos en el kernel principal.
Mientras que la mayoría de ellas no son visibles, la robustez general del sistema operativo se ve mejorada por cambios como la capacidad de construir un sistema completo sin soporte de swap.
Windows XP para sistemas embebidos
Aunque Microsoft ha mantenido a los fabricantes de sistemas operativos alternativos a Windows contra la pared en lo que se refiere a equipos de sobremesa, su posición en la batalla por la supremacía en el terreno de los sistemas operativos para dispositivos que no fueran PC era vulnerable. De ahí que Microsoft da un paso más en este sector, lanzando la versión para dispositivos embebidos en la Conferencia para desarrolladores de este tipo de sistemas que se celebra en Las Vegas. Esta decisión parece ir en consonancia con las predicciones que apuntan a una progresiva inclusión de microprocesadores en casi cualquier tipo de aparatos (frigoríficos, coches, etc). Además, con esta iniciativa Microsoft hace frente a la competencia surgida por parte, por ejemplo, de Linux que, según muchos analistas, permite reducir costes, ya que no carga el precio de los royalties. También existe la opción de utilizar un sistema propietario como los desarrollados por la compañía Wind River Systems cuyo punto fuerte es su gran capacidad para trabajar en tiempo real, su alta resistencia a fallos y la posibilidad de procesar comandos de forma inmediata. Sería el caso, por ejemplo, de aparatos médicos que deben ser muy fiables y rápidos.
DOS en sistemas embebidos
Al ritmo que marcha la informática, cualquiera diría que el DOS es un sistema operativo antiquísimo, ya superado en gran medida por otros sistemas operativos de escritorio como Windows y Linux y, en cierta forma, prácticamente olvidado. Como si fuera algo de otro mundo. Sin embargo, hace tan sólo diez años casi cualquier ordenador funcionaba con este sistema.
El DOS está estrechamente ligado al progresivo desarrollo de los microprocesadores de arquitectura x86 de Intel. Y es que es un sistema operativo que hay que conocer porque sigue estando en vigor gracias a su estabilidad. ¿Qué por qué es tan estable? Pues porque se desarrollaba en paralelo con la tecnología de Intel e IBM y porque es un sistema operativo muy simple, monousuario y monotarea. En otras palabras, DOS sólo ejecuta un programa cada vez. Es obvio, que para un ordenador personal el DOS resulta bastante inútil. Pero ¿y para un dispositivo electrónico? La mayoría de ellos sólo tienen que realizar una tarea de forma repetitiva... Además de su reducido tamaño y de los escasos recursos que necesita, por ejemplo ROM-DOS posee algunas características que marcan la diferencia de forma significativa: RXE (Relocatable Executable): En DOS, los programas se cargan en RAM antes de proceder a su ejecución. La tecnología RXE permite convertir un programa estándar en un programa que se puede ejecutar directamente desde ROM. ROM-DOS BUILD Utility: Permite añadir y quitar características al sistema operativo, reduciendo así el tamaño final del kernel. Carga dinámica de drivers de dispositivo: ROM-DOSTM tiene la capacidad de detectar el hardware y cargar drivers de dispositivo de forma dinámica, lo que le permite autoconfigurarse según el entorno. Entre otros aparatos, este sistema operativo podemos encontrarlo en:
• Cámaras digitales
• Dispositivos de captura de datos
• Cajeros automáticos
• Dispositivos GPS
Java para sistemas embebidos
Sun Microsystems, Inc., creadora y máxima defensora de la tecnología Java, amplia su oferta para el mercado de desarrollo embebido con el lanzamiento de dos nuevas ediciones de Java Platform Standard Edition (Java SE). Se trata de una versión "headless" con un tamaño reducido que emplea menos de 23 Mb de espacio de almacenamiento, y de una versión para usuarios de PowerPC.
La tecnología Java es cada vez más utilizada en sistemas embebidos avanzados, debido a sus capacidades inherentes de soporte de red, optimización de dispositivos y procesado de datos. La mayoría de las características de la plataforma Java SE pueden ser ahora empleadas para el desarrollo embebido, gracias a la capacidad cada vez mayor del nuevo hardware disponible en el mercado. La versión "headless" (sin soporte gráfico) de Java SE requiere sólo 23 Mb de espacio de almacenamiento y es ideal para desarrolladores de software para dispositivos embebidos que quieran aprovechar las sólidas capacidades de red y procesamiento, y el rendimiento de la tecnología Java. Por su parte, la plataforma para PowerPC es una versión estable de Java SE diseñada específicamente para el procesador PowerPC, que actualmente está muy extendido entre desarrolladores de dispositivos embebidos a gran escala (no teléfonos móviles). Hay dos tendencias convergentes en el mercado de dispositivos actuales: una es que la potencia y capacidad de escalar del procesador –según dicta la ley de Moore- hace posible la aparición de plataformas más pequeñas y más potentes para su uso en dispositivos embebidos; y la otra es que más y más dispositivos se están conectando a Internet todos los días. Esto significa que el mercado de dispositivos embebidos está evolucionando rápidamente y quizá está convirtiéndose en el principal entorno informático para este siglo", afirma José Manuel Estrada, arquitecto Java en Sun Java SE ofrece a los desarrolladores de dispositivos embebidos la capacidad para desplegar aplicaciones en múltiples plataformas hardware, y cuenta con características como genéricos, plantillas y compiladores que no están disponibles en ningún otro lenguaje de programación. Java Native Interface (JNI) proporciona a los desarrolladores la capacidad de acceder a sus librerías de código C/C++ directamente, sin necesidad de reescribir código. Además, los desarrolladores pueden acceder a un amplio abanico de código libre y de fuente abierta, así como participar junto a otros desarrolladores de software Java en proyectos en comunidad como NetBeans, Tomcat, Apache, Derby y muchos otros. Es importante señalar que las nuevas versiones de Java SE no restan valor a la plataforma Java Platform Micro Edition (Java ME). La tecnología Java ME sigue siendo una plataforma estándar de primera línea para el desarrollo embebido tradicional en dispositivos con poca memoria y potencia de procesador (tales como teléfonos móviles, PDAs, procesadores embebidos en pequeñas impresoras, copiadoras, etc.). Paralelamente a las dos nuevas versiones de Java SE, Sun también ha anunciado un nuevo servicio de ajuste y pruebas para optimizar el rendimiento de la plataforma Java SE en despliegues embebidos
Instalación
El proceso a grandes rasgos consiste en:
1.Saber la arquitectura hardware del dispositivo.
2.Configurar el kernel incluyendo los controladores para esos dispositivos y eliminando todo lo que no nos sirva.
3.Crear el script de configuración y ejecución de la aplicación embebida.
4.Configurar y compilar la busybox incluyendo la aplicación y el script.
5.Compilar el kernel
6.Prueba de ejecución
Conociendo la arquitectura
Para generar el kernel correcto es necesario conocer lo más posible la arquitectura subyacente. Si disponemos del manual o datasheet del dispositivo podemos determinar los controladores necesarios. Si este no es nuestro caso, podemos arrancar con una distribución linux live (Ej. Ubuntu) y determinar que controladores son los necesarios analizando los módulos cargados y el árbol de ficheros generados bajo /sys.
Configuración del Kernel
Ya conocemos nuestro hardware. Ahora necesitamos configurar correctamente el kernel para que tenga una huella pequeña pero con toda la funcionalidad requerida.
1.Seleccionar la arquitectura "más cercana/compatible" a la nuestra (Ej. Pentium-4, Pentium II, etc)
2.Deshabilitamos "Enable loadable modules support", pues queremos inscrutar los controladores dentro de la imagen y no depender de módulos externos.
3.Seleccionar el modo apropiativo. ¿nuestro software interactua mucho con el usuario? Si ese el caso necesitamos poca latencia, luego seleccionamos el modo Apropiativo "Preemption Model->Preemptible Kernel. Si por el contrario nuestro sistema procesa transacciones a modo de servidor es conveniente usar "No force preemption". Por defecto el kernel usa el termino medio, Voluntary Preemption.
4.Reloj. Si nuesta aplicación necesita temporización de alta precisión deberemos de activar el High Resolution Timer (si nuestro hardware también es capaz).
5.Dispositivos de bloque. Activar unicamente los controladores SATA/PATA/IDE de nuestro dispositivos.
6.USB. Es habitual habilitar el uso de USB 2.0 y la clase USB HID para poder usar teclados, ratones, etc. Dehabilitamos todo lo demas.
7.Sistema de archivos. Seleccionamos el sistema de archivos que necesitemos (recomendable sistema de archivos con Jourling, ej. ext3 o reiserfs). En sistemas con poco disco suele usarse a menudo el JFFS2 como sistemas de archivos para memorias flash.
8.Video4Linux. Normalmente se deshabilita.
9.Sound. ¿necesitamos sonido?
Después de seleccionar los controladores que necesitamos estariamos listos para generar una imagen del kernel "normal". En nuestro caso nos interes construir un kernel que después de inicializarse no monte un sistema de archivos dentro de un disco duro (procedimiento normal), sino que monte un sistema de archivos temporal que va comprimido y embebido dentro de la propia imagen del kernel.
Para lograr esto debemos especificar un fichero especial que sirve de guía para generar este sistema de archivos. Analicemos el ejemplo que muestra la ayuda de usr/gen_init_cpio.
Aplicación embebida
El objetivo de generar este kernel es poder correr nuestra aplicación en un sistema embebido. Debemos procurar generar nuestra aplicación teniendo muy en cuenta la arquitectura subyacente y aprovechando todo su potencial. Es recomendable si procede, generar un ejecutable estático e incluir herramientas de depuración remota o diagnósticos (ejecución, estado temperatura, carga de trabajo, logs, etc).
Compilado pues, lo agregamos a la lista de construcción de imagen la imagen con la correspondiente entrada "file". El fichero init invocará nuestra aplicación al final de la configuración.
Compilación del kernel.
Con los deberes hechos, ya podemos construir la imagen del kernel de forma habitual ("make") o según nuestros requisitos (compilación cruzada). Si todo ha ido bien, obtendremos nuestra imagen de kernel lista para ser implantada en nuestro sistema embebido.
GESTIÓN DE PROCESOS Y DEL PROCESADOR
Un microprocesador es una implementación en forma de circuito integrado (IC) de la Unidad Central de Proceso CPU de un ordenador. Frecuentemente nos referimos a un microprocesador como simplemente “CPU”, y la parte de un sistema que contiene al microprocesador se denomina subsistema de CPU.
Los microprocesadores varían en consumo de potencia, complejidad y coste. Los hay de unos pocos miles de transistores y con coste inferior a 2 euros (en producción masiva) hasta de más de cinco millones de transistores que cuestan más de 600 euros.
Los subsistemas de entrada/salida y memoria pueden ser combinados con un subsistema de CPU para formar un ordenador o sistema integrado completo. Estos subsistemas se interconectan mediante los buses de sistema (formados a su vez por el bus de control, el bus de direcciones y el bus de datos).
El subsistema de entrada acepta datos del exterior para ser procesados mientras que el subsistema de salida transfiere los resultados hacia el exterior. Lo más habitual es que haya varios subsistemas de entrada y varios de salida. A estos subsistemas se les reconoce habitualmente como periféricos de E/S.
El subsistema de memoria almacena las instrucciones que controlan el funcionamiento del sistema. Estas instrucciones comprenden el programa que ejecuta el sistema. La memoria también almacena varios tipos de datos: datos de entrada que aún no han sido procesados, resultados intermedios del procesado y resultados finales en espera de salida al exterior.
Es importante darse cuenta de que los subsistemas estructuran a un sistema según funcionalidades. La subdivisión física de un sistema, en términos de circuitos integrados o placas de circuito impreso (PCB) puede y es normalmente diferente. Un solo circuito integrado (IC ) puede proporcionar múltiples funciones, tales como memoria y entrada/salida.
Un micro controlador (MCU) es un IC que incluye una CPU, memoria y circuitos de E/S. Entre los subsistemas de E/S que incluyen los micro controladores se encuentran los temporizadores, los convertidores analógico a digital (ADC) y digital a analógico (DAC) y los canales de comunicaciones serie. Estos subsistemas de E/S se suelen optimizar para aplicaciones específicas (por ejemplo audio, video, procesos industriales, comunicaciones, etc.).
Hay que señalar que las líneas reales de distinción entre microprocesador, micro controlador y microcomputador en un solo chip están difusas, y se denominan en ocasiones de manera indistinta unos y otros.
En general, un SE consiste en un sistema con microprocesador cuyo hardware y software están específicamente diseñados y optimizados para resolver un problema concreto eficientemente. Normalmente un SE interactúa continuamente con el entorno para vigilar o controlar algún proceso mediante una serie de sensores. Su hardware se diseña normalmente a nivel de chips, o de interconexión de PCB, buscando la mínima circuitería y el menor tamaño para una aplicación particular. Otra alternativa consiste en el diseño a nivel de PCB consistente en el ensamblado de placas con microprocesadores comerciales.