Comprensión del concepto de arquitectura y proceso de Von Neumann

Tabla de contenido

1. Hablemos primero del hardware

1. Comprensión preliminar de la arquitectura de von Neumann

2. Comprender la colaboración entre módulos

2. Hablar de software de nuevo

1. Por qué existe un sistema operativo

2. Cómo gestiona el sistema operativo los recursos de hardware y software

3. Hablar sobre el proceso de nuevo

1. ¿Qué es un proceso?

2. Cómo entender el proceso

3. Cómo gestiona Linux los procesos

Escribe al final:


1. Hablemos primero del hardware

1. Comprensión preliminar de la arquitectura de von Neumann

Las computadoras que conozco ahora están compuestas de hardware, y todas siguen este sistema:

Primero comprendamos lentamente la arquitectura de von Neumann:

1) ¿A qué se refiere la memoria?

El almacenamiento se refiere a la memoria, y nuestro hardware, como los discos, son dispositivos de entrada y salida.

2) Dispositivos de entrada: teclado, cámara, micrófono, disco, tarjeta de red...

3) Dispositivos de salida: monitores, reproductores, discos, tarjetas de red...

Los dispositivos de entrada y salida también se denominan dispositivos externos, también conocidos como periféricos.

4) Calculadora: Realiza tareas de cálculo (operaciones aritméticas, operaciones lógicas) sobre los datos que ingresamos

5) Controlador: para controlar nuestro proceso de hardware informático hasta cierto punto

Nos referimos colectivamente a estos dos como la unidad central de procesamiento o CPU.

Y estos cinco componentes son entidades independientes. quieren que su sistema funcione,

Las diversas unidades de hardware deben estar conectadas por "cables", que llamamos buses: 1. Bus del sistema, 2. Bus IO.

2. Comprender la colaboración entre módulos

O esta foto:

Permítanme hablar sobre la conclusión primero:

Primero, el dispositivo de entrada se entrega a la memoria, y la unidad central de procesamiento toma los datos de la memoria, luego realiza los cálculos internamente, luego escribe el resultado del cálculo en la memoria y luego actualiza los datos en el dispositivo de entrada. Este es el flujo de datos en el sistema de von Neumann.

Hablemos de almacenamiento:

En términos generales, cuanto mayor sea la capacidad de almacenamiento, menor será la velocidad. Es precisamente por esto que necesitamos la memoria como un búfer en nuestro sistema, para que los periféricos lentos y la unidad central de procesamiento rápido puedan interactuar mejor con los datos a través de la memoria.

Hablando de la colaboración entre tantos módulos, ¿quién se dará cuenta de su colaboración? Sistema operativo.

2. Hablar de software de nuevo

Nuestras computadoras tienen QQ, WeChat, navegadores, etc., ¿cómo sabe la computadora cuándo usarlos? Así que necesitamos algo para coordinarlos como un todo. Es decir, el sistema operativo,

El sistema operativo es un software de gestión que puede gestionar hardware y software.

1. Por qué existe un sistema operativo

Toda la computadora es una estructura en capas, mira esta imagen:

De abajo hacia arriba, primero hay hardware y controladores. Si todo el hardware necesita ser utilizado por el software, debe estar equipado con los controladores correspondientes. Podemos entenderlos como software que trata directamente con el hardware, y luego el sistema operativo en el En lo que debemos centrarnos más adelante es en la gestión de procesos y la gestión de archivos.

Volviendo al tema original, ¿por qué necesitamos un sistema operativo?

1) El sistema operativo ayuda a los usuarios a administrar estos recursos de hardware y software. (medio)

2) Para proporcionar a los usuarios un buen entorno operativo (estable, eficiente, seguro). (Objetivo)

Hay todo tipo de datos en el sistema operativo, ¡pero el sistema operativo no confía en todos los usuarios! Por lo tanto, para garantizar la seguridad de sus propios datos y garantizar la prestación de servicios a los usuarios, el sistema operativo proporciona a los usuarios acceso a llamadas en forma de interfaces para obtener recursos internos del sistema operativo.

Entonces, ¿qué es una interfaz? El sistema operativo Linux está esencialmente escrito en lenguaje C, por lo que la llamada interfaz es en realidad su propia llamada de función interna implementada por el lenguaje C, que llamamos llamada al sistema. Sin embargo, todo acceso al sistema operativo solo se puede realizar a través de llamadas al sistema.

Entonces mire hacia atrás en esa imagen, y luego arriba está la interfaz de llamadas al sistema de llamadas.

Luego está la interfaz de operación del usuario, que incluye el shell familiar shell, y luego lib, es decir, la biblioteca.Debido a que la llamada al sistema aún es relativamente complicada, algunos idiomas la empaquetarán en una biblioteca para que la usemos. .

Para cualquier idioma, si quieren usar el hardware directa o indirectamente, deben pasar por el sistema operativo y, a través del sistema operativo, deben usar la interfaz de llamada del sistema.

Entonces, lo anterior es la estructura general en capas de la computadora.

2. Cómo gestiona el sistema operativo los recursos de hardware y software

Entendamos primero qué es la gestión:

1) El gerente y el dirigido no necesitan encontrarse (al igual que en las escuelas, como estudiantes, generalmente no nos reunimos con el director, y en las empresas, generalmente no siempre nos reunimos con el jefe (no No digas eso en pequeñas empresas))

2) ¿Cómo pueden los gerentes administrar bien sin ver a los administrados? El núcleo radica en la información de gestión. Mientras los gerentes obtengan información de gestión, pueden tomar decisiones de gestión en el futuro. La esencia de la gestión es gestionar personas a través de la gestión de 'datos'.

3) Ni el administrador ni el administrado pueden verse, ¿cómo obtener los datos correspondientes? (Primero agregue un concepto: ¿qué es un gerente? Generalmente dividimos todas las cosas en el mundo en dos tipos, uno es la toma de decisiones y el otro es la ejecución. Por ejemplo: ¿qué vas a comer esta noche? Comamos fideos. Este es un toma de decisiones; voy a cocinar fideos ahora. Esto es ejecución. La toma de decisiones es en realidad el gerente, y la persona que ejecuta es la administrada. Pero en nuestra vida diaria, la toma de decisiones y la ejecución son básicamente una. ) Los gerentes necesitan obtener los datos correspondientes.

¡entonces!

Cuando se está administrando el sistema operativo, ¿es necesario ver el software y el hardware? No, ¿cómo puede el sistema operativo obtener sus datos de estado? Tomando el hardware como ejemplo, el sistema operativo obtiene datos a través de controladores.

El sistema operativo debe seguir la estrategia de "describir primero, luego organizar" para administrar cualquier cosa, usar una estructura para describir un objeto y luego organizarlo con una estructura de datos, de modo que se pueda lograr un estado: en operación En el sistema, administrar cualquier objeto puede eventualmente transformarse en agregar, eliminar, verificar y modificar una determinada estructura de datos.

Conclusión: ¿Cómo se gestiona el sistema operativo?

Describe primero, organiza después.

3. Hablar sobre el proceso de nuevo

1. ¿Qué es un proceso?

Un programa que ha sido cargado en la memoria se llama proceso.

Escribamos un proceso bajo Linux y echemos un vistazo:

Simplemente escribimos un programa y lo ejecutamos:

 

Luego copiamos un canal SSH y comprobamos el proceso:

ps axj | head -1 && ps axj | grep process

Entonces, de hecho, el programa en ejecución se llama proceso.        

2. Cómo entender el proceso

Un sistema operativo no solo puede ejecutar un proceso, sino también ejecutar múltiples procesos al mismo tiempo.

El sistema operativo debe administrar el proceso, entonces, ¿cómo administrar el proceso? Describe primero, organiza después.

Cuando cualquier proceso se carga en la memoria, al formar un proceso real, el sistema operativo primero necesita crear un objeto de estructura utilizado para describir el proceso——PCB, bloque de control de proceso——bloque de control de proceso.

Aquí surge la pregunta, ¿cómo se debe describir el proceso de esta manera? Describe una cosa con una colección de varios atributos. Entonces, el llamado PCB es en realidad una colección de atributos de proceso. Entonces PCB es una estructura:

PCB de estructura {

        el número del proceso,

        el estado del proceso,

        la prioridad del proceso,

        ... ... 

}

El sistema creará un objeto de PCB correspondiente para el proceso de acuerdo con el tipo de PCB del proceso.

Entonces, ¿qué es un proceso? ¿Es el proceso una PCB? No, el proceso es en realidad:

Proceso = objeto de estructura de datos de PCB del núcleo + código y datos del programa correspondiente

El PCB del proceso, por supuesto, contiene todos los atributos que describen el proceso. De esta manera, el sistema operativo no administra su código y datos, solo necesita administrar el PCB de proceso. De esta forma, todas las operaciones de gestión del sistema operativo sobre el proceso se convierten en adiciones, eliminaciones, comprobaciones y modificaciones a una estructura de datos como PCB.

3. Cómo gestiona Linux los procesos

Anteriormente entendimos cómo se ve un proceso, entonces, ¿cómo organiza y administra los procesos el sistema operativo Linux?

El PCB bajo el sistema operativo Linux es: task_struct (algunos llaman al proceso una tarea), y el proceso task_struct está organizado en forma de una lista básica de doble enlace en el kernel de Linux. 

En cuanto a cómo se ve task_struct, entonces, si quieres saber qué sucede a continuación, escuchemos el próximo capítulo para descomponer ~

Escribe al final:

Lo anterior es el contenido de este artículo, gracias por leer.

Si sientes que has ganado algo, puedes darle un me gusta al blogger .

Si hay omisiones o errores en el contenido del artículo, envíe un mensaje privado al blogger o indíquelo en el área de comentarios ~

Supongo que te gusta

Origin blog.csdn.net/Locky136/article/details/132121034
Recomendado
Clasificación