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
Tag: linux
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
Para continuar con esta sección recomiendo antes seguir la primera parte: Sockets en C (Parte I) – Linux Esta sección la quiero dedicar para subir dos ejemplos de un chat interactivo utilizando sockets de flujo entre un servidor y un cliente. Ejemplo1: Servidor: Cliente: Ejemplo2: Servidor: Cliente:
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
Archivos
- mayo 2023
- marzo 2023
- diciembre 2020
- abril 2020
- marzo 2020
- diciembre 2019
- enero 2019
- diciembre 2018
- agosto 2017
- febrero 2017
- diciembre 2016
- noviembre 2016
- septiembre 2016
- julio 2016
- junio 2016
- mayo 2016
- abril 2016
- junio 2015
- marzo 2015
- febrero 2015
- diciembre 2014
- agosto 2014
- julio 2014
- junio 2014
- mayo 2014
- abril 2014
- marzo 2014
- febrero 2014
- enero 2014
- diciembre 2013
- noviembre 2013
- octubre 2013
- septiembre 2013
- agosto 2013
- julio 2013
- junio 2013
- mayo 2013
- abril 2013
- marzo 2013