lunes, 1 de marzo de 2021

Hardware y Software

 

Un ordenador debe su funcionamiento a dos elementos básicos, el hardware y el software, esenciales para el desarrollo de un trabajo preciso y eficaz. Estos son, gracias a su complementariedad, los encargados de todas las tareas que se desempeñan en el equipo. Pero, ¿qué significa hardware? ¿Y software?



¿Qué es el hardware?

El hardware hace referencia a todos los componentes materiales y físicos de un dispositivo, es decir, aquellos que se pueden ver y tocar. El monitor, el ratón, la CPU, el teclado o la memoria RAM son algunos ejemplos de aquellas partes que, en su conjunto, forman el hardware. Este término tiene su origen etimológico en el inglés, donde “hard” significa “duro” y “ware”, “cosas”, por lo que se podría definir incluso como “las partes duras de una computadora”. Se distinguen dos tipos:

Interno: se encuentra dentro de la torre del ordenador, como los cables, los circuitos, la unidad central de procesamiento o los dispositivos de almacenamiento.

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



Periféricos: están situados en el exterior de la torre del ordenador. Entre ellos tenemos los periféricos de entrada, que dan información al sistema, como el ratón o el teclado; los periféricos de salida, que muestran las operaciones realizadas en el ordenador, como por ejemplo el monitor o la impresora; y los periféricos de entrada-salida, que realizan las dos funciones anteriores, como los USB.

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

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.

 

Entre todos estos componentes, el hardware se divide en básico, para referirse a aquellos dispositivos que son imprescindibles para el funcionamiento del equipo, como la placa base, el teclado, la CPU, la memoria RAM o el monitor; y en complementario, que desarrolla funciones adicionales concretas, como es el caso de las impresoras o los pendrives.

 

En los últimos tiempos, además, está cobrando fuerza el concepto de hardware libre. Éste término se emplea para definir a los componentes del hardware cuyos diseños y esquemas son accesibles para todo el mundo, ya sea gratis o mediante algún tipo de pago. Sin embargo, ésta es todavía una idea que genera confusión hasta en los autores que tratan de definirla.

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.

Ejemplos de dispositivos de entrada y salida

Algunos ejemplos sencillos de dispositivos de E/S son los siguientes:

 

Impresoras multifuncionales. Estuvieron muy de moda a principios de la década del 2000, y permitían tanto imprimir documentos (salida), como escanearlos (entrada). E incluso tenían función de fotocopiado (entrada/salida).

Pantallas táctiles. Como la que posee nuestro teléfono móvil, en la que podemos ver la información que el sistema emite para nosotros (salida) y al mismo tiempo ingresarle información presionándola con nuestros dedos (entrada).

Dispositivos de redes. Módems y tarjetas de red son dispositivos que permiten conectar nuestro sistema a redes informáticas más vastas, de las que puede extraer o descargar información (entrada) o bien puede enviarla (salida), como cuando añadimos una foto a un correo electrónico.

Cascos de Realidad Virtual. Estos aparatos se colocan en la cabeza para simular una presencia real en un entorno virtual, emitiendo un mundo virtual en los visores dispuestos delante de nuestros ojos (salida) y recibiendo respuestas de nuestro comportamiento al mover la cabeza (entrada) en un proceso de retroalimentación que puede verse perfectamente en los videojuegos.

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.

 

¿Qué es el software?

El software es la parte digital del ordenador, es decir, el conjunto de instrucciones, programas y reglas informáticas que el equipo requiere para funcionar. No tiene, por consiguiente, una existencia física, sino que es intangible e inmaterial, como los programas para el procesamiento de textos o el sistema operativo. Este término fue acuñado por el matemático John Wilder Tukey en 1958 para referirse a los programas que hacían trabajar a las calculadoras electrónicas. El software se clasifica en:

 

Software de sistema: conjunto de programas que permiten al usuario comunicarse con el sistema en sí. Son los sistemas operativos, los controladores de dispositivos y los programas utilitarios para el mantenimiento de la computadora.

Software de aplicación: programas diseñados para que el usuario desarrolle una tarea específica, como escribir. Los procesadores de texto, las hojas de cálculo, el antivirus o el reproductor de películas son algunos ejemplos.

Software de programación: herramientas empleadas por el informático para escribir nuevos programas gracias a un lenguaje específico.

Finalmente, cabe destacar que, aquí sí, el concepto de software libre está más asentado que en el caso del hardware. Esta definición se refiere a las posibilidades que tiene el usuario de ejecutar, copiar, distribuir, estudiar y cambiar el software, tanto gratis como mediante el pago de una determinada cantidad.

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.

Una lista de algunos ejemplos 

 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 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 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

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 entrega de aplicaciones de red

Software de seguridad

Software de certificación digital e identidad

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

Esta  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  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.

 

¿En qué se diferencian el hardware y el software?

Estos dos elementos básicos de una computadora se retroalimentan. Es decir, ambos se dan instrucciones para el desempeño de tareas y, sin uno de ellos, no sería posible el funcionamiento de un ordenador. Sin embargo, pese a esta complementariedad, su diferencia es más que patente, ya que mientras el hardware se puede ver y tocar, el software responde a elementos digitales y, por tanto, intangibles, que carecen de una forma física.

 

Fuentes

https://softwarelab.org

https://www.profesionalreview.com