Algoritmos y Estructuras de Datos Herramientas Lenguaje de programación
!Prog C/C++ Rust
Linux Matemáticas
Mates Discretas
Programación Orientada a Objetos Sistemas Operativos

Vista de todas las páginas

Número total de páginas: 53

Sistemas Operativos Distribuidos - Sistemas Operativos

28-05-2024

La tendencia actual del desarrollo del Hardware es incrementar el número de procesadores totales, dado que se ha llegado al límite de mejora de un solo núcleo. En este artículo, discutiremos algunas arquitecturas y luego cómo se debe enfrentar el Sistema Operativo a eso.

Sistemas Operativos en tiempo real - Sistemas Operativos

27-05-2024

En este artículo se definirá lo que es un Sistema Operativo en Tiempo Real y cómo se soluciona su mayor problema: la planificación de procesos para llegar a tiempo.

Interbloqueos - Sistemas Operativos

26-05-2024

Cuando se trabaja con varios procesos y recursos compartidos, es habitual utilizar semáforos y mutexes para proteger su acceso. Sin embargo, su uso despreocupado puede causar que varios procesos se queden bloqueados entre sí. En este artículo veremos en detalle las causas y diferentes estrategias para tratar con los interbloqueos.

Comunicación y Sincronización de Procesos - Sistemas Operativos

24-05-2024

Con frecuencia, es necesario pasar información entre varios procesos que se ejecutan de forma concurrente, o también sincronizarlos para ejecutar una tarea de forma correcta. En este artículo se discutirá qué mecanismos se utilizan y los problemas que emergen.

Shell y Bash - Sistemas Operativos

09-02-2024

En este artículo se hará un overview del uso de la shell, más concretamente Bash. Algunos temas a tratar serán comandos, expansiones, redirecciones, tratamiento de caracteres especiales…

Grafos - Algoritmos y Estructuras de Datos

18-01-2024

Cómo representar grafos en un computador y algunos algoritmos interesantes, como encontrar caminos mínimos, maximizar el flujo, encontrar las componentes conexas, etc.

Árboles - Algoritmos y Estructuras de Datos

16-01-2024

Las estructuras de datos no lineales organizadas de forma jerárquica, o árboles, son muy útiles en computación porque suelen tener complejidad logarítmica, a diferencia de las estructuras lineales. En este artículo se muestran algunos tipos de árboles junto a sus características.

Herencia y Composición. Polimorfismo - Programación Orientada a Objetos

15-01-2024

En este artículo se tratan los aspectos de la Herencia y el Polimorfimo en Java. Se verá el concepto de Clase Abstracta e Interfaz.

Conjuntos de Datos - Programación Orientada a Objetos

15-01-2024

Una buena parte de la programación se dedica a las estructuras de datos, y es algo que afecta directamente al rendimiento de un programa. En este artículo se da una visión general sobre las colecciones que provee Java.

Referencias - Programación Orientada a Objetos

13-01-2024

En este artículo se trata en detalle el Aliasing otros detalles importantes sobre la gestión de memoria que realiza la Máquina Virtual de Java.

Encapsulación - Programación Orientada a Objetos

13-01-2024

En este primer artículo, se verá el concepto de Encapsulación, Clase y Objeto. Además, se explorarán los constructores, getters, setters y métodos funcionales.

Entrada/Salida - Sistemas Operativos

08-01-2024

Además de crear abstracciones para los procesos, la memoria y los archivos; el Sistema Operativo es el encargado de manejar los dispositivos de Entrada/Salida. Debe pasarles comandos, captar interrupciones y manejar errores.

Sistema de Archivos - Sistemas Operativos

06-01-2024

Cuando el proceso termina, se pierde todo lo que se había almacenado en memoria. Además, los discos solo permiten dos operaciones: lectura y escritura, lo que presenta muchos problemas. Para solucionarlo, el Sistema Operativo crea la abstracción del Sistema de Archivos.

Memoria - Sistemas Operativos

02-01-2024

La memoria principal es un importante recurso del ordenador, y debe gestionarse con cuidado para obtener un buen rendimiento, ya que las CPUs son mucho más rápidas que las memorias. Para ello, se creó la jerarquía de memoria, y el administrador debe llevar registro de qué partes están en uso y de asignarlas a los procesos cuando la necesiten.

Arranque y Proceso Hardware - Sistemas Operativos

28-12-2023

Pasos que realiza el Sistema Operativo cuando se inicia y su funcionamiento normal, llamado proceso hardware.

Procesos e Hilos - Sistemas Operativos

26-12-2023

El concepto más importante en cualquier Sistema Operativo es el proceso, una abstracción de un programa en ejecución. Todo lo demás depende de este concepto. En este post se definirá qué es un proceso, cómo se crean, cómo terminan y cómo el Sistema Operativo los maneja.

Introducción - Sistemas Operativos

26-12-2023

El Sistema Operativo es el software encargado de gestionar los recursos del ordenador y de proporcional una interfaz amigable para su uso. Probablemente sea el software más importante que se ejecuta, dado que da soporte al resto de programas. En este artículo, se comentará brevemente los retos a los que se debe enfrentar.

Programación Estructurada en C - C/C++

16-07-2023

Uso de estructuras básicas para el control del flujo del programa.

Módulos en Python - Lenguaje de programación

12-07-2023

Breve explicación de como ejecutar programas Python e importar librerías

Sintaxis básica - C/C++

07-07-2023

En este post se trata la sintáxis básica de C/C++: comentarios, sentencias y bloques.

Introducción - C/C++

05-07-2023

Introducción a la programación: lenguajes de programación, nivel de abstracción de un lenguaje de programación, traducción a código máquina y errores en la programación.

Teoría de Grafos - Mates Discretas

02-07-2023

Grafos es un tema muy útil para la informática y que ayuda a entender determinados problemas y estructuras de datos.

Preprocesador - C/C++

27-06-2023

Cómo usar las directivas del preprocesador en C/C++, aquellas que comienzan por un #.

Recursividad - Mates Discretas

15-06-2023

Definiciones recursivas y cómo resolver relaciones de recurrencia.

Estructura directorios - Linux

13-06-2023

La estructura de archivos de Linux es bastante diferente a la de Windows, y quizás un poco contraintuitiva; pero en este post se explica con detalle qué es cada carpeta y qué se debería almacenar en ella.

El Binomio Newton y el Triángulo de Pascal - Mates Discretas

12-06-2023

El binomio de Newton y el multinomio de Leibniz. La identidad y el triángulo de Pascal. El principio de inclusión-exclusión.

Combinatoria - Mates Discretas

11-06-2023

Combinatoria es la rama de las matemáticas que estudia la enumeración, construcción y existencia de propiedades de configuraciones que satisfacen ciertas condiciones establecidas. También estudia las ordenaciones o agrupaciones de un determinado número de elementos. En este artículo se comentarán principios básicos y sencillos de esta disciplina.

Criptografía - Mates Discretas

10-06-2023

Introducción a la criptografía básica. Claves simétricas y asimétricas. Cifrado RSA.

Aritmética Modular - Mates Discretas

07-06-2023

Números - Mates Discretas

07-06-2023

Números enteros, divisibilidad, el algoritmo de división y números primos.

Algoritmos - Mates Discretas

05-06-2023

Introducción al análisis de algoritmos y diferentes tipos de algoritmos. N vs NP.

Awesome WM - Linux

28-09-2022

Awesome es un Tiling Window Manager centrado en el teclado, y uno de los más configurables.

Shell, Bash y Bashrc - Linux

31-08-2022

Guia breve sobre Bash, diferencias con Shell, terminal, consola y prompt.

tmux - Herramientas

29-08-2022

tmux, un programa de terminal que permite crear otras terminales dentro de él: pestañas, divisiones. Así puedes ser mucho más productivo.

CMake - C/C++

05-08-2021

CMake es una de las build tools más utilizadas para proyectos C++.

WASM - Rust

30-07-2021

Breve guía por pasos de cómo compilar Rust para Web Assembly (WASM)

Instalación y compilación - C/C++

30-07-2021

Guía de como instalar un compilador de C/C++. También se aportan algunas directrices de compilación de librerías así como su importación.

JSON - !Prog

30-07-2021

Breve descripción de la sintaxis de JSON, uso y posibles tipos que almacena.

XML - !Prog

15-07-2021

Lenguaje de marcado para guardar información.

Markdown - !Prog

10-06-2021

Guía rápida de cómo escribir Markdown

Testing - Rust

Strings - Rust

Módulos - Rust

Macros - Rust

Listas y Iteradores - Rust

Generics, traits y closures - Rust

Vim y Neovim - Herramientas

Una pequeña overview de las principales funcionalidades de Vim con sus comandos

Errores en Rust - Rust

Memoria - Rust

Un resumen del sistema de ownership y borrowing, tipos de memoria (Stack y Heap), lifetimes, Smart Pointers y otros detalles importantes para entender cómo funciona Rust gestiona la memoria a diferencia de C o C++.

Documentación, Cargo y Crates - Rust

Archivos de link - Linux

Los archivos link en Linux son muy útiles e interesantes: puedes tener el mismo archivo en distintas direcciones.

Cuando Linux crashea - Linux

Algunos consejos para cuando Linux deja de funcionar.