Red de conocimiento informático - Consumibles informáticos - Explique la diferencia y la conexión entre procesos y subprocesos en Linux, y cómo implementar la comunicación multiproceso y multiproceso en Linux. Explíquelo de manera sencilla.

Explique la diferencia y la conexión entre procesos y subprocesos en Linux, y cómo implementar la comunicación multiproceso y multiproceso en Linux. Explíquelo de manera sencilla.

Hermano, cuando vi tu puntuación más alta, encontré cierta información: puede considerarse como un resumen del conocimiento aprendido ayer.

Primero, hablemos primero de los conceptos, si es en Windows o Linux. Los conceptos de procesos y subprocesos son los mismos, pero la forma de administrar procesos y subprocesos es diferente. Esta es la premisa. Esto involucra los principios del sistema operativo. Aquí está la respuesta para usted.

Cuando hablo de proceso, tengo que mencionar el término tarea, no creo hermano, tienes un programa en tu computadora, ¿verdad? Después de que se inicie su sistema, eche un vistazo a su administrador de tareas para ver si hay muchos procesos. ¿Cómo ajustan la memoria tantos programas? ¿Lo entiendes? Aquí debe comprender la relación entre programa y proceso. Un programa es un archivo en su disco. Cuando lo necesita, ingresa a la memoria y se convierte en un proceso. Por ejemplo, QQ es solo un archivo en el disco. un proceso cuando ingresa a la memoria El proceso está activo. QQ quiere escanear tus archivos, registrar tu historial de chat, subir algo en secreto, etc. No sabes si está bien o no, está activo. ¿Puedes entender esto?

Mira la tarea de nuevo. Esta tarea no es la tarea que escribiste. Tan pronto como el sistema lo mira, eres un tipo tan grande como QQ. ¿Quieres ingresar a la memoria de inmediato? ¡De ninguna manera! Tómese su tiempo. El sistema divide el programa QQ en varias partes. Estas partes no se pueden dividir al azar para ajustarse a la estructura natural, es un bucle. Si corta la estructura del bucle, ¿cómo se puede hacer? ¿QQ? Esto significa que los trabajos deben ingresarse en la memoria pieza por pieza y se debe generar JCB (BLOQUE DE CONTROL DE TRABAJO) para el trabajo. No puede correr cuando ingresa a la memoria. Debe escuchar el sistema. propia memoria. Marque la casilla, la memoria no se puede leer ni escribir y aparecerá un cuadro de diálogo. Si es serio, ¡te pondré una cara azul! Tú entiendes. Esto está en la ventana. En Linux, se le informará directamente un error. ¡Está bien! Todos los sistemas controlan los procesos a través de jcb. JCB contiene mucha información sobre la prioridad del número de proceso. ¿Puedes abrir el Administrador de tareas de Windows y ver si el proceso tiene muchos atributos? Eso es PCB (PRCESS, CONTROL BLOCK) Del mismo modo, la tarea también incluye esos contenidos, cuánto. Las características del proceso se describen a continuación:

1. El proceso es la unidad más pequeña que asigna recursos informáticos. Crees que la gente tiene que usar programas para funcionar, ¿verdad? Cuando transfieres un programa a la memoria, se convierte en un proceso, por lo que un proceso es la unidad más pequeña para asignar recursos. ¿Abrió una terminal en Linux e ingresó el comando superior para ver si hay muchos procesos?

2. El proceso lo genera el sistema operativo para el trabajo. Existe una relación padre-hijo entre los "procesos hijos" generados por un "proceso padre", y los "procesos hijos" pueden seguir generándose. Tome QQ como ejemplo, haga doble clic en QQ.exe. Después de iniciar QQ, ingrese su cuenta y contraseña para abrir la interfaz principal. En este momento, quieres chatear y el proceso QQ genera rápidamente un "hijo" y dice: "Hijo, ve a charlar con el propietario". De repente, quieres ver a una mujer hermosa y quieres enviarle un mensaje. foto, y luego nace el "hijo". Un "hijo" dijo "hijo", ve y envía las fotos. El "hijo" recibió la tarea de enviar las fotos. En este momento, desea cerrar QQ, pero QQ le pregunta: "Aún tienes un" hijo "y un" nieto "que todavía están trabajando. ¿Realmente quieres terminarlo? Estás seguro. QQ le dice a su "hijo". " (tu ventana de chat) dijo: "Hijo, lo siento. Si el maestro quiere cerrarme, no puedes vivir". "Haz clic" y el hijo está muerto. Antes de que el hijo muriera, le dijo a su hijo: "Hijo, tu abuelo no me deja vivir, así que no vivas tampoco". Kacha, mi nieto también está muerto. Finalmente el mundo quedó en silencio. Esta es la relación padre-hijo del proceso. ¿Puedes entender? Recuerde: la actividad del proceso ocurre en la memoria. No se puede utilizar la CPU, solo se asignan recursos.

Hablemos de subprocesos: los subprocesos también se generan en la memoria y existen en la memoria durante mucho tiempo, pero su área activa está principalmente en la CPU, y tanto la ejecución como la muerte existen en la CPU. Dicho esto, un subproceso es la unidad de programa más pequeña de un programa que el sistema puede programar en la CPU y puede utilizar directamente los recursos de la CPU asignados por el proceso.

Tome QQ como ejemplo. Cuando desea transferir un archivo, QQ siempre necesita determinar la extensión del archivo. Entonces el "hijo" rápidamente le dijo a su padre que necesito un hilo. determine la extensión QQ rápidamente Dígale a un hilo a cargo de esto: "Apúrate y ve a la CPU para calcular cuál es la extensión, y luego informa al maestro que "morirá" después de que se complete el cálculo, pero es así. ¡El hilo todavía está en la memoria! Todavía te estoy esperando la próxima vez. Transfiera archivos y luego calcule y luego muera.

¡Los hilos son independientes entre sí! ¿Otro está en la memoria? La CPU solo puede ingresar un subproceso a la vez. Cuando un subproceso ingresa a la CPU, se genera un nuevo subproceso y el nuevo subproceso aún permanece en la memoria. espere a que transfiera el archivo nuevamente y luego calcule la extensión.

El hilo es independiente del hilo Sí, pero no es independiente en la memoria. Así es como se puede usar QQ para transferir. archivos sin abrir QQ? Solo existe en los recursos asignados por el proceso, lo que significa que el hilo que calcula la extensión solo puede permanecer en QQ durante el proceso, ¡es equivalente a crear el programa! nuevos procesos y subprocesos. Los procesos solicitan recursos de la CPU, y luego hay subprocesos para usarlos. Todos sirven al programa pero tienen diferentes divisiones del trabajo.

¡Porque no preguntaste cómo se administran los procesos y los subprocesos! En Linux, no responderé esta pregunta. Le sugiero que lea "La historia de Stupid Tutu", que habla sobre cómo Linux administra procesos y subprocesos. Es bastante divertido y mejor que lo que dije. Sea honesto, no puedo responder a su segunda pregunta. Creo que ahora ni siquiera comprende los procesos y los subprocesos, y mucho menos lo que dijo, ¿verdad? Supongo que si usa C/C para programar en Windows o Linux, la idea es la misma, ¿verdad? Si comprende la comunicación entre subprocesos en Windows, no habrá problema en Linux.

Materiales de referencia: The Hacker's Handbook 2009 combinó el primer y segundo trimestre sin seguridad, 244 páginas. , 245 páginas, 328 páginas, 329 páginas, 398 páginas, 399 páginas

Una breve discusión sobre los principios de los sistemas operativos (uno, dos, tres)

Foro chino de Ubuntu La historia de Stupid Tutu

/viewtopic.php?f=120amp;t=267518

Espero que mi respuesta puedas entender