KNOPPIX

Las Knoppix son una distribución muy reciente de Linux para la plataforma hardware wintel (los PCs). La principal ventaja es que no requiere ninguna instalación y se puede tener un Linux funcionando en un ordenador típicamente con Windows en 3 minutos con tan sólo arrancar el ordenador desde el CD de distribución de las Knoppix. Viene además con todas las herramientas fundamentales para programar y, si no hay problemas, se configura automáticamente al empezar pudiendo acceder a todo el hardware del ordenador y a la red.

“Instalación” de Knoppix

Ver: Knoppix en español o ir directamente a la página central de las Knoppix.


CYGWIN y MINGW

son dos aplicaciones que permiten ejecutar el compilador c++ sobre Windows. La primera, Cygwin, es más potente, y ofrece un entorno KDE sobre Linux completo, pero exige un ordenador más potente. Mingw sólo ofrece el compilador, pero no necesita un ordenador muy potente. Están en Comprimido CIGWIN-MINGW.zip (cuidado que ocupa 184.639.882 bytes) pero también se puede solicitar copia del CD al profesor.


Ventajas de UNIX

Unix es sin lugar a dudas el Sistema Operativo más importante y serio desde que en los años 70 los Sistemas Operativos se empezaron a estandarizar. Inicialmente UNIX fue desarrollado en C (de hecho C se inventó para desarrollar UNIX) y pertenecía a una empresa: la empresa AT&T Bell; tras una serie de malentendidos respecto a la propiedad de este sistema aparecen variantes en forma de Minix, FreeBSD (Berkeley San Diego), Linux, todas de tipo software libre, abierto, gratuito y en continuo desarrollo por programadores no pertecientes a ninguna empresa. Todos los tipos de UNIX comparten muchas ideas y en su conjunto se diferencian mucho de otros sistemas operativos menos robustos o sin la sencillez arquitectónica de UNIX.

UNIX es un sistema operativo multitarea (el propio kernel del sistema se encarga de repartir el tiempo de uso de procesador de cada aplicación que esté funcionando), y es multiusuario: para usar cualquier cosa en UNIX uno ha de estar identificado con un nombre de usuario/palabra de paso (login/password) que lo identifica de cara al sistema y le permite (con una permanente atención a privilegios de acceso a ficheros, memoria, puertos de comunicaciones, etc.) usar todo o parte de los recursos del sistema, protegiendo así al sistema ante ataques o uso inexperto del mismo.

UNIX presta (desde sus primeras versiones en los años 70) una especial atención a las comunicaciones, uso remoto de los equipos y compartición de recursos. Esto lo ha mantenido en cabeza siempre conforme estos aspectos de la informática se han popularizado.

UNIX es un sistema abierto: no sólo es posible acceder a las diferentes versiones desarrolladas para cada máquina conforme han ido creándose éstas, sino también a los programas originales (en C, porsupuesto) que son el código fuente de UNIX. Por otro lado, siendo un sistema operativo moderno y sencillo es la base del estudio del puntode partida del cómo funcionan (a nivel pedagógico) los sistemas operativos en general; típicamente el libro de texto de la mayoría de universidades de todo el mundo para la introducción al estudio de sistemas operativos es "Minix" una forma simplificada, pero operativa y compilable, de UNIX.

UNIX es un sistema especialmente robusto. Particularmente son elogiadas en este aspecto las versiones de UNIX con un microkernel más pequeños como son las implantadas en el UNIX Mach del ya abandonado sistema Next o el constantemente en desarrollo UNIX FreeBSD. La ventaja de este tipo de UNIX es que la parte protegida del sistema es menor y está menos acoplada con partes no esenciales del sistema. Esta ha sido siempre la filosofía de protección de este sistema. Y así es realmente. Cuando una aplicación se bloquea por algún tipo de error de funcionamiento, el resto del sistema permanece en correcto funcionamiento sin verse afectado, siendo fácil, en general, el volver al punto en el que se estaba trabajando.

Generalidades

En general UNIX mantiene una serie de procesos en funcionamiento durante todo el tiempo. Todos los procesos en UNIX están identificados por un número, el PID, que es único. Si un proceso acaba y vuelve a empezar su nuevo PID nunca coincidirá con el anterior. La lista y el estado de funcionamiento de los procesos (consumo de recursos, etc.) es fácilmente visualizable mediante el comando top. Aunque desde los años de popularización del sistema Apple Macintosh (1983, en adelante) las interfaces gráficas de usuario se han ido extendiendo más y más, UNIX es más típicamente manejado desde interfaces de tipo CLI (“Command Line Interprete”), en las que los comandos se lanzan desde el “Shell” (concha sería la traducción). Hay una decena de shells populares en UNIX, desde el antiguo pero universal Bourne shell (sh) hasta el sofisticado Bash shell. No no nos habremos de preocupar en principio de cuál es el shell de trabajo, ya que las diferencias só lo aparecen en un mayor nivel de uso.

El uso de interfaces gráficas con UNIX es tan fácil como con cualquier otra plataforma. Sin embargo la flexibilidad de interconexión entre los datos de entrada y salida de las aplicaciones no son fáciles de representar en aquéllos, y es este precisamente uno de los aspectos más importante para los programadores de sistema ya que permite construir comandos combinados potentes muy rápidamente a los expertos.

UNIX ideó el sistema de almacenamiento en estructuras jerárquicas que hoy nos es tan popular en todos los sistemas: los directorios y subdirectorios.