[Linux] Arquitectura de software y hardware de computadora

1. Arquitectura de von Neumann

En la actualidad, nuestras computadoras comunes, como las notebooks. La mayoría de nuestros ordenadores poco comunes, como por ejemplo los servidores, cumplen con el sistema von Neumann, que se caracteriza por almacenar datos e instrucciones en una misma memoria y utilizar un contador de programas (Program Counter, PC) para controlar la ejecución de instrucciones por parte del ordenador. orden . Su estructura específica es la siguiente:

Insertar descripción de la imagen aquí

La estructura incorporada de Von Neumann consta principalmente de cinco partes: unidad aritmética , controlador , memoria , dispositivo de entrada y dispositivo de salida .

La unidad aritmética, el controlador y algunos registros se denominan colectivamente unidad central de procesamiento (CPU), que es la principal responsable de ejecutar instrucciones y procesar datos.

La memoria generalmente se refiere a la memoria. La memoria es volátil cuando se corta la energía y solo se puede usar para almacenar temporalmente programas y datos.

Los dispositivos de entrada y salida se utilizan para la interacción de datos con dispositivos externos y se denominan colectivamente periféricos. Los discos y las tarjetas de red son dispositivos de entrada y salida, los teclados son dispositivos de entrada y los monitores son dispositivos de salida. Los discos se almacenan sin energía y se pueden usar para almacenamiento permanente.

Sabemos que la CPU es el núcleo de una computadora porque tiene capacidades informáticas rápidas y potentes (operaciones aritméticas y operaciones lógicas), pero de hecho podemos decir que la CPU es muy estúpida porque solo puede recibir pasivamente los datos y las instrucciones pasadas. por otros luego se devuelven con los resultados obtenidos por la operación, por lo que aquí hay dos problemas:

1. ¿Cómo puede la CPU identificar los datos y las instrucciones que le pasamos?

La CPU puede reconocer los datos y las instrucciones que le pasamos porque la computadora almacena y procesa datos e instrucciones de acuerdo con ciertas reglas y formatos. Estas reglas y formatos se denominan colectivamente arquitectura informática, que incluye cómo se codifican y almacenan los datos y las instrucciones.

Específicamente, cuando ingresamos datos e instrucciones en la computadora, se convierten en códigos binarios y se almacenan en la memoria en un formato determinado. La CPU lee datos e instrucciones de la memoria controlando la lectura y escritura del bus y la memoria, y los analiza y ejecuta de acuerdo con el formato de codificación de las instrucciones.

La unidad de control (Unidad de control) en la CPU es responsable de analizar la instrucción, determinar el tipo de instrucción y el objeto de operación, luego leer el objeto de operación de la memoria en el registro y realizar las operaciones requeridas por la instrucción. La Unidad Aritmético Lógica (ALU) en la CPU es responsable de realizar operaciones aritméticas y lógicas y almacenar los resultados en registros o memoria.

En resumen, la CPU puede reconocer los datos y las instrucciones que le pasamos porque la computadora almacena y procesa datos e instrucciones de acuerdo con ciertas reglas y formatos, y la unidad de control y la unidad aritmético-lógica de la CPU pueden analizar y ejecutar estas instrucciones.CPU Hay un conjunto de conjuntos de instrucciones directas internamente, que asignarán las instrucciones al conjunto de instrucciones y luego completarán las operaciones correspondientes.

2. ¿De dónde obtiene la CPU las instrucciones que necesita?

Las instrucciones que necesita la CPU normalmente se obtienen de la memoria. En una computadora, las instrucciones y los datos se almacenan en la memoria en forma binaria y la CPU de la computadora se comunica con la memoria a través de un bus.

Cuando la CPU necesita ejecutar una instrucción, lee la instrucción de la memoria y la almacena en el registro de instrucciones de la CPU. Las instrucciones almacenadas en el registro de instrucciones se decodificarán en un formato de instrucción que la CPU pueda comprender y se realizarán las operaciones correspondientes. Después de ejecutar la instrucción actual, la CPU agrega el valor del contador de programa (PC) a la longitud de la instrucción para poder leer la siguiente instrucción.

Cabe señalar que las instrucciones requeridas por la CPU no se leen de la memoria a la vez, sino que se leen según sea necesario. Además, para mejorar la eficiencia de la ejecución de instrucciones por parte de la CPU, las computadoras modernas generalmente usan caché (Caché) para almacenar instrucciones y datos utilizados recientemente para una lectura y ejecución rápidas.

En resumen, las instrucciones requeridas por la CPU generalmente se obtienen de la memoria, y las computadoras modernas generalmente usan caché para mejorar la eficiencia de la lectura y ejecución de instrucciones. La CPU solo leerá y escribirá datos en la memoria, y luego la memoria leerá y escribir datos en el disco Escribir datos El proceso de leer y escribir datos de la memoria al disco es el proceso de IO.

【Resumir】

A nivel de datos, la CPU no trata directamente con los periféricos, sino solo con la memoria. De manera similar, todos los periféricos tienen datos que deben cargarse y solo se pueden cargar en la memoria. Para escribir la memoria, los datos solo pueden ser cargado en la memoria Escribir en el periférico

La CPU no se comunica directamente con los periféricos, sino sólo con la memoria.

Entonces en este punto podemos entender por qué el programa debe cargarse en la memoria para ejecutarse, esto se debe a que la CPU quiere ejecutar mi código para acceder a mis datos, los cuales solo se pueden leer desde la memoria, porque la CPU solo se ocupa de memoria, y nuestro programa se almacena en el disco

Tomemos un ejemplo para comprender mejor la arquitectura de von Neumann (nivel de flujo de datos del software): cuando normalmente chateamos en QQ, enviamos mensajes a otros en la ventana de chat y otros reciben mensajes en la ventana de chat. ¿Cómo funcionan los datos? flujo durante este proceso?¿Qué pasa si estamos enviando archivos?

Flujo de datos de envío de información -> recepción de información: el teclado de A ingresa a la memoria de A, luego la CPU de A lee los datos de la memoria de A, luego los cifra, luego los transmite a la tarjeta de red de A, luego a la tarjeta de red de B y luego se transmite a B memoria, la CPU de B lee los datos de la memoria, los descifra, luego los lee en la memoria y luego los muestra en la pantalla

Flujo de datos de envío de archivos -> recepción de archivos: el disco de A se ingresa en la memoria de A, la CPU de A lee los datos de la memoria de A, luego los cifra y luego los transmite a la tarjeta de red de A, a la tarjeta de red de B y luego los ingresa a B En la memoria de B, la CPU de B lee los datos de la memoria para descifrarlos, luego los lee en la memoria y luego los escribe en el disco de B.

2. Sistema operativo (Sistema Operador)

1. El concepto de sistema operativo

El sistema operativo es un software que administra recursos de software y hardware, administra varios recursos de software y hardware (medios) y proporciona a los usuarios un buen entorno operativo (estable, eficiente, seguro) (propósito).

El sistema operativo tiene cuatro módulos principales de gestión de software: gestión de procesos , sistema de archivos , gestión de memoria y gestión de controladores.

Insertar descripción de la imagen aquí

2. ¿Por qué necesitamos un sistema operativo?

El sistema operativo es uno de los software más básicos de un sistema informático. Es el puente entre el hardware y las aplicaciones de la computadora, brindando a los usuarios de computadoras un entorno de uso amigable, eficiente y seguro.

Las siguientes son varias funciones principales del sistema operativo:

1**.Gestión de recursos**: El sistema operativo es responsable de administrar varios recursos de la computadora, incluida la CPU, la memoria, el disco, la red, etc. Proporciona asignación y gestión de recursos para cada aplicación a través de mecanismos como gestión de procesos, gestión de memoria y sistemas de archivos.

2. Interfaz de usuario : el sistema operativo proporciona a los usuarios una interfaz de usuario amigable e intuitiva, lo que les permite utilizar la computadora cómodamente. El sistema operativo proporciona diversas aplicaciones y herramientas, como editores de texto, interfaces gráficas, etc., para que los usuarios puedan completar su trabajo de manera más eficiente.

3. Protección de seguridad : El sistema operativo protege la seguridad del sistema informático a través de mecanismos como el control de acceso y el cifrado. Puede limitar el acceso de los usuarios a los recursos del sistema y prevenir ataques de malware y fugas de datos.

4. Mantenimiento del sistema : el sistema operativo puede monitorear el estado operativo del sistema informático, detectar y reparar errores del sistema y mejorar la estabilidad y confiabilidad del sistema. También puede realizar actualizaciones del sistema, mejoras y otras operaciones para mantener el sistema informático actualizado.

En resumen, el sistema operativo es una parte indispensable del sistema informático, proporciona a los usuarios un entorno de uso amigable, eficiente y seguro, y garantiza la estabilidad y confiabilidad del sistema informático.

3. Cómo administrar el sistema operativo

El sistema operativo se gestiona a través de una variedad de mecanismos, incluida la gestión de procesos, la gestión de memoria, el sistema de archivos, la gestión de dispositivos, etc.

1. Gestión de procesos: el sistema operativo asigna espacio de memoria y tiempo de CPU independientes a cada aplicación a través del mecanismo de gestión de procesos. Puede monitorear y programar el estado de ejecución de los procesos, prevenir interferencias y conflictos entre aplicaciones y mejorar la estabilidad y la velocidad de respuesta del sistema informático.

2. Gestión de la memoria: el sistema operativo asigna espacio de memoria independiente a cada aplicación a través del mecanismo de gestión de la memoria y puede ajustar dinámicamente el uso de la memoria. Puede monitorear el uso de la memoria, prevenir pérdidas y desbordamientos de memoria y mejorar la estabilidad y el rendimiento de los sistemas informáticos.

3. Sistema de archivos: el sistema operativo proporciona a los usuarios una forma cómoda y segura de almacenar y acceder a archivos a través del mecanismo del sistema de archivos. Puede gestionar las operaciones de creación, lectura, escritura y eliminación de archivos, evitar daños y pérdidas de archivos y proteger la seguridad de los datos del usuario.

4. Gestión de dispositivos: el sistema operativo gestiona varios dispositivos en el sistema informático a través del mecanismo de gestión de dispositivos, incluidos dispositivos de entrada y salida, dispositivos de red, dispositivos de almacenamiento, etc. Puede coordinar la comunicación y la transmisión de datos entre dispositivos, prevenir problemas como conflictos de dispositivos y pérdida de datos, y mejorar la estabilidad y confiabilidad de los sistemas informáticos.

En resumen, el sistema operativo se las arregla a través de una variedad de mecanismos para proporcionar un entorno de uso eficiente, seguro y estable para el sistema informático. Puede monitorear y programar el uso de diversos recursos, prevenir conflictos y desperdicio de recursos y mejorar el rendimiento y la confiabilidad de los sistemas informáticos.

Además, también debemos comprender los siguientes tres aspectos:

1. Los gerentes no necesitan interactuar directamente con los administrados, pero aun así pueden administrar bien a los administrados.

Tomemos como ejemplo la gestión escolar de nuestra universidad, nuestro director no trata con nosotros directamente, es decir, interactúa con nosotros, aunque interactúe con nosotros, solo nos pregunta si estamos satisfechos con la escuela, pero puede todavía nos administran bien Podemos Se dice que no somos administrados por el director, sino por nuestros consejeros, pero de hecho, los consejeros no son completamente considerados gerentes.

Esto se debe a que los gerentes son quienes tienen el poder de tomar decisiones sobre asuntos importantes , aunque en nuestra vida diaria la persona que más interactúa con nosotros es nuestro consejero, entonces el consejero no tiene derecho a tomar decisiones sobre algunos de nuestros asuntos. cosas, como ¿Podemos juzgar premios, ser expulsados ​​de la escuela, etc.?

2. La esencia de la gestión es gestionar los datos.

Entonces, ¿cómo nos gestionan nuestros directivos? Por ejemplo, ¿cómo nos gestiona nuestro director?

La respuesta es administrar nuestros datos. El director obtiene nuestros diversos datos a través de los consejeros, como calificaciones, si hemos reprobado clases, etc., y luego toma decisiones. Finalmente, los consejeros implementan estas decisiones por nosotros, por lo que los administradores Los administrados son administrados a través de los datos proporcionados por el ejecutor. El ejecutor obtiene varios datos del administrado a través de la interacción con el administrado. El administrador usa estos datos para tomar decisiones sobre el administrado, y luego el ejecutor ejecuta esta toma de decisiones

Para nuestras computadoras, existe una secuencia de capa de controlador que controla el hardware entre el sistema operativo y el hardware. Los controladores correspondientes a varios hardware son lo que llamamos ejecutores. El controlador ejecuta las instrucciones del sistema operativo para completar tareas relacionadas, como La tarjeta de red tiene un controlador de tarjeta de red y el disco tiene un controlador de disco. El sistema operativo obtiene los datos de hardware de estos controladores y administra el hardware en función de los datos del hardware.

Insertar descripción de la imagen aquí

3. Método de gestión: describir primero y luego organizar

Si no tenemos pocas escuelas, el director puede usar un formulario de Excel para administrar los datos de nuestros estudiantes, pero de hecho, a menudo hay muchos estudiantes en una escuela. Si todavía usamos este método, será muy problemático administrar El costo será muy alto, por lo que podemos extraer los datos que los estudiantes necesitan almacenar, luego describir los datos en una estructura o clase, y luego instanciar la información de cada estudiante en un objeto, y luego podemos usar ciertos datos. Estructura (como lista vinculada, tabla de secuencia) para organizar estos objetos. Cuando necesitamos consultar la información del estudiante, podemos recorrerla de acuerdo con el valor clave correspondiente. Para eliminar un estudiante, podemos eliminar directamente los datos del estudiante. De esta forma, nuestra gestión de estudiantes se convierte en la gestión de una determinada estructura de datos (adición, eliminación, verificación y modificación), lo que mejora significativamente la eficiencia de nuestra gestión.

Insertar descripción de la imagen aquí

El sistema operativo no solo puede administrar el hardware, sino también el software, y el método de administración del software es el mismo que el método de administración del hardware. La administración del software se convierte en la administración de los datos del software y luego los datos se describen como una estructura. o Luego, una clase se almacena en una estructura de datos y luego se convierte en la gestión de la estructura de datos.

3. Llamada al sistema e interfaz de operación del usuario.

Conceptos de funciones de biblioteca y llamadas al sistema

Desde una perspectiva de desarrollo, el sistema operativo aparecerá como un todo para el mundo exterior, pero expondrá algunas de sus interfaces para el desarrollo de la capa superior. Esta parte de la interfaz proporcionada por el sistema operativo se denomina llamada al sistema.

En términos de uso, las funciones de las llamadas al sistema son relativamente básicas y los requisitos para los usuarios son relativamente altos. Por lo tanto, los desarrolladores reflexivos pueden encapsular adecuadamente algunas llamadas al sistema para formar bibliotecas. Con las bibliotecas, es muy beneficioso para los usuarios o desarrolladores de nivel superior. llevar a cabo el desarrollo secundario

1. Interfaz de llamada al sistema

La interfaz de llamada al sistema es un conjunto de interfaces proporcionadas por el sistema operativo a las aplicaciones y permite a las aplicaciones acceder a diversos recursos del sistema informático a través del sistema operativo, como archivos, redes, dispositivos, etc. La interfaz de llamada del sistema generalmente se implementa mediante una biblioteca de enlaces dinámicos (DLL) o una biblioteca compartida (Biblioteca compartida) proporcionada por el sistema operativo. Las aplicaciones pueden acceder a los servicios proporcionados por el sistema operativo llamando a funciones en estas bibliotecas.

¿Por qué necesitamos una interfaz de llamada al sistema?

Esto se debe a que el sistema operativo no puede operar directamente varios software y hardware. Esto también se debe a que el sistema operativo no confía en ningún usuario . El sistema operativo no está seguro de si hemos realizado operaciones ilegales en varios software y hardware, como en nuestras vidas. , solo poder manejar negocios fuera de la ventana significa que el banco no confía en nadie y nos brinda servicios a través de esta ventana. De la misma manera, el sistema operativo también brinda varios servicios a nuestros usuarios, como las necesidades del usuario para acceder a software y hardware, leer datos del disco, escribir datos. Por lo tanto, el sistema operativo proporciona a los usuarios una interfaz de llamada al sistema , que nos permite llamar directamente a la interfaz de llamada del sistema al acceder al software y al hardware, y luego el sistema operativo ayuda al usuario a completar el trabajo correspondiente. Esto es similar al principio de funcionamiento de un banco Al ayudar a los usuarios a satisfacer sus necesidades a través de Windows, el sistema operativo no solo satisface las necesidades de los usuarios, sino que también protege el entorno de software y hardware.

De esta forma podremos entender mejor al banco en función de sus condiciones laborales.

Lo que debemos tener en cuenta aquí es que el sistema operativo Linux está escrito por Renas Torvalds en lenguaje C, por lo que las interfaces de varias llamadas al sistema en Linux son interfaces de estilo C, es decir, varias interfaces de funciones están escritas en lenguaje C.

Insertar descripción de la imagen aquí

2. Interfaz de operación del usuario

La interfaz de operación del usuario se refiere a un conjunto de interfaces proporcionadas por una aplicación a los usuarios, que les permiten interactuar con la aplicación y operarla. Las interfaces de operación del usuario generalmente incluyen los siguientes tipos:

1. Interfaz gráfica de usuario (GUI): proporciona una interfaz gráfica intuitiva y fácil de usar que permite a los usuarios interactuar con aplicaciones a través de dispositivos de entrada como el mouse y el teclado. La GUI generalmente incluye ventanas, menús, botones, cuadros de texto y otros controles, lo que permite a los usuarios realizar fácilmente diversas operaciones.

2. Interfaz de línea de comandos (CLI): proporciona una interfaz de línea de comandos basada en texto que permite a los usuarios ingresar comandos a través del teclado para operar aplicaciones. CLI generalmente incluye indicaciones de línea de comando, parámetros de línea de comando, opciones de línea de comando, etc., lo que permite a los usuarios operar aplicaciones de manera más flexible.

3. Interfaz de programación de aplicaciones (API): proporciona un conjunto de interfaces de programación que permiten a los desarrolladores operar aplicaciones a través de código. Las API suelen incluir funciones, clases, métodos, etc., lo que permite a los desarrolladores personalizar de forma más flexible las funciones de las aplicaciones.

4. Interfaz de usuario de voz (VUI): proporciona una interfaz de usuario basada en voz,

¿Por qué necesitas una interfaz de usuario?

La interfaz de llamada del sistema tiene requisitos relativamente altos para los usuarios y la interfaz de operación del usuario está diseñada para permitir a los usuarios interactuar con el sistema informático. A través de la interfaz de operación del usuario, los usuarios pueden ingresar comandos, buscar información, realizar tareas, etc. De esta forma, los usuarios pueden utilizar el sistema informático de forma más cómoda, mejorando la eficiencia del trabajo y la experiencia del usuario. Al mismo tiempo, la interfaz de operación del usuario también ayuda a reducir los costos de aprendizaje de los sistemas informáticos para los usuarios, lo que permite que más personas utilicen y dominen fácilmente la tecnología informática.

Por lo tanto, los usuarios pueden realizar operaciones de comando , operaciones de desarrollo , operaciones de administración , etc., a través de estas interfaces operativas. Para el comando ls que usamos en Linux para escribir información del archivo de disco en la pantalla, el comando táctil, etc., son esencialmente llamadas Interfaz del sistema, crea archivos en el disco y escribe información del archivo del disco para completar el trabajo correspondiente

Insertar descripción de la imagen aquí

4. Arquitectura de software y hardware de computadora

【Resumir】

El sistema operativo administra todos los recursos de software y hardware y, al mismo tiempo, proporciona a los usuarios interfaces de llamadas al sistema para acceder a los recursos de software y hardware. El sistema operativo completa varios accesos a los recursos. Para reducir el costo de uso del usuario, el sistema operativo proporciona varios usuarios La interfaz operativa se utiliza para acceder a recursos de software y hardware. La capa inferior de la interfaz operativa del usuario luego llama a la interfaz de llamada del sistema para completar las diversas necesidades del usuario. En este momento, el sistema operativo vincula orgánicamente al usuario, software y hardware.

En este punto, nuestra arquitectura de software y hardware de computadora está configurada:

Insertar descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/qq_67582098/article/details/133279527
Recomendado
Clasificación