martes, 23 de septiembre de 2008

S.O. Minix y Sistemas operativos

Andrew S. Tanenbaum creó MINIX en la Vrije Universiteit de Ámsterdam para ejemplificar los principios recogidos en su libro de texto Operating Systems: Design and Implementation (1987). Una parte del código en C del núcleo, el controlador de memoria y el sistema de ficheros de MINIX 1.0 se recogen en este libro.

Junto con el libro también había disponible un disquete con el código fuente de MINIX y los binarios, junto con un manual de referencia del sistema.

Tanenbaum creó originalmente MINIX para que fuera compatible con las arquitecturas IBM PC e IBM PC/AT, que eran las comunes en esa época.
MINIX 1.5, lanzado en 1991, incluía soporte para MicroChannel IBM PS/2 y también fue adaptado para las arquitecturas Motorola 68000 y SPARC, soportando Atari ST, Commodore Amiga, Apple Macintosh y plataformas Sun SPARCstation.

También existió una adaptación no oficial a las arquitecturas compatibles con Intel 386 (en modo de 32 bits protegido), National Semiconductor NS32532, ARM y procesadores INMOS transputer. Meiko Scientific utilizó una primera versión de MINIX como base de su sistema operativo MeikOS. También existió una versión de MINIX que se ejecutaba como un proceso de usuario en el sistema operativo SunOS.

Al decrementarse la demanda de las computadoras de arquitectura de 68k, MINIX 2.0, lanzada el 1997, sólo era compatible con las arquitecturas x86 y SPARC. Fue el tema para la segunda edición del libro de Tanenbaum, en esta ocasión co-escrito junto con Albert Woodhull, y fue distribuido en un CD-ROM incluido en el libro. MINIX 2.0 añadía compatibilidad con POSIX1, soporte para arquitecturas 386 y superiores de 32 bits y reemplazó los protocolos de red Amoeba incluidos en MINIX 1.5 por TCP/IP. También aparecieron adaptaciones no oficiales de MINIX 2.0 para las arquitecturas basadas en el 68020 ISICAD Prisma 7000 y las basadas en Hitachi SH3.

Minix-vmd es una variante de MINIX 2.0 para procesadores compatibles con Intel IA-32, que fue creada por dos investigadores de la Vrije Universiteit, la cual añadía memoria virtual y soporte para el sistema gráfico X Window System.

Fuente : Wikipedia

domingo, 21 de septiembre de 2008

Ensambladores libres (Assembler)

El Netwide Assembler o NASM, es un ensamblador libre para la plataforma Intel x86.

Puede ser usado para escribir programas tanto de 16 bits como de 32 bits (IA-32). En el NASM, si se usan las bibliotecas correctas, los programas de 32 bits se pueden escribir de una manera tal para que sean portables entre cualquier sistema operativo x86 de 32 bits. El paquete también incluye un desensamblador, el NDISASM.

Descargar NASM para windows : http://sourceforge.net/project/showfiles.php?group_id=6208

Otro ensambladores libres : GAS. [ver más en : http://es.wikipedia.org/wiki/As_(Unix)]


Fuente : Wikipedia

sábado, 20 de septiembre de 2008

¿Qué es osCommerce?

osCommerce (de Open Source Commerce) es un software de comercio electrónico y administración online, licenciado bajo la licencia GPL. Hace uso del servidor Apache, del lenguaje PHP y de la base de datos MySQL.

Nacido en el 2000, es una aplicación web de código abierto (OpenSource) que permite montar una tienda virtual en cuestión de minutos para vender en Internet.

Como la mayoría de aplicaciones GNU/GPL que funcionan bajo mysql y php, Oscommerce consta de dos partes principalmente:- Catálogo de Productos- Módulo de Administración

1.El Catálogo de Productos es la parte que ven los clientes, la tienda virtual en si, y el

2.El Módulo de Administración donde se puede mantener la propia tienda virtual, actualizando productos, insertando nuevas ofertas, categorías, idiomas, monedas, consultar los pedidos, los clientes.. y sin coste ninguno por parte del vendedor a excepción de los cambios por parte de un programador.
El número de categorías y de productos es ilimitado. En idiomas, se encuentra disponible en español, alemán e inglés como básicos, pero además tiene muchos más que se pueden descargar de su web e instalarlos.

Es una aplicación OPENSOURCE desarrollada íntegramente con SOFTWARE LIBRE, autoinstalable vía web (exceptuando algunas modificaciones de los ficheros que se deben realizar manualmente), que se puede modificar libremente, además se pueden instalar los siguientes sistemas de pago electrónico:


Authorize.net

Tarjeta de Crédito

Contra Reembolso

iPayment

Cheque/Transferencia Bancaria

NOCHEX

PayPal

2CheckOut

PSiGate

SECPay

Visa Mastercard

Admite y da soporte para cualquier moneda, para trabajar con imágenes, vender productos físicos así como descargas. La administración esta basada en una aplicación web. Tiene la posibilidad de realizar copias de seguridad y recuperación. Cesta de la compra temporal y guardar cestas incluso después de compradas. Transacciones seguras bajo SSL. Permite llevar dar un servicio de información de envíos y devoluciones en tiempo real bajo UPS, USPS, FedEx, etc. Gestión de diferentes zonas de envío con diferentes tarifas. Admite banners, envío de boletines periódicos a los usuarios, etc, etc, etc

¿Qué es moodle?


Moodle es un sistema de gestión de cursos de libre distribución que ayuda a los educadores a crear comunidades de aprendizaje en línea.
Este tipo de plataformas tecnológicas también se conocen como LMS (Learning Management System).

Moodle fue creado por Martin Dougiamas, quien fue administrador de WebCT en la Universidad Tecnológica de Curtin. Basó su diseño en las ideas del constructivismo en pedagogía que afirman que el conocimiento se construye en la mente del estudiante en lugar de ser transmitido sin cambios a partir de libros o enseñanzas y en el aprendizaje colaborativo.

Un profesor que opera desde este punto de vista crea un ambiente centrado en el estudiante que le ayuda a construir ese conocimiento con base en sus habilidades y conocimientos propios en lugar de simplemente publicar y transmitir la información que se considera que los estudiantes deben conocer.

La primera versión de la herramienta apareció el 20 de agosto de 2002 y, a partir de allí han aparecido nuevas versiones de forma regular. Hasta julio de 2008, la base de usuarios registrados incluye más 21 millones, distribuidos en 46 000 sitios en todo el mundo y está traducido a más de 75 idiomas.

Fuente : Wikipedia

Desarrollan nuevo concentrador solar más pequeño y más eficiente

Un equipo de ingenieros del MIT (Massachusetts Institute of Technology) ha desarrollado un prototipo de concentrador solar que permitiría aprovechar al máximo la luz que absorben los paneles solares convencionales. Lo que el MIT esta tratando de crear es un dispositivo que potencie la acción de los paneles solares tradicionales de silicio. El concentrador o potenciador en el que están trabajando, consiste en una lámina de cristal cubierta por una combinación de tintes de color que permiten absorber distintas partes del espectro de luz solar y focalizarla en las placas solares. Fuente: Science.

Virtualización de Plataforma

El sentido original del término virtualización, nacido en 1960, es el de la creación de una máquina virtual utilizando una combinación de hardware y software. Para nuestra conveniencia vamos a llamar a esto virtualización de plataforma.

La virtualización de plataforma es llevada a cabo en una plataforma de hardware mediante un software “host” (“anfitrión”, un programa de control) que simula un entorno computacional (máquina virtual) para su software “guest”. Este software “guest”, que generalmente es un sistema operativo completo, corre como si estuviera instalado en una plataforma de hardware autónoma.

Existen muchos enfoques a la virtualización de plataformas, aquí se listan con base en cuan completamente es implementada una simulación de hardware (estos términos no son reconocidos universalmente como tales, sin embargo todos los conceptos pueden ser ubicados en la bibliografía del tema).
  1. Emulación o simulación: la máquina virtual simula un hardware completo, admitiendo un sistema operativo “guest” sin modificar para una CPU completamente diferente. Este enfoque fue muy utilizado para permitir la creación de software para nuevos procesadores antes de que estuvieran físicamente disponibles. Por ejemplo Bochs , PearPC, Qemu sin aceleración, y el emulador Hercules. La emulación es puesta en práctica utilizando una variedad de técnicas, desde state machines hasta el uso de la recopilación dinámica en una completa plataforma virtual.
  2. Virtualización nativa y virtualización completa: la máquina virtual simula un hardware suficiente para permitir un sistema operativo “guest” sin modificar (uno diseñado para la misma CPU) para correr de forma aislada. Típicamente, muchas instancias pueden correr al mismo tiempo. Este enfoque fue el pionero en 1966 con CP-40 y CP[-67]/CMS, predecesores de la familia de máquinas virtuales de IBM. Algunos ejemplos: VMware Workstation, VMware Server, Parallels Desktop, Virtual Iron, Adeos, Mac-on-Linux, Win4BSD, Win4Lin Pro y z/VM.
  3. Virtualización parcial (y aquí incluimos el llamado “address space virtualization”): la máquina virtual simula múltiples instancias de mucho (pero no de todo) del entorno subyacente del hardware, particularmente address spaces. Este entorno admite compartir recursos y aislar procesos, pero no permite instancias separadas de sistemas operativos “guest”. Aunque no es vista como dentro de la categoría de máquina virtual, históricamente éste fue un importante acercamiento, y fue usado en sistemas como CTSS, el experimental IBM M44/44X, y podría decirse que en sistemas como OS/VS1, OS/VS2 y MVS.
  4. Paravirtualización: la máquina virtual no necesariamente simula un hardware, en cambio ofrece un API especial que solo puede usarse mediante la modificación del sistema operativo “guest”. La llamada del sistema al hypervisor tiene el nombre de “hypercall” en Xen y Parallels Workstation; está implementada vía el hardware instruction DIAG (“diagnose”) en el CMS de VM en el caso de IBM (este fue el origen del término hypervisor). Ejemplo: VMware ESX Server, Win4Lin 9x y z/VM.
  5. Virtualización a nivel del sistema operativo: virtualizar un servidor físico a nivel del sistema operativo permitiendo múltiples servidores virtuales aislados y seguros correr en un solo servidor físico. El entorno del sistema operativo “guest” comparte el mismo sistema operativo que el del sistema “host” (el mismo kernel del sistema operativo es usado para implementar el entorno del “guest”). Las aplicaciones que corren en un entorno “guest” dado lo ven como un sistema autónomo. Ejemplos: Linux-VServer, Virtuozzo, OpenVZ, Solaris Containers y FreeBSD Jails.
  6. Virtualización de aplicaciones: consiste en el hecho de correr una desktop o una aplicación de server localmente, usando los recursos locales, en una máquina virtual apropiada. Esto contrasta con correr la aplicación como un software local convencional (software que fueron “instalados” en el sistema). Semejantes aplicaciones virtuales corren en un pequeño entorno virtual que contienen los componentes necesarios para ejecutar, como entradas de registros, archivos, entornos variables, elementos de uso de interfaces y objetos globales. Este entorno virtual actúa como una capa entre la aplicación y el sistema operativo, y elimina los conflictos entre aplicaciones y entre las aplicaciones y el sistema operativo. Los ejemplos incluyen el Java Virtual Machine de Sun, Softricity, Thinstall, Altiris y Trigence (esta metodología de virtualización es claramente diferente a las anteriores; solo una pequeña línea divisoria los separa de entornos de máquinas virtuales como Smalltalk, FORTH, Tel, P-code).