En Stack Overflow se ha publicado su encuesta anual que realiza a sus usuarios, de los que sabemos la mayoría son desarrolladores. Dentro de dicha encuentra se encuentra una sección (Desktop Operating System) que describe el sistema operativo que prefieren para programar. Han recopilado la opinión de 56.033 desarrolladores y los resultados son, sin duda, sorprendentes. El 26.2% de los programadores encuestados usan OS X para desarrollar sus proyectos. El 22.5% lo hace en Windows 7. Aunque Linux se mantiene en un buen porcentaje, con el 21.7% de los votos, ha bajado una posición:   Sistemas Operativos Preferidos por los Developers  Mac… Continuar leyendo


Apache Tomcat (también llamado Jakarta Tomcat o simplemente Tomcat) funciona como un contenedor de servlets desarrollado bajo el proyecto Jakarta en la Apache Software Foundation. Tomcat implementa las especificaciones de los servlets y de JavaServer Pages (JSP) de Sun Microsystems. Paso 1: Chequear JAVA JAVA es el primer requisito. Estar seguro de tener JAVA 6 or superior. Para comprobar utilizar dicho comando: # java -version java version “1.7.0” Si no lo tienen instalado, pueden instalarlo con yum: yum search java | grep -i –color JDK y luego yum install java-1.7.0-openjdk java-1.7.0-openjdk-devel  Paso 2: Descargar TOMCAT Descargar desde éste link. Usar wget: # cd /opt # wget http://www.eu.apache.org/dist/tomcat/tomcat-7/v7.0.53/bin/apache-tomcat-7.0.53.tar.gz # tar xzf apache-tomcat-7.0.53.tar.gz Paso 3: Iniciar tomcat # cd apache-tomcat-7.0.53 # ./bin/startup.sh… Continuar leyendo


Diseño de Programas Distribuidos: Diseño orientado a la comunicación (Prog. con sockets) –Diseñar primero el protocolo. –Construir programas acorde al protocolo. Diseño orientado a la Aplicación (RPC) –Construir aplicaciones. –Dividir los programas y añadir protocolos de comunicación. RPC (Remote Procedure Call) : En unix es posible tener en ejecución un programa en C con varias funciones que pueden ser llamadas desde otro programas. Estos otros programas pueden estar corriendo en otros ordenadores conectados en red. Supongamos, por ejemplo, que tenemos un ordenador muy potente en cálculo matemático y otro con un buen display para gráficos. Queremos hacer un programa con mucho cálculo… Continuar leyendo


Socket designa un concepto abstracto por el cual dos programas (posiblemente situados en computadoras distintas) pueden intercambiar cualquier flujo de datos, generalmente de manera fiable y ordenada. Un socket es, como su propio nombre indica, un conector o enchufe. Con él podremos conectarnos a ordenadores remotos o permitir que éstos se conecten al nuestro a través de la red. En realidad un socket no es más que un descriptor de fichero un tanto especial. Recordemos que en UNIX todo es un fichero, así que para enviar y recibir datos por la red, sólo tendremos que escribir y leer en un fichero un poco especial. Ya… Continuar leyendo


Tuberías Una tubería (pipe, cauce o ‘|’) consiste en una cadena de procesos conectados de forma tal que la salida de cada elemento de la cadena es la entrada del próximo. Permiten la comunicación y sincronización entre procesos. Es común el uso de buffer de datos entre elementos consecutivos. Una tubería es unidireccional. La utilización de tuberías mediante el uso de la shell es “el pan nuestro de cada día”, cualquier administrador de sistemas medianamente preparado encadena comandos y comandos mediante tuberías de forma natural: cat /etc/passwd | grep bash | wc –lines Los comandos “cat”, “grep” y “wc” se… Continuar leyendo


Rápidez y rendimiento parecen ser las claves para una distribución como Manjaro que plantada sobre XFCE y Archlinux está consiguiendo cada vez mayor popularidad y usuarios. El reciente lanzamiento de la versión 0.8.7 de Manjaro ha supuesto un nuevo impulso para un sistema operativo que en el último ranking ya supera a Mageia, OPenSUSE y Fedora pero que solo lleva desde julio entre el top 10 de las distros GNU/Linux. Ubuntu, tras la puesta en circulación de Raring Ringtail (Ubuntu 13.04) y más recientemente de la última gran actualización de la distribución LTS Ubuntu 12.04.3, no ha conseguido recuperar la segunda posición… Continuar leyendo


Una señal es un “aviso” que puede enviar un proceso a otro proceso. El sistema operativo unix se encarga de que el proceso que recibe la señal la trate inmediatamente. De hecho, termina la línea de código que esté ejecutando y salta a la función de tratamiento de señales adecuada. Cuando termina de ejecutar esa función de tratamiento de señales, continua con la ejecución en la línea de código donde lo había dibujado. El sistema operativo envía señales a los procesos en determinadas circunstancias. Por ejemplo, si en el programa que se está ejecutando en una shell nosotros apretamos Ctrl-C, se está enviando una señal de terminación… Continuar leyendo


Para terminar con las funciones relacionadas con el manejo de ficheros veremos chmod(), chown() , stat() , readdir(), opendir(), scandir(). La función chmod() tiene el mismo uso que el comando del mismo nombre: cambiar los modos de acceso permitidos para un fichero en concreto. Por mucho que estemos utilizando C, nuestro programa sigue sujeto a las restricciones del Sistema de Ficheros, y sólo su propietario o root podrán cambiar los modos de acceso a un fichero determinado. Al crear un fichero, bien con creat() o bien con open(), éste tiene un modo que estará en función de la máscara de modos… Continuar leyendo


En linux tenemos dos grupos de funciones para lectura y escritura de ficheros. Las funciones open(), write(), read() y close() son de algo más bajo nivel y específicas de linux. Dichas funciones serán tratadas en este artículo y dejaré ejemplos de cómo abrir y escribir archivos binarios. Los que desean utilizar funciones que son estándar de C, les recomiendo que lean este artículo – Comencemos por crear un fichero. Existen dos maneras de abrir un fichero, open() y creat(). Antiguamente open() sólo podía abrir ficheros que ya estaban creados por lo que era necesario hacer una llamada a creat() para llamar a open() posteriormente. A día… Continuar leyendo