Una situación muy habitual dentro de un programa es la de crear un nuevo proceso que se encargue de una tarea concreta, descargando al proceso principal de tareas secundarias que pueden realizarse asíncronamente o en paralelo. Linux ofrece varias funciones para realizar esto: system(), fork() y exec(). Con system() nuestro programa consigue detener su ejecución para llamar a un comando de la shell (“/bin/sh” típicamente) y retornar cuando éste haya acabado. Si la shell no está disponible, retorna el valor 127, o –1 si se produce un error de otro tipo. Si todo ha ido bien, system() devuelve el valor… Continuar leyendo


Este manual es ideal para aprender a programar en el lenguaje C bajo el sistema operativo Linux. Nivel de dificultad: Intermedio/Experto Al crear los artículos, asumo que ya tienen conceptos básicos de programación (sino lo tienen, recomiendo que visiten mi manual básico e intermedio de C++). Si tienen alguna duda, pueden dejar comentarios en los artículos, que con gusto los responderé. Índice: C en Linux – Introducción Argumentos y Estructuras de control en C – Linux Creación y duplicación de procesos en C (Parte I) – Linux Creación y duplicación de procesos en C (Parte II) – Linux Archivos en… Continuar leyendo


El lenguaje C tiene varias estructuras de control para bucles y bifurcaciones condicionales. Argumentos en C pasados por el sistema operativo: En este caso, si usas la consola linux tenés que compilar el programa: gcc -o nombre nombre.c y luego ejecutarlo: ./nombre holamundo 2 El paso de compilación y ejecución es el mismo para los siguientes ejemplos. Ingreso de datos a través del programa en ejecución: Ejemplo de If, While y Switch: Ejemplo de For y vectores:


GCC (GNU Compiler Collection): es el compilador creado por el proyecto GNU. Se trata de una colección de programas libres integrados capaces de compilar diversos lenguajes de programación, entre estos C, C++, Objective-C, Java, Ada y Fortran. GCC es utilizado en el desarrollo de la mayoría de programas libres. Especialmente, el núcleo Linux depende estrechamente de las funcionalidades de GCC. En la práctica, la abreviación GCC es utilizada para nombrar a tres entidades ligeramente diferentes: 1. la colección completa de compiladores. 2. la parte común a todos los compiladores. 3. el compilador en si. Para referirse exactamente a los compiladores… Continuar leyendo


En esta ocasión les quiero dejar los pasos para tener Apache, Php y Mysql en Ubuntu 13.04 o Mint 15 de manera muy sencilla. LAMP= LINUX APACHE MYSQL PHP –          Instalar el sistema operativo Ubuntu o Mint de  forma predeterminada (Recomendado para gente sin experiencia en Linux). –          Una vez instalado el sistema operativo empezamos a instalar y configurar todo como para tener lo siguiente: servidor web apache, php y mysql. 1 – Tener privilegios de root: sudo su 2 – Instalar MySql: apt-get install mysql-server mysql-client New password for the MySQL “root” user: <– ingresatucontraseña Repeat password for the MySQL “root”… Continuar leyendo


En este tutorial se explica la instalación de un servidor de archivos Samba para Ubuntu 13.04 o Mint 15 y cómo configurarlo para compartir archivos a través del protocolo SMB, como así también la forma de agregar usuarios. 1 – Tener privilegios de root: sudo su 2 – Instalar Samba: apt-get install libcups2 samba samba-common – Editar: vi /etc/samba/smb.conf – Descomentar la linea security = user […] # “security = user” is always a good idea. This will require a Unix account # in this server for every user accessing the server. See # /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html # in the samba-doc package for details.… Continuar leyendo


Introducción Los últimos 20 años han sido testigos de avances masivos en las áreas de computación, el hardware se ha ido abaratando cada vez más y a su vez se ha ido haciendo más potente a tal punto que las computadoras de escritorio de hoy, tienen la potencia que tenían mainframes de años anteriores. Además del hardware la segunda área de avances masivos es la de las comunicaciones, avances tales como los sistemas de comunicación vía satélite y sistemas de telefonía digital entre otros que hacen posible conectar económicamente y eficientemente con otros sistemas informáticos separados físicamente, esto ha llevado… Continuar leyendo


Introducción En nuestro mundo se encuentran un sin número de objetos, estos objetos existen como entidades hechas por el hombre, negocios y productos que se usan en la vida diaria. Todos estos objetos pueden ser clasificados, descritos, organizados, combinados, manipulados y creados. La idea básica de la programación orientada a objetos se basa en 8 principios, que se muestran para un mejor entendimiento de la metodología: • Clases • Herencia • Objetos • Encapsulación • Atributo • Mensajes • Método • Polimorfismo   Un enfoque orientado a objetos, dependiendo de la naturaleza del software a  desarrollar, puede facilitar la elaboración de la aplicación, debido… Continuar leyendo


Introducción El objetivo de la ingeniería inversa es obtener información o un diseño a partir de un producto accesible al público, con el fin de determinar de qué está hecho, qué lo hace funcionar y cómo fue fabricado. Hoy en día (principios del siglo XXI), los productos más comúnmente sometidos a ingeniería inversa son los programas de computadoras y los componentes electrónicos, pero, en realidad, cualquier producto puede ser objeto de un análisis de Ingeniería Inversa. En el caso concreto del software, se conoce por ingeniería inversa a la actividad que se ocupa de descubrir cómo funciona un programa, función… Continuar leyendo


Introducción Una base de datos orientada a objetos es una base de datos donde los elementos son objetos. Estos pueden ser bases de datos multimedia (videos, imágenes y sonidos), donde la herencia nos permita una mejor representación de la información, estas bases de datos tienen una identidad de ser un Todo, y no solo una parte de una gran base, por ejemplo una base de secuencias de ADN. Un SBDOO extiende los lenguajes con datos persistentes de forma transparente, control de concurrencia, recuperación de datos, consultas asociativas y otras capacidades. El objetivo de una base de datos orientada a objetos son los… Continuar leyendo