Tutoriales

Hardware y software: definiciones y conceptos

Para que un sistema informático funcione de forma correcta es necesario que su hardware y su software trabajen en comandita ejecutando las tareas que se les soliciten. Aunque existen diferencias categóricas entre los dos conceptos, ambas partes del ordenador son fundamentales.

En el siguiente artículo vamos a definir qué es el hardware, el software, qué elementos del ordenador se corresponden con cada parte, qué elementos están a medio camino y qué diferencias existen entre cada grupo.

Definición de hardware, principales tipos y componentes

El hardware se refiere a un conjunto de piezas físicas y tangibles que interaccionan entre sí de forma analógica o digital para dar lugar al ordenador. En algunas ocasiones se le denota de forma abreviada con los caracteres H/W o h/w. Una definición alternativa hace alusión a la presencia o no de electrónica, chips o circuitos impresos en la pieza, pero esta tiene un nivel de generalidad menor por lo que su uso no es habitual.

El hardware es el soporte físico sobre el que se instala, opera y funciona cualquier software; es decir, sin el hardware, el ordenador no existe.

A lo largo de tiempo, en lo que aparentan ser cuatro generaciones tecnológicas, el hardware ha ido evolucionado de manera lenta pero progresiva. La primera generación, aparecida en 1945 y que duró por once años, se basaba en tubos de vacío. A esta le sucedieron los transistores, empleados desde 1957 hasta 1963. Desde entonces se emplea hardware basado en circuitos integrados. Se predice una cuarta generación, en fase de investigación y prototipado, que emplearía transistores libres de silicio o física cuántica. La llegada de esta cuarta generación es difícil de predecir.

La capacidad operativa (y de computación cuando corresponde) de los primeros componentes no tiene nada que ver con la que disfrutamos hoy en día.

Cuando categorizamos todos estos elementos, una primera clasificación del hardware se puede realizar en base a su ubicación en el sistema informático. Así se hace una división entre el hardware interno, generalmente el que se incluye dentro de una torre, y el hardware externo, todo aquel que no tiene lugar asignado dentro de la caja del ordenador y se sitúa por lo tanto en el rango de acción del usuario, pero fuera de la envolvente de la máquina.

Algunos de los elementos de hardware que se considerarían internos son:

  • La unidad central de procesamiento, microprocesador o CPU
  • Las unidades de disco duro o HDD
  • Las unidades de estado sólido o SSD
  • Las unidades de disco duro híbrido o SSHD
  • Las unidades de lectura de disco (CD, DVD, Blue Ray, disquetes, etcétera)
  • La memoria RAM
  • Los ventiladores
  • El sistema de refrigeración líquida
  • El chipset o circuito integrado auxiliar
  • Las tarjetas de expansión de audio, vídeo o red
  • El módem
  • La fuente de alimentación
  • La tarjeta gráfica o GPU
  • Puertos, enchufes y conectores

En cuanto al hardware externo, algunos de los componentes que cabe destacar son:

  • Los monitores y pantallas auxiliares
  • Los joysticks, mandos de control para videojuegos o gamepads, y paneles de control físicos
  • El teclado
  • El ratón o mouse
  • Los auriculares, headsets y altavoces
  • El micrófono
  • La cámara web
  • La impresora, el escáner y el fax
  • Los discos duros externos y pendrives USB
  • El proyector
  • El touchpad y la tableta digitalizadora o tableta gráfica
  • El casco de realidad virtual o VR headset
  • Aparatos especializados como lectores de códigos de barras, sensores y similares

En algunas ocasiones estos dos grupos se conocen con el nombre de sistemas de la computadora y periféricos de la computadora.

Otra posible clasificación atiende a la importancia del componente de hardware para lograr el funcionamiento básico del ordenador. En este caso se habla de hardware principal y hardware complementario.

Dentro del hardware principal se encuentran todos aquellos elementos constituyentes que resultan absolutamente indispensables; a saber: CPU, chipset, SSD (o HDD en su defecto), memoria RAM, fuente de alimentación, caja del ordenador, monitor, teclado y ratón. El resto de aparatos serían complementarios, aunque dependiendo de la aplicación y de las circunstancias en las que se use el ordenador, podría erigirse un buen argumento para que alguna de las piezas no listadas entrase en la categoría de hardware principal (caso de los ventiladores, la NIC o la GPU).

Existe otra posible clasificación que se basa en el cometido de los componentes. Así, todos los elementos de hardware previamente listados se pueden incorporar a alguna de las categorías que se hacen constar a continuación:

  • Elementos de procesamiento: son los encargados de recibir las instrucciones eléctricas, interpretarlas mediante cálculos y lógica, y emitir nuevas señales eléctricas en consonancia.
  • Elementos de almacenamiento: son dispositivos capaces de acumular información de forma electromagnética o lógica para usarla según lo necesite el sistema informático.
  • Dispositivos de entrada: son periféricos que transforman los comandos del usuario en señales eléctricas interpretables por la máquina.
  • Dispositivos de salida: son periféricos que transforman las señales eléctricas emitidas por los elementos de procesamiento para presentarlas de tal forma que el usuario las pueda interpretar fácilmente.
  • Dispositivos de entrada y salida: son periféricos mixtos que aúnan las particularidades tanto de los dispositivos E (de entrada) como el de los dispositivos S (de salida), cerrando un ciclo de intercambio de información con la CPU.

Los elementos que se usen para montar el ordenador y, especialmente, la forma en la que estos se instalen, tienen un efecto determinante sobre el tipo de ordenador resultante. Así, el uso de piezas ligeras con factores de forma pequeños, todas ellas integradas de forma muy compacta dan lugar a portátiles y netbooks; mientras que componentes más voluminosos, potentes, modulares y diseñados deliberadamente para su montaje en caja o bastidor resultan en ordenadores de sobremesa.

Definición de software y principales tipos

Hardware y software

El software es la parte inmaterial del ordenador que permite que los diferentes componentes de hardware funcionen. Se trata de un conjunto de instrucciones, datos o programas que ejecutan tareas concretas dentro del sistema informático. En algunas ocasiones se refiere al software como la parte variable del ordenador, los estados que puede adoptar la máquina y las señales que fuerzan dichos estados.

Dentro del software informático encontramos aplicaciones, programas, sistemas operativos y muchas otras tipologías. Para otorgar cierto orden a todo este conjunto por lo general se usan tres divisiones: software de sistema, software de programación y software de aplicación.

El software de sistema es la plataforma sobre la que se asienta el hardware y las aplicaciones informáticas. Este tipo de programa informático está escrito con un lenguaje de programación de características de bajo nivel o de primera generación; esto es, un lenguaje cuyas instrucciones controlan sin intermediarios el hardware como es el caso en el lenguaje de máquina y los lenguajes ensambladores.

El sistema operativo de un equipo informático es un claro ejemplo de software de sistema. El usuario no opera directamente la OS, sino que interactúa con la interfaz gráfica de usuario o GUI proporcionada por este y mediante las aplicaciones instaladas sobre el sistema operativo.

Aparte de los sistemas operativos, dentro del software de sistema también se encuentran las siguientes clases de programas:

  • Antivirus
  • Utilidades de control de disco (herramientas de formateo y similares)
  • Controladores de hardware o drivers
  • Traductores de lenguajes informáticos
  • Cargadores de programas
  • Algunas BIOS y UEFI
  • Gestores de arranque o bootloaders
  • Hipervisores

Por otra parte, el software de aplicación, software utilitario para usuario final o apps (denominación generalista que comienza a coger tracción últimamente debido a la tecnología móvil), son todos aquellos programas que ejecutan tareas concretas para las que han sido desarrollados específicamente.

Finalmente, el software de programación permite al usuario desarrollar sus propias herramientas a través de un lenguaje más cercano al humano. Dentro de este apartado se encontrarían herramientas como lenguajes de programación, compiladores, herramientas de debugging o depurado y similares.

Dado que hay mil y una aplicaciones posibles para el software, es difícil establecer una clasificación robusta y libre de interpretaciones según su utilidad. La taxonomía de los programas informáticos es un problema suficientemente complejo como para que en 2007 Microsoft se pusiese manos a la obra para crear un listado organizado de los mismos.

Desde entonces se ha sucedido una taxonomía detrás de otra; a continuación presentamos de forma resumida (sin definiciones) la empleada por la International Data Corporation (IDC) en 2018, redactada por Rasmus Andsberg y Dan Vesset:

  1. Aplicaciones de mercado
    • Aplicaciones colaborativas
      • Aplicaciones de conferencia
        • Aplicaciones de conferencia vía web
      • Aplicaciones de correo electrónico
      • Redes sociales para empresas
      • Aplicaciones para equipos de trabajo
    • Aplicaciones de planificación y gestión de trabajos
      • Aplicaciones de gestión de contenido empresarial
      • Aplicaciones de publicación y autoría
      • Aplicaciones de gestión de contenido persuasivo
      • Aplicaciones de localización electrónica
      • Portales empresariales
      • Aplicaciones de colaboración y contenidos compartidos
    • Aplicaciones de gestión de recursos empresariales
      • Aplicaciones financieras
        • Aplicaciones de financiamiento y contabilidad
        • Aplicaciones de gestión de riesgos y tesorería
        • Aplicaciones de gestión de viajes y gastos
        • Aplicación de impuestos corporativos
      • Aplicaciones de gestión de recursos humanos
        • Aplicaciones centrales de recursos humanos
        • Aplicaciones para contratación
        • Aplicaciones de gestión de compensaciones
        • Aplicaciones de gestión del rendimiento de plantilla
        • Aplicaciones de gestión de formación
        • Aplicaciones de gestión de plantilla
      • Aplicaciones de gestión de pagos
      • Aplicaciones de negociación
      • Aplicaciones de gestión de pedidos
      • Aplicaciones de gestión de rendimiento empresarial
      • Aplicaciones de gestión de proyectos y portafolios
    • Aplicaciones de gestión de la cadena de aprovisionamiento
      • Aplicaciones logísticas
      • Aplicaciones de planificación de la producción
      • Aplicaciones de gestión de inventarios
    • Aplicaciones de producción y operaciones
      • Aplicaciones de gestión de redes de producción
      • Aplicaciones de operaciones del sector público e industria de servicios
      • Otras aplicaciones de operaciones
    • Aplicaciones de ingeniería
      • Aplicaciones de diseño asistido por ordenador
      • Aplicaciones de ingeniería asistida por ordenador
      • Aplicaciones de fabricación asistida por ordenador
      • Aplicaciones de gestión colaborativa de datos sobre productos
      • Otras aplicaciones de ingeniería
    • Aplicaciones de gestión de relaciones clientelares
      • Aplicaciones de gestión y productividad de ventas
      • Aplicaciones de gestión de campañas de marketing
      • Aplicaciones de atención al cliente
      • Aplicaciones concentradoras de comunicaciones
      • Aplicaciones de comercio digital
  1. Aplicaciones para desarrollo y presentación en mercado
    • Software de análisis e inteligencia artificial
      • Software de análisis, reporte y petición al usuario final
      • Herramientas analíticas predictivas y avanzadas
      • Plataformas de software con IA
      • Herramientas de búsqueda y análisis de contenidos
    • Software de gestión de información
      • Sistemas de gestión de bases de datos relacionales
      • Sistemas de gestión de bases de datos no relacionales
        • Sistemas de gestión de bases de datos de usuarios finales
        • Sistemas de gestión de bases de datos navegacionales
        • Sistemas de gestión de bases de datos orientadas a objetos
        • Sistemas de gestión de bases de datos con múltiples valores
      • Sistemas de gestión de datos dinámicos
        • Sistemas de bases de datos orientadas a documentos
        • Sistemas de bases de datos accesibles por clave
        • Sistemas de gestión de bases de datos con representación gráfica
        • Gestores de recopilación de datos escalables
        • Productos de visualización, análisis y gestión de datos según tipo
      • Herramientas de gestión y desarrollo de bases de datos
        • Herramientas de administración de bases de datos
        • Herramientas de replicación de bases de datos
        • Herramientas de modelado de datos
        • Herramientas de archivado y gestión del ciclo de vida de la información para base de datos
        • Herramientas de optimización y desarrollo de bases de datos
        • Herramientas de seguridad para bases de datos
      • Gestores de datos distribuidos en red
      • Software de integridad e integración de datos
        • Software de volcado de grandes volúmenes de datos
        • Software de volcado de datos dinámicos
        • Software de calidad de datos
        • Software de infraestructura para el acceso de datos
        • Software de espacio de trabajo para datos compuestos
        • Software de control y definición de datos maestros
        • Software de gestión de metadatos
        • Software de preparación de autoservicio de datos
      • Gestores de información espacial
    • Software de orquestación e integración
      • Middleware B2B
        • Middleware de entrada B2B
        • Servicios de gestión B2B y redes B2B
      • Software de integración
        • Software de gestión API
        • Plataformas de integración
        • Software plug-in y adaptadores de conectividad
      • Middleware activado por eventos
        • Middleware orientado a mensajes
        • Software para retransmisión de analíticas
        • Software de funciones
      • Gestor de transferencia de archivos
    • Software de desarrollo de aplicaciones
      • Herramientas, entornos y lenguas de desarrollo
      • Componentes constructivos de software
      • Sistemas de gestión de normas empresariales
      • Herramientas de modelado y arquitectura
        • Herramientas de modelado de objetos
        • Herramientas de modelado de procesos empresariales
        • Herramientas de arquitectura empresarial
      • Herramientas de ciclo de vida y calidad del software
        • Herramientas automatizadas de calidad de software
        • Gestión de configuración y cambios de software
      • Plataformas de aplicación
        • Plataformas de aplicación orientadas a presentación
          • Plataformas de aplicación de software de servidor
          • Plataformas de aplicación en la nube orientadas a presentación
        • Plataformas de aplicación motivadas por modelo
        • Monitorización de transacciones
        • Software de automatización de tareas robóticas
  1. Software de infraestructura de sistemas
    • Software de gestión de sistema y servicios
      • Gestores de operaciones IT
      • Gestores de configuración y automatización IT
        • Gestores de carga de trabajo
        • Controladores de aplicaciones y centro de datos del sistema
      • Gestores del servicio IT
    • Software de red
      • Software de infraestructura de red
        • Software de entrega de aplicaciones de red
        • Software controlador de SDN y visualización de red
      • Software de gestión de red
    • Software de seguridad
      • Software de certificación digital e identidad
      • Software de seguridad de punto final
      • Software de seguridad para mensajes
      • Software de seguridad de red
      • Herramientas de seguridad e inspección de contenido web
      • Herramientas de orquestación, respuesta, inteligencia y análisis de seguridad
      • Otros programas de seguridad
    • Software de almacenamiento
      • Software de replicación y protección de datos
        • Software de protección de datos
        • Software de reporte, recuperación y respaldo
        • Software de replicación de almacenamiento
        • Software de replicación basado en hipervisor o host
        • Software de migración de sistemas y datos
        • Software de replicación basado en aplicaciones y marcos de interfaz de programación Fabric
        • Software de replicación matriciales
        • Software de gestión de replicación
      • Software de archivado
        • Software de archivado de correos electrónicos
        • Software de archivado de ficheros y similares
      • Software de gestión de almacenamiento y dispositivos
        • Software de gestión de SRM y SAN heterogéneos
        • Software de gestión de SRM y SAN homogéneos
        • Software de gestión de dispositivos de almacenamiento
        • Otros programas de gestión de almacenamiento
      • Software de infraestructura de almacenamiento
        • Software de federación y virtualización
        • Software de gestión de volúmenes y sistemas de archivos basados en el host
        • Software de gestión de rutas y accesos al almacenamiento
        • Software de jerarquización automatizada del almacenamiento
        • Software de aceleración del almacenamiento
      • Controladores de almacenamiento definidos por software
        • Controladores de almacenamiento definidos por software basado en bloques
        • Controladores de almacenamiento definidos por software basado en archivos
        • Controladores de almacenamiento definidos por software basado en objetos
        • Controladores de almacenamiento definidos por software hiperconvergente
      • Gestión de punto final
        • Herramientas de gestión de salida
          • Gestores de dispositivos
          • Gestores de impresión
          • Gestores de salida empresarial
        • Gestores de punto final del cliente
      • Software de computación virtual y física
        • Sistemas y subsistemas operativos
          • Núcleos de los sistemas operativos
          • Clientes de los sistemas operativos
          • Sistemas operativos industriales embebidos
        • Herramientas de computación definidas por software
          • Máquinas virtuales
          • Contenedores de infraestructura
          • Sistemas en la nube
        • Clientes para computación virtual
        • Otros programas de computación

Sin embargo esta gargantuesca clasificación está orientada a especialistas en el segmento de mercado dedicado al desarrollo de software que necesitan tener un control exhaustivo y absoluto sobre su catalogación. Para aplicaciones a nivel de usuario, la siguiente clasificación hiperreducida puede ser más explicativa:

  • Procesadores de texto
  • Gestores de bases de datos
  • Gestores de hojas de cálculo
  • Reproductores multimedia
  • Gestores de presentaciones
  • Sistemas de gestión de relaciones clientelares
  • Software de planificación y gestión de recursos
  • Programas educativos
  • Simuladores
  • Exploradores de contenido
  • Herramientas de diseño asistido por ordenador (CAD)
  • Software de control
  • Gestores de comunicaciones

Otra posible clasificación del software se refiere a la forma en la que este se entrega al público. Atendiendo a esta característica podemos diferenciar los siguientes segmentos:

  • Shareware. Se refiere a los programas distribuidos en calidad de demostración; es decir, su uso el gratuito durante un periodo de prueba, al término de este es necesario adquirir una licencia para continuar usando el software. Hay una clara intencionalidad de venta, pues.
  • Liteware. En este caso hablamos de una variedad de shareware en la que el programa completo está deshabilitado hasta que se realiza la adquisición por parte del usuario, pero las funcionalidades básicas del software están disponibles sin necesidad de pagar.
  • Freeware. Se trata de software que se puede usar de forma totalmente gratuita, sin embargo su distribución está sujeta a derechos de autor, licencias de distribución o protecciones comerciales.
  • Public Domain Software o programas de dominio público. Es la evolución lógica del freeware, además de resultar gratuitos para el usuario, no hay ninguna restricción sobre su distribución.
  • Open Source Software o programas de código abierto. Además de gratuitos y de libre distribución, los bloques de código que conforman este tipo de programas son públicos y su modificación queda a juicio de la comunidad de usuarios.

La terminación –ware, claramente asociada a la palabra software, se reconoce a menudo en varios grupos de programas cuyo fin tiene un efecto adverso sobre la experiencia de usuario. Resumimos a continuación los tipos más comunes de software malicioso que emplean esta terminación:

  • Malware. Se habla de malware al definir cualquier programa que tiene una intención maliciosa. Es un término generalista.
  • Spyware. Este tipo de malware está especializado en recopilar información sobre el equipo informático en el que se haya instalado desadvertidamente y sobre su usuario. Algunos de los objetivos de este tipo de programas son las costumbres de navegación, la información confidencial o las credenciales de acceso.
  • Adware. Hablamos de adware en el caso de que el malware esté diseñado para forzar anuncios de forma constante y habitual al usuario. Los desarrolladores de adware pueden salir beneficiados a través de la publicidad o mediante las propias ventas generadas.
  • Ransomware. Son programas que bloquean el funcionamiento del ordenador mientras no se pague un rescate. Se puede describir como un chantaje informático. En tiempos recientes el caso más mediático de ransomware ha sido WannaCry. La existencia de este tipo de software es suficiente justificación para mantener copias de seguridad redundantes de nuestros preciados archivos.
  • Bloatware. Se trata de programas innecesarios que se instalan durante la descarga de otro software. Dado que el usuario no requiere su uso, el código yace en las unidades de disco ocupando memoria. El desperdicio de espacio en memoria, junto con su instalación indeseada e inutilidad, son las características que lo validan como software

Al listado de software malicioso hay que añadir todo un abanico de virus informáticos: troyanos, gusanos, bombas lógicas, recyclers, hoaxes y otros.

El último software especial que vamos a introducir al lector es el middleware. También se conoce como lógica de intercambio de información entre aplicaciones, denominación que se justa mejor a la labor que desempeña: servir como puente entre cualquier par de aplicaciones, paquetes de programas, OS, componente de hardware o redes.

Un software de calidad es aquel que cumple con su funcionalidad, dispone de procedimientos de instalación sencillos, resulta previsible, su diseño prioriza la usabilidad y es extensible. La iteración de versiones que criben los errores de funcionamiento (bugs y glitches) y la certificación también aportan seguridad. Sin embargo, estas características no siempre son tan habituales en el mundo del software, ya que se trata de herramientas tremendamente complejas al nivel más básico.

Una fusión entre el hardware y el software: el firmware

El firmware es un punto de encuentro entre el hardware y el software en el sentido de que incluso tratándose de líneas de código, datos e instrucciones intangibles, estas están estrictamente ligadas a un componente de hardware. Así, la mutabilidad inherente al software se pierde aquí, por eso en algunas ocasiones el firmware es referido como soporte lógico inalterable.

Algunos ejemplos de firmware son ciertas variedades de BIOS y UEFI, los RTAS (servicios de abstracción de tiempo de ejecución), los CFE (entornos comunes de firmware) y algunas otras tecnologías usadas en ordenadores específicos, routers, firewalls y NAS.

Cuadro de diferencias entre hardware y software

HARDWARE SOFTWARE
Definición Componentes físicos del sistema informático Conjunto de instrucciones y datos
Función Interacción con el usuario y computación Transmisión de información y órdenes entre el hardware
Naturaleza Física Lógica
Creación En factoría con materiales físicos Mediante código en entornos de programación
Interdependencia Requiere la instalación de software para funcionar Requieren ser instalados sobre el hardware para funcionar
Durabilidad Sometidos a desgaste por uso Inalterados por el uso o el paso del tiempo
Motivo de fallo Fallos aleatorios de fabricación o sobreesfuerzos Fallos sistemáticos de diseño
Seguridad Susceptible a backdoors introducidas en fabricación Vulnerable a ataques informáticos diversos
Reparación Requiere sustitución del componente Basta con reinstalar el software dañado

Con esto terminamos nuestro artículo sobre las diferencias de hardware y software. Un buen punto de partida para conocer sus definiciones y tener claras sus similitudes.

Alejandro A. Lázaro

Ingeniero Industrial, escritor y traductor. Cuando sus manos no bailan sobre el teclado, empuñan un cazamariposas en algún valle recóndito. Propietario de Geometra Conservancy, iniciativa verde para la conservación de la naturaleza y protección de la biodiversidad. Sus contribuciones escritas versan sobre innovaciones tecnológicas, mercadotecnia digital, gastronomía, sostenibilidad y biodiversidad.
Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar Política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en [email protected]
Botón volver arriba