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.
Índice de contenidos
Definición de hardware, principales tipos y componentes
Definición de software y principales tipos
Una fusión entre el hardware y el software: el firmware
Cuadro de diferencias entre hardware y software
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
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
o 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
o 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
o 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
o 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
o 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
o 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
o 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
2. Aplicaciones para desarrollo y presentación en mercado
o 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
o 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
o 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
o 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
3. Software de infraestructura de sistemas
o 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
o 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
o 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
o 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
Componentes físicos del Conjunto de
Definición
sistema informático instrucciones y datos
Transmisión de
Interacción con el
Función información y órdenes
usuario y computación
entre el hardware
Naturaleza Física Lógica
Mediante código en
En factoría con
Creación entornos de
materiales físicos
programación
Requiere la instalación Requieren ser instalados
Interdependencia de software para sobre el hardware para
funcionar funcionar
Sometidos a desgaste Inalterados por el uso o
Durabilidad
por uso el paso del tiempo
Fallos aleatorios de
Fallos sistemáticos de
Motivo de fallo fabricación o
diseño
sobreesfuerzos
Susceptible
Vulnerable a ataques
Seguridad a backdoors introducida
informáticos diversos
s en fabricación
Requiere sustitución del Basta con reinstalar
Reparación
componente 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.