¿Cómo funcionan juntos el hardware y el software de la computadora?

¿Como trabajan juntos?
Contestaré esta pregunta específicamente. JUNTOS. Y no “cómo funciona el software”, “cómo funciona o se inicia el sistema operativo”. o “¿CÓMO FUNCIONAN LAS COMPUTADORAS?” etc.

Es una buena pregunta Ahora aprende como un niño curioso.

El hardware es maquinaria. Que puedes tocar.
Motores, LED, luces, detector de movimiento, etc.
No lo confunda con “dispositivos” de entrada / salida. Los dispositivos de E / S vienen bajo hardware. El hardware es tangible. Período. Y en esta era moderna, ¿qué controla la mayoría de las innovaciones?
Electricidad. La electricidad funciona con ventiladores (motores), LED y lo que no.

Entonces, ¿cómo puedes controlar el hardware? ¿Cómo puede controlar el funcionamiento de los ventiladores y LED, etc.?
Mediante el control de la electricidad.
Si proporciona electricidad, las cosas se encenderán. Si no lo haces, las cosas se apagan.
Si proporciona corriente de alto voltaje, las cosas funcionarán rápido. Y completa la serie. Las cosas se comportarán de manera diferente cuando se les den diferentes corrientes.

Eso es lo que hace el software. Proporciona instrucciones. en el más básico de los términos básicos, proporciona el orden de los impulsos eléctricos que se aplicarán a los hardwares para encenderlos / apagarlos en los momentos deseados que se pueden usar para presentar información al usuario.
1- ENCENDIDO- aplicaré un impulso eléctrico
0-OFF- no lo haré.

¿PERO?
¿ME GUSTA?
¿CÓMO?

Mientras mira la pantalla del monitor. Ves el texto ¿Cómo se genera?
La pantalla es el dispositivo. Es (es y) tiene hardware. Tiene una variedad de LED. La luz emite diodos. La propiedad del LED es que emitirá diferentes colores cuando se exponga a diferentes voltajes de electricidad.
El software (para que la pantalla funcione) tomará el “texto que se mostrará” en forma de entrada y generará los impulsos eléctricos necesarios para que cada píxel “ilumine” los píxeles que se supone que tienen texto. con un poco de color, y dejar el resto del fondo iluminado con otro color, formando la “ilusión” o “percepción” del texto para el usuario.

Así es como el hardware y el software trabajan juntos. ¿SIMPLE?

No tome el proceso como simple. En el medio,
Hay complicaciones

1. El software en sí no proporciona instrucciones de ENCENDIDO / APAGADO codificadas en binario. Proporciona entrada y salida en los términos que un programador puede entender y manipular eficientemente. Está codificado en lenguaje de alto nivel. Como C, C ++, etc. Y luego se convierte en lenguaje de máquina. es decir. simplemente 0 y 1 por otra pieza de programas y softwares. Que nuevamente tiene muchos procesos intermedios. TLDR; Muy complejo.

2. Existen softwares que sirven a otros softwares y programas y parches de softwares, cada uno como un departamento de cualquier empresa, asignado a una tarea.
Pueden garantizar que se cumplan las condiciones necesarias para que ese software funcione. Como si la entrada es correcta, no hay error, etc.

3. Los componentes básicos de los softwares se denominan programas. Y hay literalmente millones de tales procesos ejecutándose simultáneamente. ¿Cómo lo lograrás? ¿Qué pasa si entran en conflicto? ¡La computadora solo obtiene 0 o 1! ¡Tienes que escribir software para eso también!

4. Luego está el GRAN PAPÁ de los softwares. El sistema operativo (OS). Mega software, hecho de muchos softwares, solía ejecutar software, que es tan complejo que conforma una compañía como Microsoft, Google y Apple. El sistema operativo es como el CEO. Gestionando todo. Realizar un seguimiento de todos los hardwares conectados al chip principal, el tipo de instrucciones que necesitan. Los softwares. Iniciando la computadora. Cerrando todos los procesos. Interfaz entre hardware y software, etc. Se cae, la empresa sufre.

Este (El SO) es el software que controla todos los softwares que residen y que a su vez manejan el hardware.
Esto responde a tu pregunta. Así es como el hardware de la computadora y el software de la computadora funcionan JUNTOS.

Luego hay problemas como el almacenamiento del software (¿se puede almacenar la lógica?).
Ans) Unidad de memoria. RAM, ROM, etc.

¿Cómo se “implementa” un software?
Ans) CHIPS. Las cosas verdes. Imagine una malla de conectores. Puede conectar el punto A al punto B, que posiblemente puede estar en cualquier parte de la computadora. Eso es facilitado por chips. Es capaz de conectar todas las permutaciones y combinaciones de A y B. Lo que importa es qué conexión, qué circuito de los millones, tendrá que usar para transmitir sus impulsos. Las instrucciones residen en la memoria. Debe asignar la Memoria (A) a su destino (B) – Hardware / Software / Otro elemento de memoria. Es decir. conecte A y B para que pueda fluir la corriente deseada.

Funciones de HARDWARE que ahora se pueden simplificar con la participación de los conceptos de SOFTWARE.
… Todo lo que ves en tu pantalla es el encendido o apagado del píxel.
… Cada cosa que escribe en el teclado es en realidad una tecla que completa su circuito. Electricidad por intervalos.
… Todos y cada uno de los movimientos del mouse, envía una señal de movimiento a un receptor, que lo convierte en señal eléctrica. movimiento horizontal del mouse
Movimiento en dirección X- SÍ- ¡Así que la electricidad está encendida!
Movimiento en dirección Y- NO- ¡Así que la electricidad está apagada!
Este impulso va a la pantalla, indirectamente (involucrando muchos procesos intermedios) y enciende los píxeles de una manera que nos da la ilusión de que se mueve un “puntero” del mouse.
… Todos y cada uno … está bien, está bien. Se volverá más complejo. Me detendré
Todas las funciones anteriores ^ son posibles tanto por software como por hardware.

Esto es lo que dirige el mundo.

Hay una respuesta simple a esto y una respuesta muy compleja. Intentaré seguir con lo simple, ya que no soy un experto total, y es más fácil suponer que tú tampoco (o no estarías preguntando).

Hardware: esto es lo que puedes tocar. Es duro y pesado.

Software: esto es lo que no puedes tocar. Técnicamente, en realidad es solo un montón de puntos magnetizados / desmagnetizados en un medio, o un conjunto de interruptores muy pequeños abiertos o cerrados en un chip de memoria.

Pongamos esto en un ejemplo muy simple. Montando una bici.

La bicicleta y tu cuerpo son el hardware. El conocimiento de cómo andar en bicicleta y dónde quiere ir es el software. La cadena y los pedales mueven las ruedas, el manillar se dirige y el cuerpo proporciona la fuerza motriz y el ajuste fino para la navegación. Pero la cabeza tiene la información que le indica al cuerpo cómo pedalear y maniobrar, al tiempo que proporciona el mapa que navega hacia su destino. Sin su cerebro, la bicicleta es solo una pieza de metal y goma que no hace nada.

Ahora pasaremos a un poco más de detalle.

Su computadora es realmente solo un montón de maquinaria. Motores, interruptores y dispositivos de almacenamiento. Algunos de estos son MUY pequeños, con millones de interruptores y microcircuitos integrados.

Cuando enciende su computadora, es como un bebé que no tiene absolutamente ningún conocimiento. Debe recibir instrucciones cada vez que lo inicie.

El primer conjunto de instrucciones está en el BIOS (Sistema básico de entrada / salida). Estas son las instrucciones que le dicen a la computadora cómo acceder a cosas como Memoria, Procesadores y Disco Duro. El dispositivo que contiene estas instrucciones es un dispositivo pequeño con dos tipos de memoria, llamada ROM (memoria de solo lectura) y RAM (memoria de acceso aleatorio). Rom contiene información codificada que no puede cambiar, mientras que la RAM es dinámica y puede reescribirse. Sin embargo, la RAM requiere electricidad para mantener esa información, por lo que se coloca una pequeña batería en la computadora para soportarla.

Una vez que el BIOS le dice al procesador cómo acceder a varios componentes, el disco duro comienza a hacerse cargo de las tareas de arranque. Aquí es donde tiene su sistema operativo, como Windows, así como cualquier otro programa que haya cargado.

Al iniciar (y también al agregar elementos como dispositivos USB), se cargan controladores, otro tipo de software de instrucciones, para cada pieza de hardware que tenga. Los conductores tienen las instrucciones que le dicen a la CPU (el cerebro real) cómo acceder y operar dispositivos a nivel mecánico.

En su forma más básica, el software es una serie de 1 y 0. O puede pensar en ellos como interruptores de encendido / apagado. Cada pieza de software es binaria (usando solo 1 o 0). El sistema operativo de la computadora es el que toma cualquier código de software y lo traduce a binario. Puede pensar en estos 1 y 0 como posiciones en un interruptor.

Si su computadora fuera un interruptor de luz, su software tendría exactamente 2 dígitos de largo. Si el software quiere encender la luz, envía un 1, que cierra el interruptor y enciende la luz. Enviar un 0 abre el interruptor y apaga la luz.

Un programa de computadora hace exactamente lo mismo. Excepto que hay decenas de millones de pequeños interruptores, y determinan cómo va a actuar la computadora. Algunas acciones básicas que realiza la computadora requieren la actividad combinada de miles de estos interruptores.

Cuando observa un color en su monitor, el software le dice a la CPU qué color mostrar en un píxel específico o un solo punto en su monitor. El color negro se anota como binario 000000000000000000000000, mientras que el blanco es 1111111111111111111111111, y el gris es 011001000110010001100100. El software también tiene que decirle a la CPU qué píxel debe hacer ese color, por lo que se emite otro número binario para esa ubicación.

Muchos de estos interruptores están en la CPU, pero hay procesadores en la tarjeta gráfica de video, la tarjeta de sonido y la tarjeta de red que ayudan a la CPU y aceleran el proceso.

Cuando miras la CPU, cada uno de esos puntos en la parte inferior es un camino, ya sea dentro o fuera. El software activa o desactiva los microinterruptores y determina qué ruta recorren las instrucciones.


El diagrama anterior es la parte inferior de un microprocesador muy simple. Cada uno de los puntos es el final de un interruptor. El software le dice qué interruptor abrir o cerrar, determinando dónde van a terminar las instrucciones.

Francamente, no es muy complicado:
– Construye una caja de música mecánica programable

La principal diferencia entre esto y una computadora es que los clavos en el tambor pueden activar palancas que hacen que los clavos se inserten o retiren en ubicaciones específicas, incluso como resultado de operaciones aritméticas, y que algunos patrones hacen que el tambor salte a un punto específico ubicación. El patrón de clavos en el tambor es el software, mientras que todo lo demás es el hardware.

Cuando la computadora está encendida, la CPU comienza a ejecutar instrucciones de software desde su BIOS (o UEFI), que es un chip especial en su placa base. Este programa solicitará más instrucciones de un disco duro específico (o CD-ROM, o dispositivo USB, o tarjeta de red), y su sistema operativo comenzará a ejecutarse.

Su sistema operativo cargará el resto de sí mismo desde el disco duro en la memoria principal, y luego comenzará a esperar su entrada sobre qué ejecutar a continuación (y manejará los eventos del mundo exterior, llamados Solicitudes de interrupción, que básicamente son solo cables en qué hardware puede decirle a la CPU que deje de hacer lo que está haciendo y comience a ejecutar otra cosa).

Cada CPU tiene un manual que describe qué patrones de “clavos” (OK, empecemos a llamarlos “bits” a partir de ahora) hacer qué. La primera parte de la combinación suele ser la instrucción, que simplemente selecciona qué parte de los circuitos de las CPU abrir: tiene un circuito para agregar, un circuito para almacenar en la memoria o leer, y así sucesivamente, y un multiplexor que permite habilitar solo uno de ellos y dejar los demás desconectados. La segunda parte del patrón de bits es el operando (s), que son los datos que se pasan al circuito seleccionado actualmente. Puede ser solo un número, una dirección de memoria o un nombre de registro; cada instrucción es libre de elegir cómo interpretará esa última parte, siempre que se describa en el manual y tenga sentido.

¡Eso es todo! Todo lo demás son solo mejoras en esa idea básica.

TL; DR- La respuesta corta, spoiler-riffic es drivers. Traducen lenguaje de máquina a lenguaje de programación y viceversa.

Descripción larga a continuación.

Los sistemas operativos (como Windows) hablan el lenguaje de programación en el que están programados. El hardware habla el lenguaje de máquina (binario). El sistema operativo conoce un dialecto de binario; puede hablar con el procesador y algún otro hardware sin ningún software adicional. Algo así como una GPU discreta (también conocida como tarjeta gráfica), habla binario, pero habla un dialecto completamente diferente. El sistema operativo puede hacerle preguntas simples (por eso obtienes una imagen), pero no pueden hacerle preguntas complicadas (por eso no puedes ejecutar juegos); Necesitan un traductor.

Como dije antes, los conductores manejan la tarea de traducción. Y con cada nueva versión o actualización lanzada, los nuevos controladores están “integrados” en el sistema operativo.

El modelo OSI describe cómo el software de la aplicación desciende hacia el nivel de hardware. Entonces, capa de aplicación, capa de presentación, capa de sesión, capa de transporte, capa de red, capa de enlace de datos y capa física. Por ejemplo, ethernet es un protocolo de 8 hilos. Las conexiones de 100 Mbps tienen 2 pares diferenciales que transportan señales eléctricas. La capa de enlace de datos para Ethernet es en realidad doble, la primera es la capa MAC, que determina el acceso de los dispositivos en una red y la LLC, que encapsula los protocolos de la capa de red. Y así, depende de la aplicación, el programa que está ejecutando en su PC. Un navegador, por ejemplo, obtiene sus datos a través de la conexión ethernet de su PC.

El software no envía solicitudes al hardware directamente y viceversa. El software interactúa con el hardware a través de una capa intermedia. Esta capa media se llama Hardware Abstract Layer en el sistema operativo MS Windows. Entre la capa media y el hardware hay controladores . Drivers es un software especial que controla el hardware (consulte el siguiente diagrama simple).

Esta capa intermedia hace que la interacción entre software y hardware sea simple, consistente y unificada.

Enlaces de referencia
Arquitectura de Windows NT
¿Qué es la capa de abstracción de hardware (HAL)? – Definición de WhatIs.com

El hardware está configurado de tal manera que los impulsos eléctricos de la corriente se convierten en secuencias. Luego, estas secuencias son interpretadas por otros dispositivos de hardware llamados puertas lógicas y forman una sinfonía de señales eléctricas que resuenan entre sí. Algo así como un cerebro. Esa colección de secuencias (encendido y apagado) está controlada por un reloj, por ejemplo, una pausa de 2 segundos es como dos ceros, mientras que un segundo de corriente es como un 1. Alejándose, esas secuencias son instrucciones básicas que son redirigidas por el Las puertas lógicas que tienen rutas preestablecidas para cada bit (uno o cero). Estas rutas contienen códigos para otros códigos y se extienden como un árbol donde uno está construido sobre el otro. Eventualmente llegas a un punto en que la lógica humana se encuentra con la lógica de la máquina. Ese es considerado el punto de partida para la mayoría. El BiOS ha establecido instrucciones que cierran la brecha entre los periféricos (Mouse, pantalla, teclado, etc.) y la Unidad Central de Procesamiento con la ayuda de los Controladores. Para simplificar las cosas, hay otra capa añadida a una computadora llamada Sistema Operativo que permite una mejor interacción con la máquina. Y puedes adivinar qué sigue. El software que utilizamos es como su navegador de internet. Aunque el Software es cualquier conjunto de instrucciones. Por lo general, los remitimos a los Programas (dentro del Sistema Operativo) para simplificar las cosas.

El hardware es lo que puedes tocar y verás que este es el monitor CPU GPU RAM discos duros de la placa base.

El software es lo que usa todos los días como palabra, esto es lo que manipula el hardware, este es el código escrito en un lenguaje de programación de alto nivel compilado en ensamblador porque todo lo que una computadora puede entender es binario, que es cero y uno cero significa apagado y uno significa esto las instrucciones

Realiza una solicitud a través de un dispositivo de entrada conectado a la computadora, esto envía una solicitud a la CPU, se procesa y luego se envía de vuelta a través de un dispositivo de salida como el monitor