Sistemas & Desarrollo

encontrados: 40, tiempo total: 0.055 segundos rss2
1 meneos
13 clics

Desde AF_UNIX hasta kdbus [ENG]

Comparación entre dos métodos de comunicación entre procesos en Linux: el primero y más antiguo AF_UNIX y el segundo y más moderno (todavía no incluido en el kernel) kdbus.
12 meneos
89 clics

Nuevo sistema de archivos para Linux: bcachefs [ENG]

bcachefs es un nuevo sistema de archivos de propósito general para Linux que incluye control de errores, compresión, múltiples dispositivos, cacheado, COW… Finalmente, incluirá imágenes (snapshots) y otras características interesantes. Pero, ¿por qué otro nuevo sistema de archivos? Después de varios años desarrollando bcache en Google, pareció buena idea exportar toda esa funcionalidad a un nuevo sistema de archivos gracias a su limpio y elegante diseño, además de por tener un rendimiento similar a ext4.
8 meneos
72 clics

Portando Linux a una nueva arquitectura, parte 1: lo básico [ENG]

Aunque un port simple puede contar con tan sólo 4000 líneas de código —exactamente 3775 son las del procesador Hitachi 8/300 (sin MMU) recientemente introducidas en Linux 4.2-rc1—, conseguir que el kernel de Linux se ejecute en una nueva arquitectura de procesador es un proceso difícil. Peor aún, no hay mucha documentación disponible que describa dicho proceso de portabilidad. El objetivo de esta serie de artículos es proporcionar una visión general del procedimiento de portar el kernel de Linux a una nueva arquitectura de procesador.
7 meneos
56 clics

Portando Linux a una nueva arquitectura, parte 2: el código inicial [ENG]

En la primera parte de esta serie (www.meneame.net/m/SysDevs/portando-linux-nueva-arquitectura-parte-1-ba ) hemos sentado las bases para portar Linux a una nueva arquitectura de procesador explicando los pasos preliminares (sin llegar a escribir ningún código fuente). Este artículo continúa desde allí profundizando en el código de arranque, lo que incluye desde el código necesario para arrancar Linux hasta la creación del primer hilo del kernel.
7 meneos
143 clics
Pinguy Builder, la herramienta definitiva para crear tu propia distribución de Linux

Pinguy Builder, la herramienta definitiva para crear tu propia distribución de Linux

Aunque existen muchas herramientas para crear tu propio pendrive de instalación o tu DVD de instalación de Linux, la verdad es que existen pocas herramientas que te permitan ir más allá y crear tu propia distribución de Linux personalizada. Una de las herramientas más famosas es Linux From Scratch pero para usarlo hay que tener conocimientos muy avanzados de Gnu/Linux. Hace poco apareció una herramienta que no necesitaba tantos conocimientos pero tampoco lo puede usar un novato, es una herramienta llamada Pinguy Builder.
6 meneos
91 clics

Cómo compilar el kernel de Linux, parte 1: teoría… mucha teoría [ENG]

Hoy vamos a empezar una serie de entradas acerca de cómo se compila el kernel de Linux para entender mejor cómo funciona un ordenador. Y empezaremos con teoría… con mucha teoría. En esta entrada veremos, para empezar, las tareas básicas de un kernel. Comencemos…
16 meneos
179 clics
Canonical lanza LXD, el hipervisor más rápido del mundo [ENG]

Canonical lanza LXD, el hipervisor más rápido del mundo [ENG]

Canonical ha lanzado hoy LXD, el hipervisor más rápido del mundo, que adopta un enfoque de contenedores puros para virtualización en Linux ofreciendo rendimiento y ventajas dramáticas tanto sobre VMware ESX como sobre Linux KVM para la infraestructura de nube privada y/o pública. LXD ofrece hasta 15 veces la densidad de KVM para cargas de trabajo de inactividad y reduce drásticamente la latencia con un mayor rendimiento de E/S en cargas de trabajo intensivas tales como telecomunicaciones NFV, Big Data y aprendizaje automático.
8 meneos
198 clics
Las principales 25 herramientas de monitorización de rendimiento y de depuración en Linux [ENG]

Las principales 25 herramientas de monitorización de rendimiento y de depuración en Linux [ENG]

He compilado 25 herramientas de monitorización de rendimiento y depuración que son útiles cuando se está trabajando en entornos Linux. Esta lista no es completa, sin embargo tiene suficientes herramientas como para que se pueda probar y elegir las adecuadas en cada situación.
7 meneos
121 clics
Como cifrar imágenes en base64 en Linux para insertarlas en CSS

Como cifrar imágenes en base64 en Linux para insertarlas en CSS

Para insertar imágenes codificadas en base64 en el propio CSS el primer paso es realizar una optimización de dicha imagen. Para ello podemos usar cualquier herramienta de edición gráfica, como por ejemplo GIMP. El siguiente paso es obtener la codificación en base64 de nuestra imagen, para lo que usaremos el comando base64 que viene instalado en la mayoría de distribuciones de Linux. El paso final es insertar el texto obtenido en el CSS usando la función url() de la forma: url("data:image/png;base64,XXXXXXXX").
12 meneos
114 clics
pagemon: utilidad con interfaz con ‘ncurses’ para monitorizar la memoria de los procesos [ENG]

pagemon: utilidad con interfaz con ‘ncurses’ para monitorizar la memoria de los procesos [ENG]  

Durante el desarrollo de stress-ng quería ser capaz de ver si los diversos factores de estrés de memoria modificaban dicha memoria en la forma en que había anticipado. Buceando en la documentación de Linux descubrí que se podía consultar un bit en la tabla de páginas de memoria (PTE en inglés) para ver si una página había sido escrita o no, así que desarrollé pagemon, una utilidad con ‘ncurses’ para esta actividad en tiempo real.
13 meneos
120 clics

Todo sobre la programación de señales en Linux [ENG]

El artículo describe cómo funcionan las señales en Linux y cómo se manejan usando el API de POSIX. Se cubrirán las funciones en todos los sistemas modernos de Linux, cosa que también se puede aplicar a la mayoría de los sistemas POSIX (a menos que se indique lo contrario). Para seguir bien el artículo se recomienda tener un conocimiento básico acerca de señales.
7 meneos
114 clics
Un servidor avanzado y seguro con Hiawatha

Un servidor avanzado y seguro con Hiawatha

Servidor web o webserver, en inglés, para sistemas tipo UNIX, que prioriza ante todo la seguridad.
2 meneos
50 clics

Inyectar código en procesos en ejecución en Linux con ‘linux-inject’ [ENG]  

‘linux-inject’ es una utilidad para Linux que inyecta una librería .so dentro de un proceso en ejecución. Funciona de forma similar a como lo hace LD_PRELOAD pero, como se ha comentado, ‘linux-inject’ inserta el código mientras el proceso está corriendo. Veamos un ejemplo de su funcionamiento.
3 meneos
59 clics

Presentación con diapositivas de la tecnología de contenedores ‘lxd’ en Ubuntu [ENG]  

Presentación con diapositivas del funcionamiento de la tecnología de contenedores de Linux ‘lxd’, que se apoya sobre la tecnología ‘lxc’ del kernel de Linux, en Ubuntu.
8 meneos
140 clics
Entendiendo los archivos y las unidades de systemd [ENG]

Entendiendo los archivos y las unidades de systemd [ENG]

Cada vez más distribuciones de Linux están adoptando systemd como sistema de inicio. Este potente software puede gestionar varios aspectos del servidor, como pueden ser servicios, puntos de montaje y estados del sistema. En systemd, una unidad (unit en inglés) se refiere a un recurso que el sistema es capaz de manejar. Este el primer objeto con el que systemd trabaja. Estos recursos son definidos en archivos de configuración llamados “unit files”.
5 meneos
146 clics
NodeOS ya no es un sistema operativo de juguete [ENG]

NodeOS ya no es un sistema operativo de juguete [ENG]  

Esta versión de NodeOS parece que ha tenido poco movimiento, pero el hecho es que ha tenido grandes progresos más allá de la repercusión del proyecto, entre ellos, encontrar un error que ha permanecido oculto durante año y medio. Eso puede volver loco a cualquiera.
6 meneos
137 clics
Introducción a LXD 2.0, el gestor de contenedores a través de LXC en Linux [ENG]

Introducción a LXD 2.0, el gestor de contenedores a través de LXC en Linux [ENG]

Como está cerca de salir la versión 2.0 de LXC, LXD y LXCFS, creo que es una buena idea hablar sobre las cosas nuevas que van a venir en esta versión del proyecto desde que comenzó hace año y medio. En esta serie de entradas hablaré de qué es LXC y LXD, de la instalación y configuración, de los primeros pasos con contenedores y de su API, entre otras muchas cosas.
10 meneos
167 clics
La guía definitiva sobre las llamadas al sistema de Linux [ENG]

La guía definitiva sobre las llamadas al sistema de Linux [ENG]  

Esta entrada explica cómo funcionan las llamadas al sistema (system calls) del kernel Linux. Además, también explica diferentes métodos de creación de llamadas al sistema, cómo hacer llamadas al sistema de forma manual, los puntos de entrada y de salida de las llamadas al sistema en el kernel, las funciones relacionadas en glibc, errores y mucho, mucho más.
12 meneos
393 clics
¿Qué pasa cuando ejecutas “rm -rf” en una máquina con Linux? [ENG]

¿Qué pasa cuando ejecutas “rm -rf” en una máquina con Linux? [ENG]  

He hecho un pequeño vídeo para mostrar qué pasa exactamente al ejecutar “rm -rf” en una máquina con Linux. Spoiler: realmente no pasa nada, a no ser que utilices el parámetro --no-preserve-root. Aún así, por favor, no ejecutes nunca jamás estos comandos en servidores. Algunos no permiten que lo ejecutes, pero otros, generalmente más antiguos, felizmente borrarán todo el sistema.
7 meneos
116 clics
Espacios de nombres de red en el kernel de Linux [ENG]

Espacios de nombres de red en el kernel de Linux [ENG]

Los espacios de nombres (namespaces) en Linux son una característica relativamente nueva que es esencial para implementar contenedores. Un espacio de nombres envuelve un recurso global del sistema en una abstracción que es ligada sólo a los procesos dentro de dicho espacio de nombres proporcionando aislamiento de recursos. En este artículo se explicará el espacio de nombres de red y se mostrará un ejemplo práctico.
11 meneos
217 clics
Etcher - Una forma sencilla de instalar una distro Linux en un pendrive

Etcher - Una forma sencilla de instalar una distro Linux en un pendrive

Etcher es un software creado con Node.js, Electron, JS y HTML que nos permite grabar imágenes de distribuciones Linux en un pendrive para poder disponer de nuestro propio sistema operativo en cualquier ordenador.
11 meneos
252 clics

El bucle ‘for’ en BASH, el primero paso en la automatización en Linux [ENG]

Creo que dominar el bucle ‘for’ en BASH en Linux es una de las partes fundamentales que tienen que conocer los administradores de sistemas (y los desarrolladores), lo que lleva sus habilidades hasta el siguiente nivel. En la siguiente entrada explicaré cómo funciona un bucle ‘for’ en BASH y mostraré varios útiles ejemplos.
6 meneos
50 clics

Vistazo al Subsistema Windows para Linux [ING]

Recientemente anunciamos Bash en Ubuntu en Windows que permite binarios Linux ELF64 en Windows via el Windows Subsystem for Linux (WSL). Este subsistema fue creado por el equipo Microsoft Windows Kernel y ha generado mucho revuelo. Una de las preguntas más frecuentes que recibimos es la diferencia que hay con respecto a una máquina virtual. En este primer post de una serie de varios, explicaremos lo básico de WSL que responda esas y otras preguntas. En futuros posts entraremos al detalle de cada componente aquí presentado.
15 meneos
243 clics
Lecciones aprendidas en 25 años de desarrollo del kernel Linux [ENG]

Lecciones aprendidas en 25 años de desarrollo del kernel Linux [ENG]

Debido a la celebración de los 25 años del inicio del desarrollo del kernel Linux en 2016, mucha gente nos ha preguntado el secreto de la longevidad y el éxito del proyecto. Generalmente me río y bromeo ya que no tengo ni idea. El proyecto se ha enfrentado a numerosos desacuerdos y desafíos. Pero ya hablando en serio, la razón que nos ha hecho llegar hasta aquí tiene mucho que ver con la capacidad de la comunidad para hacer instrospección y cambiar su modo de trabajar.
7 meneos
190 clics

¿Cómo funciona la llamada al sistema ‘open’ en Linux? [ENG]

Como supongo que sabrás, nuestros programas interaccionan con el kernel mediante un mecanismo especial conocido como llamadas al sistema (system calls o syscalls). Si has escrito al menos un programa en C, sabrás que antes de hacer cualquier lectura y/o escritura a un archivo es necesario abrirlo. Para ello se utiliza la función ‘open’. En este caso es una función de la librería estándar (libc) y es ella la que se encarga de realizar la llamada al sistema por nosotros.
« anterior12

menéame