Cap. III — Nueva Economía


Con la terminación de la era Industrial y la entrada y desarrollo de la era Informacional(postindustrial), en donde se destacan todos los cambios tecnológicos, he incluso en los cambios en la producción de bienes a servicios, todo esto basado en la información y conocimiento aplicado. También trae consigo cambios en la economía llegando formar una Nueva Economía.

Esta Nueva Economía, también involucra producción, competitividad y algo muy importante como es la globalización de los productos.

Es decir, la productividad es más realizada en base al conocimiento, lo que implica la generación de productos(servicios) que se internacionalizan logrando una gran expansión del mercado, un mercado que crece sin barreras y donde la competitividad se hace muy presente involucrando la innovación de tecnologías de servicio como la mejor forma de sobresalir.

Además, esta nueva economía a transformado las fuentes de trabajo como a sus trabajadores. Ahora esta demanda personas muy cualificadas capaces de adaptarse a cambios y de generarlos, poco a poco los trabajos repetitivos y monótonos empiezan a ser obsoletos. Esto a hecho que muchas empresas empiecen a “migrar” desprendiéndose del espacio físico y utilizando uno de los mejores medios “Internet”.

Estas nuevas empresas ya prácticamente viven y crecen en la red o como muchas de ellas trasladan sus productos a la red(un claro ejemplo son las transacciones bancarias electrónicas) esto permite que su nivel demarcado aumente, pudiendo llegar a consumidores al otro lado del globo.

Y claro, en esta economía también el consumidor empieza a formar parte activa pues todo lo que se comercializa sigue sus preferencias y todas las empresas que quieren seguir creciendo deberán empezar a ver a los consumidores como generadores de nuevas ideas.

En definitiva, la Nueva Economía empezó a romper barreras y expandirse por todos lados y las empresas que quieren entrar o mantenerse deberán evolucionar e innovar.

Saludos,

SOLARIS Y SU NUEVO SISTEMA DE ARCHIVOS

Basado en un versión de Unix, Solaris es un sistema operativo implementado por Sun Microsystems que maneja su versión propietaria pero que a liberado un versión conocida como OpenSolaris.

Vale la pena recordar que el primer sistema Operativo que Sun Microsystem desarrolló se
llamó SunOS en los años 1983, empezando desde ese entonces la construcción y
mejora de su sistema.

Actualmente este sistema operativo se encuentra en la distribución “Solaris 10” que presenta muchos avances en cuanto a seguridad implementado una solución al caso de “todo o nada” basada en privilegios(mínimos) otorgados a las aplicaciones. Este se ejecuta sobre la arquitectura SPARC en 32 y 64 bits (Ultra Sparc) o sobre procesadores x86 (como
los de Intel y AMD).

Además, como debía de suponerse, esta libre de virus, y utiliza en él la tecnología del
Trusted Tolaris que garantiza una seguridad total al sistema.

Además, una de las características es la “Tecnología preventiva de auto recuperación” (PSH, Predictive Self-Healing) que se encuentra en el núcleo del sistema, esto contribuye a reducir los riesgos y aumenta las disponibilidad del equipo y PSH permite tomar medidas para reducir daños por futuros peligros que el caos pueda causar en los sistemas y como resultado reducir los tiempos de caída, en pocas palabras reducir tiempo y dinero.

SISTEMA DE ARCHIVOS ZFS

Solaris 10
utiliza el sistema dinámico de Archivos ZFS, fue diseñado e implementado por un
equipo de Sun liderado por Jeff Bonwick.

Una de sus ventajas es su gran capacidad 128 bits cuyo diseño hace que sea tan grande que en la práctica nunca se podría exceder sus límites. Ofrece una administración sencilla que automatiza y consolida complicados conceptos de almacenamiento y por otro lado protege todo los datos con sumas de 64 bits que detectan y corrigen el daño de datos silenciosos.

Además, utiliza un modelo transaccional copy-on-write. Conteniendo todos los punteros a bloques de un sistema de ficheros un checksum de 256 bits sobre el bloque apuntado, que
se comprueba al leer el bloque. Los bloques que contienen datos activos no se sobrescriben nunca; en su lugar, se reserva un nuevo bloque, y los datos modificados se escriben en él. Incluyendo para la sobrecarga, varias actualizaciones en grupos de transacciones, y se utiliza un log de intentos cuando se necesitan escrituras síncronas.

Otra ventaja en comparación con el sistema NTFS es que la interfaz de la línea de comandos simplifica drásticamente la administración. Se orienta a las tareas, por lo que
los administradores pueden expresar las tareas que desean llevar a cabo en lugar de tener que memorizar o buscar comandos crípticos.

En los sistemas FAT o NTFS los datos se pueden dañar de diferentes modos, como por ejemplo un error de sistema o una interrupción del suministro eléctrico inesperada, pero
ZFS impide el daño a los datos ya que mantiene la coherencia de los mismos en todo momento. Todas las operaciones son transaccionales. De este modo, no sólo se mantiene la coherencia sino también se eliminan todas las restricciones sobre la orden de E/S y se permite que el conjunto de los cambios se realice correctamente o se produzca un error.

Y aunque a decir verdad tiene mucho de bueno(bastante) el soporte para otros sistemas aún no esta implementado. Pero tan solo será cuestión de tiempo.

En definitiva el nuevo sistema de archivos ZFS presenta características muy favorables en cuanto a almacenamiento, prevención de daños y capacidad.

Saludos,

Nuestro Primer encuentro… Viewzi

Navegando y haciendo uso de un poquito de tiempo libre(del cual ahora tengo mucho) encontré un enlace interesante http://www.viewzi.com que según se comentaba en otros lugares es otra nueva forma de ver los resultados de la información.

Pero me dije, si ya tenemos al gigante de Google??? para que otro buscador???

Así que me decidí a pedir una invitación para registrarme(por que sin ella no hay como) y luego de completar un pequeño formulario me decidí a probarlo y me llevé la gran sorpresa…. Pues esta aplicación sale del tradicional estilo para colocarse en un buscador Web 2.0 que puede clasificar los contenidos y permitidos que deseamos visualizar… Muy interesante….

A continuación una pequeña captura de mi primer búsqueda, “Loja” ahhh claro que para la velocidad de mi conexión, que tan solo es de 52 kbps… :-(, demoró un poco para que toda la información sea agrupada, pero en definitiva la espera dio fruto…

Primera Búsqueda

UN SISTEMA OPERATIVO EN TU MANO

Dentro del mundo de las computadoras, ya sean estas de escritorio(como la mía ;-)) o portátiles los sistemas operativos han marcado ya su línea y definido su territorio dentro del mercado lo que ha hecho que se lo repartan compañías como Microsoft con Windows, seguido de Apple con el fabuloso MacOS y no muy lejos los que no son propietarios como Linux y Unix.

Pero que sucede en el mundo de la telefonía?? Si bien esos aparatitos que tenemos la mayoría en nuestras manos(muy frecuentemente) también albergan un sistema operativo, pero a diferencia del mundo de las PC y portátiles, en el mundo de los celulares no existe una clara clasificación en los sistemas que utilizan, una de las causas por que cada empresa decide elaborar un nuevo sistemas cada vez, es decir, cada vez innumerables empresas empiezan desde cero con la construcción de un nuevo sistema.

En algunos informes se detalla que entre los sistemas más utilizados están Symbian, Windows Mobile y otros pequeños que utilizan versiones de Linux.

A continuación detallará algunas de las características de el sistema Symbian que a decir verdad ha avanzado un poco más que el resto.

El diseño de Symbian fue estructurado para integrarse fácilmente, con el software y el hardware en dispositivos móviles y existe una variación del sistema para cada tipo de dispositivo. El serie 60, para teléfonos que el usuario maneja con una sola mano; serie 80, para teléfonos con pantalla horizontal grande y teclado; serie UIQ, para teléfonos que utilizan una pluma electrónica similar a los asistentes digitales; y otros, para futuros desarrollos o que no están en las categorías anteriores.

Este sistema nace del trabajo conjunto de varias empresas líderes en telefonía celular, como Nokia®, Ericsson®, Motorola® y Psion®, que desde 1998 empezaron a desarrollar la idea de un sistema operativo abierto para las diversas plataformas de teléfonos móviles.

Una diferencia muy grande entre los móviles y un PC son las limitaciones que los primeros poseen, intentado con esto el sistema residir en un espacio muy pequeño, hacer un uso dinámico de escasos recursos de memoria, administrar eficientemente la energía y soportar en tiempo real los protocolos de comunicación y telefonía, y ser mas tolerante a fallas, en comparación con un sistema operativo de PC.

Además, este sistema operativo soporta la creación de nuevas aplicaciones en la mayoría de lenguajes como C y java, y muchos otros que fácilmente pueden acoplarse a un entorno multiplataforma y cuyas funciones pueden variadas.

Bueno ya dejando de echarle flores al sistemas también tiene sus problemas, y uno de ellos son los virus, al igual que un sistema para PC es vulnerable a contagio, ya sea por medio de un computador, red local, red personal(Bluetooth) aunque tiene mes posibilidades que una PC normal. Pero esto puede ser evitado instalando un antivirus que también son compatibles con el Sistema Operativo como el F-Secure que presenta la opción de actualización mediante sms.

En definitiva nada esta dicho dentro del mundo de los móviles y queda un largo camino de innovación y desarrollo que muchas empresas están viendo como nicho de mercado, como Google con su sistema Android y otras mas….

Saludos,

Publicado en General. 3 Comments »

PRODUCTORES CONSUMIDORES

Se ha hablado mucho sobre sincronización y su implementación en varios lenguajes, como C, Pascal o C++ entre otros.

En post anteriores detalle algunos procesos de sincronización dentro de Java, solo con la implementación de objetos y emulando el uso de los mismos con la detención del hilo principal de la aplicación, (en java por cada aplicaciones existe al menos un Thread principal), pero ahora pongo a su consideración el siguiente ejemplo basado en el problema de “Productor consumidor”.

La aplicación resuelve el siguiente problema, existen dos procesos(un consumidor y un productor) que tienen como recurso compartido una sección de memoria(en mi caso un buffer) y deberían funcionar de tal manera que el consumidor solo pueda recoger la información si el productor ya ha colocado algo dentro y viceversa.

Bueno, mi aplicación utiliza dos Thread uno para consumidor y otro para productor y como recurso compartido se creará un pequeño objeto que me permita almacenar un número entero que el consumidor irá sumando 5 veces.

Para controlar el acceso a sus métodos utilizaré para cada uno el atributo Synchronized que implementa java en su API y que permite que solamente un hilo a la vez ingrese a este método.

Ahora bien, el control de acceso tiene que ser en orden, para implementar esto en código utilizo una variable entera cuyo valor determinará cual de los hilos podrá acceder para leer/escribir el valor.

Además se utilizan las sentencias wait() para indicar a cualquiera de los hilos que deberá esperar si el buffer esta ocupado y también la sentencia notify() para indicar que el buffer ha sido desocupado. Recuerda que en este caso la sentencia notify() es válida pues solo utilizamos dos hilos, si necesitáramos más tendríamos que hacer uso de notifyAll().

A continuación una captura de la ejecución,

Todo indica que la aplicación puede controlar la ejecución de dos hilos que manejan recursos compartidos, verdad? Si deseas descargarla puedes acceder aquí, la aplicación esta en java y bajo el IDE NetBeans 6.0

Saludos,

Las Tecnologías de Internet

La Internet o gran Red tiene sus orígenes gracias a la labor de una institución de investigación militar de los Estados Unidos conocida en ese entonces como ARPA(Advanced Research Agency) Pero, que se buscaba conseguir en ese entonces???

Pues se trataba de conseguir un sistema de comunicación capaz de resistir a un ataque nuclear, es decir tan solo se buscaba la transmisión de mensajes por un medio más seguro, pero al permitir la tecnología empaquetar toda clase de información como sonido, imágenes se logró implementar la primera red de comunicación computacional llamada ARPANET el 1 de Septiembre de 1969.

El nacimiento de esta red permitió, en un principio, la comunicación entre varias Universidades(claro, entre los científicos que ayudaban a los fines de la guerra) pero luego se empezó a explotar su capacidad usando nuevos canales de comunicación que en muy corto tiempo se expandieron.

Pero Arpanet no duró mucho tiempo, pues fue clausurada el 28 de febrero de 1990, para ser reemplazada por NSFNET(que viene de Nacional Science Fundation) una nueva red con mayor tecnología.

Aún en esos días la red era demasiado pequeña y privatizada, pero debido a la intervención de organizaciones con diferentes fines, el uso de la red se expandió por todo el mundo, pero existía un problema, como se comunicarían entre sí todas estas pequeñas redes????

Ya que no todas usaban el mismo protocolo, y es aquí en donde la invención del protocolo TCP/IP se expande como el principal.

Cave recalcar que un paso muy importante para la evolución de la Internet fue la adopción de estándares que permitieron unificar comunicaciones.

Poco a poco esto avanzó, científicos pronto crearon el código HTML(Hypertext Markup Language ) junto a él su protocolo HTTP(Hypertext Transport Protocol ) y los muy conocidos URL(Uniform Resource Locator)

Luego de esto los avances siguieron creciendo, se creó un pequeño graficador de los datos (conocido como Navegador) que luego fue llamado Netscape. El modem, una línea telefónica y un computador, pronto fueron lo único necesario para entrar en la gran red.

En definitiva las tecnologías de Internet avanzaron muy rápido y lo siguen haciendo hasta hoy, quien pensaría que de ARPANET podríamos pasar a una red como la actual en donde el intercambio de voz y video ya es común. En donde la red ya no tiene un solo uso sino miles de ellos y donde cada día se suman más navegantes y los servicios que se ofrecen ahora hasta escapan de nuestra imaginación.

Verdaderamente puedo decir que la gran red fue el origen de una nueva Sociedad, una sociedad de Información y Comunicación sin barreras.

Saludos,

La Sincronización de Procesos.

Dentro de los Sistemas Operativos los procesos que se ejecutan son muy variados, algunos utilizan la cpu para realizar de lectura de memoria, u otros campos que competen a la aplicación. Y también los mismos pudieran modificar los datos que leen. Pero que sucede si dos o mas procesos tienen que hacer estas operaciones? Es decir por ejemplo el modificar los datos que un proceso esta leyendo.

Pues es aquí en donde el caos podría entrar, pues la información podría ser modificada sin previo aviso o suceder acciones que no estaban planteadas. Para esto se plantea la Sincronización de Procesos.

Esto consiste en utilizar estructuras algorítmicas que permitan implementar el control de los procesos o hilos que se van a ejecutar de acuerdo a condiciones dadas, para que no se produzca situaciones como Bloqueos, Bloqueos mutuos(inanición) o accesos a secciones críticas del programa que no pueden ser accedidas en ese momento.

Para este control los algoritmos emplean sentencias(o pedazos de código) conocidos como semáforos o monitores.

Semáforos.- Se los considera como variables enteras que poseen solo dos métodos a través de los cuales se puede acceder a ellos. Lo que condiciona la entrada a zonas críticas o uso de recursos.

Monitores.- En cambio son estructuras más avanzadas de alto nivel que permiten mayor control que si son empleados correctamente permiten detectar error de temporización conocidos como timing.

Dentro de este ámbito de la Sincronización se han planteado numerosos casos como el de los filósofos comensales, el barbero dormilón y otros muchos más.

A continuación pueden encontrar una solución a un problema conocido como “El problema de los fumadores de cigarrillos” en donde existen 3 fumadores y un agente. Cada fumador continuamente enrolla un cigarro y luego lo fuma. Pero para enrollar y fumar un cigarrillo, el fumador necesita tres ingredientes: tabaco, papel y cerillos. Donde cada fumador tiene un solo elemento. El agente tiene un suministro infinito de los tres materiales. El agente coloca dos de los ingredientes en la mesa. El fumador que tiene el ingrediente restante hace entonces un cigarrillo y lo fuma, indicando al agente que terminó para que nuevamente coloque 2 nuevos elementos y el ciclo se repite.

El enlace para su descarga esta aquí, la aplicación fue desarrolla en Java bajo NetBeans 6.0. A continuación coloco algunas capturas de pantalla de la corrida del programa.

Saludos,