Fundamentos de Informática: Memoria, Almacenamiento, Periféricos, Software, Licencias y Linux CLI
Memoria
1. Memoria: Componente que almacena datos e instrucciones que la computadora necesita para funcionar. Se clasifica en: Volátil (pierde la información al apagar el equipo. Ejemplo: RAM) y No volátil (conserva la información sin electricidad. Ejemplo: ROM, SSD y pendrive).
2. RAM
Es la memoria principal donde se cargan los programas y datos que se están utilizando. Es volátil y permite leer y escribir información. Existen dos tipos principales:
- SRAM: rápida, costosa y no necesita refresco periódico. Se utiliza habitualmente en la memoria caché.
- DRAM: necesita refresco periódico, es más económica y se utiliza habitualmente como memoria principal.
Los módulos de RAM pueden presentarse en formatos como DIMM, usado generalmente en computadoras de escritorio, y SO-DIMM, habitual en notebooks.
3. Caché
Es una memoria pequeña y rápida que almacena datos e instrucciones que el procesador podría necesitar nuevamente. Reduce los tiempos de acceso a la información.
- Acierto o hit: el dato se encuentra en la caché.
- Fallo o miss: el dato no se encuentra y debe buscarse en otro nivel.
Niveles habituales
L1 (muy rápida y pequeña), L2 (mayor capacidad que L1, generalmente algo más lenta) y L3 (suele tener mayor capacidad y puede ser compartida entre varios núcleos).
Métodos de mapeo
Directo (cada bloque puede ubicarse en una posición determinada), Asociativo (puede ubicarse en cualquier posición), o Asociativo por conjuntos (puede ubicarse en distintas posiciones de un conjunto específico).
4. ROM y firmware
La ROM es una memoria no volátil utilizada tradicionalmente para almacenar instrucciones permanentes o firmware.
Tipos principales
- ROM: programada durante la fabricación.
- PROM: se programa una sola vez.
- EPROM: se puede borrar mediante luz ultravioleta y volver a programar.
- EEPROM: se borra y programa eléctricamente.
- Flash: memoria no volátil regrabable utilizada en SSD, USB y tarjetas de memoria.
El BIOS/UEFI es el firmware que inicializa el hardware y permite comenzar el proceso de arranque del sistema operativo. No es lo mismo que el sistema operativo.
5. Dispositivos de almacenamiento
Permiten conservar información de forma permanente.
- HDD: utiliza platos magnéticos y componentes mecánicos. Suele ofrecer mucha capacidad a bajo costo.
- SSD: utiliza memoria flash, no tiene partes móviles y suele ser mucho más rápido que un HDD.
- Discos ópticos: CD, DVD y Blu-ray; leen información mediante tecnología óptica.
- Cintas magnéticas: utilizadas principalmente para copias de seguridad y archivo.
- Memorias USB y tarjetas: utilizan memoria flash.
- Nube: almacena datos en servidores accesibles mediante una red.
Periféricos y comunicación
1. Periféricos
Dispositivos que permiten intercambiar información entre la computadora y el exterior.
- Entrada: introducen datos. Ejemplos: teclado, mouse, micrófono y escáner.
- Salida: muestran o entregan resultados. Ejemplos: monitor, impresora y parlantes.
- Entrada y salida: reciben y envían información. Ejemplos: pantalla táctil y placa de red.
- Almacenamiento: permiten guardar y recuperar datos. Ejemplos: pendrive, disco externo y unidad óptica regrabable.
2. Controladores (drivers)
Programas que permiten al sistema operativo comunicarse con los dispositivos de hardware.
3. Puertos e interfaces
Permiten conectar los periféricos a la computadora. Ejemplos: USB, HDMI, Ethernet y conectores de audio, o conexiones inalámbricas como Bluetooth y Wi-Fi.
4. Buses de comunicación
Permiten intercambiar información entre componentes:
- De datos: transporta los datos.
- De direcciones: identifica la ubicación de memoria o entrada/salida a la que se quiere acceder.
- De control: coordina las operaciones mediante señales de control.
Un bus de direcciones de n bits puede representar hasta 2n direcciones distintas.
5. Conversión de señales
- ADC (analógico-digital): convierte una señal analógica en datos digitales. Ejemplo: digitalizar el sonido captado por un micrófono.
- DAC (digital-analógico): convierte datos digitales en una señal analógica. Ejemplo: transformar datos de audio en una señal para reproducir sonido.
El muestreo consiste en medir una señal analógica en instantes determinados para representarla digitalmente.
6. Interrupciones
Mecanismos mediante los cuales un dispositivo o componente solicita atención del procesador. Permiten informar eventos, como la finalización de una operación, sin que el procesador tenga que revisar constantemente todos los dispositivos.
Software y sistemas operativos
1. Software
Conjunto de programas, instrucciones y elementos lógicos que permiten que una computadora realice tareas. Se clasifica principalmente en: Software de sistema (administra el hardware y proporciona servicios para otros programas) y Software de aplicación (permite realizar tareas específicas para el usuario).
2. Software de sistema
Incluye tres grupos principales:
- Sistema operativo: administra los recursos y permite ejecutar aplicaciones. Ejemplos: Windows, GNU/Linux, macOS y Android.
- Controladores: permiten al sistema operativo comunicarse con los dispositivos.
- Utilerías: realizan tareas de mantenimiento, seguridad y administración, como compresión de archivos, copias de seguridad y diagnóstico.
3. Sistema operativo
Las principales funciones son:
- Interfaz de usuario: permite interactuar con el sistema mediante ventanas, iconos o comandos.
- Administración de recursos: distribuye el uso del procesador, la memoria y los dispositivos.
- Administración de archivos: permite crear, guardar, modificar, copiar y eliminar archivos.
- Administración de tareas: coordina la ejecución de procesos y el uso del procesador.
- Servicios de soporte: proporciona herramientas y servicios de configuración, mantenimiento y diagnóstico.
Un proceso es un programa en ejecución junto con el estado y los recursos que necesita para funcionar.
4. Arquitectura del S.O.
- Kernel o núcleo: gestiona funciones fundamentales, como procesos, memoria y comunicación con el hardware.
- Servicios: proporcionan funciones del sistema, como administración de archivos, redes y otras tareas.
- Shell o interfaz: permite al usuario interactuar con el sistema operativo mediante comandos o una interfaz gráfica.
Licencias de software
5. Software propietario
Es software cuya licencia restringe determinadas acciones, como modificar el programa, acceder a su código fuente o redistribuirlo. El usuario obtiene permiso para utilizarlo según las condiciones de la licencia, pero no adquiere automáticamente los derechos sobre el programa.
6. Software libre
Es aquel cuya licencia concede cuatro libertades fundamentales:
- Usar el programa con cualquier propósito.
- Estudiar cómo funciona y adaptarlo a las necesidades propias.
- Distribuir copias.
- Modificar y mejorar el programa y compartir las mejoras.
Para estudiar y modificar el programa es necesario disponer del código fuente. Software libre no significa necesariamente gratuito: puede venderse o comercializarse junto con servicios pagos.
7. Código abierto (open source)
Permite acceder al código fuente y modificarlo y redistribuirlo de acuerdo con una licencia que cumpla los requisitos correspondientes. La diferencia principal de enfoque es que el software libre enfatiza las libertades de los usuarios, mientras que el código abierto destaca el acceso al código, la colaboración y sus ventajas prácticas. La disponibilidad del código fuente por sí sola no garantiza que un programa sea de código abierto: también importan los permisos de la licencia.
8. Licencias y conceptos legales
- Copyright: se relaciona con los derechos de autor sobre una obra, incluido el software.
- Licencia de software: establece las condiciones de uso, copia, modificación y distribución.
- Copyleft: utiliza licencias para mantener determinadas libertades cuando se redistribuye el software o sus versiones modificadas.
- GNU GPL: licencia de software libre que establece condiciones para distribuir el programa y determinadas versiones derivadas.
- MIT: licencia permisiva que permite reutilizar y modificar el software bajo condiciones relativamente simples.
No todas las licencias libres utilizan copyleft.
9. Freeware, shareware y software comercial
- Freeware: se ofrece sin costo, pero puede restringir la modificación y redistribución.
- Shareware: se distribuye generalmente como versión de prueba, con limitaciones de tiempo o funciones.
- Software comercial: se distribuye con fines comerciales; puede venderse mediante licencias, suscripciones u otras modalidades.
Estas categorías describen el precio o la distribución, no necesariamente las libertades del usuario. Un programa puede ser gratuito y propietario, o libre y comercial. El precio no determina el tipo de licencia.
Práctica: cálculo de imágenes
- A. Calcular la cantidad de píxeles: Píxeles = ancho × alto
- B. Calcular los bits totales: Bits = píxeles × bits por píxel
- C. Convertir bits a bytes: Bytes = bits / 8
- D. Convertir bytes a KB y MB: KB = Bytes / 1024 | MB = KB / 1024
- PPP: Píxeles horizontales = (ancho en cm) / 2,54 × PPP horizontal | Píxeles verticales = (alto en cm) / 2,54 × PPP vertical
Ejemplo: una imagen de 800 × 600 píxeles con una profundidad de color de 24 bits.
800 × 600 = 480.000 píxeles → 480.000 × 24 = 11.520.000 bits → 11.520.000 / 8 = 1.440.000 bytes → 1.440.000 / 1024 = 1.406,25 KB → 1.406,25 / 1024 = 1,37 MB
Linux desde la terminal (CLI)
La CLI (Command Line Interface) es una interfaz que permite interactuar con el sistema operativo escribiendo comandos en una terminal, en lugar de utilizar una interfaz gráfica.
A. Navegar por directorios
- pwd: muestra la ruta absoluta del directorio actual.
- ls: lista archivos y carpetas.
- ls -lah: lista archivos ocultos, con detalles y tamaños legibles.
- cd ruta: cambia de directorio.
- cd ..: va al directorio padre.
- cd ~: va al directorio personal del usuario.
- cd -: vuelve al directorio anterior.
B. Crear, copiar, mover y borrar
- mkdir nombre: crea un directorio.
- mkdir -p ruta: crea directorios intermedios si no existen.
- touch archivo.txt: crea un archivo vacío o actualiza su fecha de modificación.
- cp origen destino: copia un archivo.
- cp -r origen destino: copia un directorio y su contenido.
- mv origen destino: mueve o renombra archivos y directorios.
- rm archivo: elimina un archivo.
- rm -r directorio: elimina un directorio y su contenido.
- rm -i archivo: solicita confirmación antes de eliminar.
Precaución: rm puede borrar archivos sin enviarlos a la papelera. La opción -i solicita confirmación antes de eliminar.
C. Leer y buscar información
- cat archivo.txt: muestra el contenido completo de un archivo.
- less archivo.txt: permite leer un archivo por páginas. Se sale con q.
- grep