Ago 092016
 
Sistemas Operativos

Sistemas Operativos

 

Al revisar el calendario encontramos que hay día de la madre, día del padre, día del amigo, del bombero, del médico, del abogado, …, y así una larga lista de días para rendir un homenaje a quien se lo merece. Si algún día los informáticos decidiésemos establecer un día para reconocer la labor a uno de nuestros mejores colaboradores ¿quién debería ser el primero de nuestra lista? Para mi sería el humilde y siempre disponible vi, para otros su compilador, su biblioteca preferida, su editor de gráficos, … y así comenzaría otra larga lista de programas importantes en nuestra vida de informáticos. Tratando de ser objetivo hay uno que siempre está allí de forma callada haciendo su labor desde que encendemos nuestro equipo hasta que lo apagamos, o lo ponemos en modo de hibernación, ese programa de servicio no es otro que el Sistema Operativo.

Si buscamos una definición podemos resumir la del Profesor A. Silberschatz  que lo ve como una interfaz entre el hardware y el usuario. Otra importante definición obligatoria es la del Profesor Andrew Tanenbaum, que nos habla de la misión del Sistema Operativo como herramienta de control del hardware y como proveedor de la base sobre la cual se puede escribir los programas de aplicación.

Por el lado de nuestros Profesores de habla hispana tenemos la visión del Profesor Jesús Carretero, que nos habla de como el Sistema Operativo nos facilita el uso del computador de una manera segura y eficiente. Así pudiéramos seguir citando a Profesores del área, y hasta llegar a la definición que nos da la wikipedia.

Sistemas Operativos

Sistemas Operativos

 

Cuando hablo de estos temas en clase me emociono bastante y cuento mi experiencia personal desde mis primeros programas en Fortran 77, eso fue hace casi unos 30 años, cuando en nuestra Universidad el trabajo fuerte de procesamiento de datos estaba a cargo de un Computador Burroughs, éste requería cerca de un salón de unos 50 mts cuadrados y que era accesado por medio de terminales conectados por cable serial. Haciendo de interprete de comandos (shell) se tenía algo llamado CandE . Lo duro de esto, no era la necesidad de usar ese duro interprete, lo incomodo es que al tener que enviar datos a un archivo se debía conocer la dirección del archivo escrita como una serie de caracteres en formato hexadecimal.

Y así se fue saltando de equipo en equipo, ya no era un Mainframe sino que comenzaron los computadores de escritorio a poblar nuestras mesas. El problema fue que el aprendizaje obtenidos en el uso del Mainframe poco servía con una EPSON con CP/M, o una NCR Decision Mate, o con una Apple Macintosh o con una moderna y poderosa PC con su Intel 8088.

Lo que quiero hacer énfasis es el trauma de los informáticos de esa época, ya que cada nuevo hardware implicaba un nuevo aprendizaje tanto para si eras usuario y más para si eras programador. En esté último punto es la razón por la que quiero hacer un homenaje al Sistema Operativo actual, no tanto en la definición a las que hice referencia al inicio de este post, sino a mi propia definición.

Para mí el Sistema Operativo es un “Sistema programado encargado de gestionar los recursos del hardware, permitiendo una visión abstracta que da origen a una máquina virtual”. Es esa visión abstracta la que nos habla de una máquina que no es ninguna en especifica y es muchas a la vez. Esa sensación de comodidad que me dio al usar una SUN Sparc con Sun OS y pasar a una NCR con System V y de allí al una PC con UNIX SCO. De verdad que se le debe agradecer a los Sistemas Operativos que al presentar un paradigma común independiente del hardware nos permite hacernos sentir cómodos y seguros.

Este tipo de beneficios se aprecia hoy en día y con mucha más fuerza que antes, lo podemos ver sobre todo en las plataforma móviles. Específicamente hago referencia a las que usan el Sistema Operativo Android. Es conocido que varios fabricantes optaron usar este sistema en sus equipos, esto conlleva a que si una persona decide cambiar de modelo o de marca pero mantiene el mismo Sistema Operativo el efecto negativo por el cambio disminuye, ya que en poco tiempo el usuario puede encontrar la mayoría de sus aplicaciones preferidas en el nuevo equipo.

Es esta característica de Máquina Virtual provista por el Sistema Operativo que destaco en mi definición. Creo que es tal vez el aporte que ha permitido la masificación del uso computadores y smartphone.

Esta ventaja la podemos aplicar a nuestros desarrollos de software, usando paradigmas que sean de dominio público como mecanismo para aumentar el uso de un producto, ya que es capaz de reducir su curva de aprendizaje. Ejemplos que podemos destacar son por ejemplo los navegadores web, donde la opciones de uso se encuentran en los mismos sitios en diferentes aplicaciones, de hecho hasta los mismos atajos de teclado se comparten. Por lo que una buena recomendación es tratar de permitir el uso de un paradigma conocido como opción para que los usuarios que deseen usar la aplicación puedan hacerlo en el menor tiempo posible.

 

El programa que oculta al programador la verdad acerca del hardware y presenta una visión bonita y sencilla de archivos con nombres que se pueden leer y en los que se puede escribir, es por supuesto, el sistema operativo.

A. Tanenbaum

Dic 082012
 

Tangery

Desde hace días he estado probando alternativas para compartir varios Gygas de música que tengo en un PC en mi casa. Los dispositivos clientes son otros PC con Windows, un portátil con Ubuntu y celulares con Android conectados por medio de un router con WiFi . La primera alternativa fue copiar, pero eso de copiar y borrar luego no me pareció óptimo. Después probé con Samba y NFS y tampoco me pareció lo ideal. En realidad quería montar un servidor DAAP  y clientes que tomaran el flujo de audio. Mi primera prueba con forked-daapd, pero no me funcionó de forma transparente.

Leer el artículo completo »

Jun 212012
 

Tomado de BBC Mundo:

Foto tomada de BBC Mundo

El creador de Linux, Linus Torvalds, ganó el premio de Tecnología del Milenio, junto a un cheque de US$756.000, de la Academia de Tecnología de Finlandia.
Fue nominado en reconocimiento a haber creado el original sistema operativo Linux y haber seguido decidiendo las modificaciones del kernel o núcleo Linux, el código que permite el trabajo conjunto de software y hardware.

(Continúa)

 

Ver el artículo completo en BBC MUNDO

Jun 152012
 

Buscando un buen traductor  para mi celular encontre  el Google Translate, de verdad que quedé sorprendido por la funcionalidad de este traductor, ya que combinado con el reconocedor de voz, puedes dictar fases a la aplicación ésta traduce y sintetiza el audio de la frase traducida o la escribe en la pantalla completa del equipo Android. Para usar el traductor, el reconocedor de voz o el sintetizador de voz debes tener una conexión de datos activa, bien sea por WIFI o por tu operadora. Por cierto, soporta más de 64 idiomas.

 

Jun 102012
 

 Desde hace tiempo tenía la intención de buscar o hacer una aplicación para registrar la lista de compra en mi teléfono celular con Android. Probé varias y me quedé con Lista de compra. De esta aplicación me gustó que permite dictar los elemtos de la lista y ahorra el tener que escribir. Es secilla, liviana y gratis.

Lo que le falta es poder crear la lista de forma colaborativa, es decir, que nuestros familiares actualicen a la listan desde sus teléfonos o desde un tablet.

Jun 092012
 

Escrito por rafael may 30

Samart Keyboard

 

Desde hace tiempo estaba convenciendo a mi esposa que migrara a Android, al fin se atrevió y vi como comenzaba a gustarle cada vez más, excepto por una cosa: el teclado en modo vertical, específicamente  modo T9. Probamos los más populares, hasta que al fin llegamos al Smart Keyborad. Me parece excelente, de hecho ahora lo uso en mi telefono celular y ya lo he actualizado a la versión Pro.

Jun 082012
 

 

Esta semana en la clase de Pr2 probamos Qt, y le comentaba a mis alumnos de la facilidad de creación de interfaces gráficas usando la biblioteca Qt para un programador que conoce C++. También les comentaba que había leído que se era posible tener aplicaciones hechas en C++ usando Qt en Android. Este fin de semana quise hacer esa prueba, la principal herramienta usada es Necessitas, ésta provee un QtCreator para Android, y en el teléfono celular usé Ministro como proveedor de Qt en Android. A continuación describo como lo hice.

Pasos

Leer el artículo completo »