¿Cuál es la conexión entre hardware y software en las computadoras? ¿Qué los hace en armonía para interactuar entre ellos? ¿Qué interactúa con qué?

Muchas preguntas aquí … comencemos con la primera: conexión entre HW / SW y cómo interactúan.

De manera muy simple: la CPU (unidad central de procesamiento) traduce el software en “acciones” que realiza el hardware y decide qué parte del software mirar a continuación debido a las señales enviadas desde otro hardware, resultados de sus cálculos anteriores, software instrucciones, etc.

Para obtener una imagen más clara, es posible que le sirva comprender cuáles son. Por ejemplo, el hardware es el “material” físico dentro de una computadora y los dispositivos periféricos (por ejemplo, la impresora) conectados a ella (es decir, todos esos cables, chips, placas de circuito, interruptores, conectores, etc.).

El software son las señales eléctricas (un conjunto de señales de encendido / apagado) que le indican a esos dispositivos qué se debe hacer cuando. En general, estas cosas se denominan programas, ya que “programan” el hardware para que comprenda cuál es su propósito. Por lo general, estos se “guardan” para su posterior reutilización en lugar de tener que hacerlos desde cero cada vez. Para guardar estos, se utiliza algún otro hardware, por ejemplo, un disco duro que los guarda (y luego puede recuperarlos) como manchas en un recubrimiento magnético.

HW / OS: El hardware sigue siendo el mismo, un SO (sistema operativo) es una pieza de software que facilita la ejecución de otro software en lugar de que cada “programa” tenga que hacer referencia directa a cada elemento del hardware.

OS / SW: el sistema operativo es software. Es solo una pieza de software capaz de organizar otro software para que se ejecute en el hardware. Mantiene todo bajo control, tratando de evitar que un SW interfiera con otro, brindando a otro SW una forma consistente de interactuar con HW y entre sí en lugar de necesitar que cada conexión sea diferente.

SW / Internet: señales (conjuntos de pulsos eléctricos de encendido / apagado) enviadas a través de un cable / radio / etc. utilizando el dispositivo de hardware llamado NIC (tarjeta de interfaz de red) y luego leyendo e interpretando esas señales en el otro extremo. Internet es solo una “red” entretejida de estas conexiones con un conjunto de protocolos prediseñados que indican lo que significan ciertos conjuntos de señales. Internet generalmente usa IP (Protocolo de Internet) y TCP (Protocolo de Control de Transmisión) que mantiene estas señales organizadas al indicar desde dónde y hacia dónde, en qué orden, con qué propósito, qué se debe hacer, qué respuesta se requiere, etc.

Navegador / Internet: el navegador es simplemente un programa de software especializado en un tipo particular de tráfico de Internet llamado http (Protocolo de transferencia de hipertexto). HTTP es un conjunto de señales en un formato que los hace interpretables como una página web con texto, imágenes, sonido, video y conjuntos adicionales de instrucciones (es decir, “software” dentro de esa página). Por lo general, el formato en esto es HTML.

Internet / Nube virtual: la nube se refiere a otra computadora (o más de una o computadoras “virtuales” dentro de una o más computadoras “reales”) que hacen cosas por usted. Guardando datos o calculando algún resultado. Internet es simplemente una forma para que dicha computadora envíe / reciba señales (impulsos eléctricos que constituyen los datos / instrucciones) hacia y desde su propia computadora. Lo mismo se aplica a cualesquiera dos (o más) computadoras que interactúan entre sí al pasar tales señales a través de cualquier conexión, por ejemplo, una red local (LAN) o radio (WiFi). La nube es solo una nueva “palabra de moda” para la misma edad que siempre se usó para los servidores que brindan “servicios” a clientes y / o terminales tontos, generalmente significa que se especializa en enviar estas señales a través de la red global denominada Internet.

HW / HW: dos dispositivos físicos conectados entre sí por algún medio, o incluso más de dos dispositivos. Esto se puede hacer en cualquier tipo de transferencia de señal, por ejemplo, pulsos eléctricos a lo largo de un cable o señales de radio, etc. Cada una de estas conexiones puede tener protocolos diseñados que indiquen cómo se deben formatear estas señales para que sean comprensibles en lugar de simplemente ilegibles. Por ejemplo, el cable LAN entre dos computadoras envía señales entre sí cuando copia un archivo de una a otra.

Contestar todas estas preguntas más a fondo llevaría varios años, responderlas exhaustivamente probablemente llevaría varias vidas. Es por eso que obtienes cursos universitarios en CS (Ciencias de la Computación). Eso es exactamente en lo que CS se enfoca, estas interacciones entre HW / SW / OS / Network / etc. y cómo estos interactúan con el entorno físico (usuarios, ocurrencias, fenómenos, etc.). Si realmente quiere saber todas estas cosas correctamente, debería pensar en hacer un curso de informática.

Te daré el TL; dr respuesta:

Para que HW se considere más que solo silicona y metal, necesita algo que pueda agrupar los componentes y hacerlos comprensibles para SW, este componente se llama Kernel. Se encarga de enumerar todos los HW y catalogarlos de la forma en que el sistema operativo lo espera. Así es como Windows puede ejecutarse en miles de modelos de computadora diferentes sin esfuerzo, porque los fabricantes han proporcionado un núcleo para manejar la tarea

En lugar de responder cada parte de su pregunta, voy a dar una perspectiva más general.

En todos los casos que mencionó, cada componente interactúa con otro a través de algunas funcionalidades que expone.

Por ejemplo, el hardware expone operaciones tales como escribir en la memoria, hacer cálculos aritméticos, etc., que el kernel usa para exponer funcionalidades más complejas al sistema operativo, como el acceso al almacenamiento de datos, la red, etc. El sistema operativo a su vez expone otro tipo de funcionalidades a los programadores, y así sucesivamente.

En todos los niveles, el entorno se vuelve más abstracto de la electrónica del hardware cada día más amigable para los humanos.