Red de conocimiento informático - Aprendizaje de programación - Resumen de puntos de conocimiento sobre el sistema operativo Linux

Resumen de puntos de conocimiento sobre el sistema operativo Linux

Los conocimientos básicos del sistema operativo Linux no son difíciles de entender. Familiarizarse con los conocimientos básicos puede ayudarle a aprender Linux mejor. A continuación he recopilado conocimientos relevantes para resumir los puntos de conocimiento del sistema operativo Linux. Espero que le resulte útil

Resumen de los puntos de conocimiento del sistema operativo Linux 1. ¡Introducción general a! el sistema operativo

>CPU: Al igual que el cerebro humano, es el principal responsable de juzgar los asuntos relacionados y el mecanismo de procesamiento real.

Comando de consulta: cat /proc/cpuinfo

Memoria: el bloque de memoria en el cerebro, donde la información recopilada de la piel, los ojos, etc. se registra para la CPU. Emite juicios . Comando de consulta: cat /proc/meminfo

Memoria física

La memoria física es la capacidad de la tarjeta de memoria que insertamos en la ranura de memoria de la placa base. Al observar la configuración de la computadora, lo principal a considerar es la memoria física

Memoria virtual

Windows utiliza tecnología de memoria virtual, es decir, se utiliza parte del espacio del disco duro. como memoria Cuando la memoria está completamente ocupada, la computadora llamará automáticamente al disco duro para que actúe como memoria para aliviar la tensión de la memoria.

Relación: En Windows se puede utilizar tanto la memoria virtual como la física. En Linux, la memoria virtual se utilizará sólo cuando la memoria física esté agotada.

Disco duro: El área de memoria. En el cerebro, los bloques registran datos importantes para poder utilizarlos nuevamente en el futuro.

Comando de consulta: fdisk -l (requiere permiso de root)

Resumen de puntos de conocimiento del sistema operativo Linux 2. La relación entre la memoria y el disco duro

Específico los comandos se discutirán más adelante Introducción

Resumen de los puntos de conocimiento del sistema operativo Linux 3. Comando de monitoreo del sistema operativo gt; escriba una copia separada

 ?vmstat

 ? sar

 ?iostat

 ?top

 ?gratis

 ?uptime

 ?netstat

 ?ps

?strace

?lsof

Resumen de los puntos de conocimiento del sistema operativo Linux 4. Cómo analizar el sistema operativo

Proceso real: lectura de datos》 Datos gt; disco duro》memoria virtual (swaP)》memoria》caché de CPU》cola de ejecución

Dirección de análisis, todo lo contrario

Resumen de puntos de conocimiento del sistema operativo Linux 4. A menudo aparecen varias partes Vulnerabilidades

?CPU: servidores de correo y servidores web dinámicos propensos a tales cuellos de botella

?Memoria: servidores de impresión, servidores de bases de datos y servidores web estáticos propensos a este tipo de cuellos de botella

E/S de disco: elementos con operaciones frecuentes de lectura y escritura

Ancho de banda de red: elementos con cargas y descargas frecuentes y grandes

Resumen de puntos de conocimiento del sistema operativo Linux 5. Algunas optimizaciones del propio Linux

1 Optimización de la instalación del sistema

Al instalar un sistema Linux, la partición del disco y la asignación de memoria SWAP afectan directamente al sistema. actuación.

Con respecto a la configuración de la memoria virtual SWAP, ya no existe el llamado requisito de que la memoria virtual sea el doble de la memoria física. Sin embargo, según la experiencia, si la memoria es pequeña (la memoria física es inferior a 4 GB), la partición de intercambio SWAP. el tamaño generalmente se establece en el doble de la memoria; si la memoria física es de aproximadamente 4 GB y menos de 16 GB, puede configurar el tamaño SWAP para que sea igual o ligeramente menor que la memoria física si la memoria es más de 16 GB; Puede configurar SWAP en 0, pero es mejor establecer un cierto tamaño de SWAP

2. Optimización de parámetros del kernel

Por ejemplo, si el sistema implementa una aplicación de base de datos Oracle, entonces el sistema necesita compartir el segmento de memoria (kernel.shmmax, kenerl.shmmni, kernel.shmall),

p>

el semáforo del sistema (kernel.sem), el identificador de archivo (fs.file0max) y otros parámetros. optimizarse y configurarse si se implementa una aplicación WEB, entonces los parámetros de red deben optimizarse de acuerdo con las características de la aplicación web, como modificar net.ip_local_port_range, net.ipv4.tc_tw_reuse, net.core.somaxconn. otras redes

Parámetros del kernel

3. Optimización del sistema de archivos

Disponible en Linux Los sistemas de archivos seleccionados son ext2, ext3, xfs, ReiserFS

El sistema de archivos estándar de Linux comienza con VFS, luego ext, ext2, ext2 es el sistema de archivos estándar en Linux, se agrega ext3 sobre la base de ext2. Se forma el registro. Desde VFS hasta ext3, la filosofía de diseño no ha cambiado mucho. Todos fueron diseñados en base a los conceptos de diseño de superbloque e inodo de la primera familia UNIX. El sistema de archivos XFS es un sistema de archivos de registro avanzado desarrollado por SGI. Proporciona acceso de baja latencia y gran ancho de banda a los datos del sistema de archivos mediante la distribución de solicitudes de disco, la localización de datos y el mantenimiento de la coherencia de la caché. Por lo tanto, XFS es extremadamente escalable y muy robusto. , con excelentes capacidades de registro, gran escalabilidad y escritura rápida. ReiserFS es un sistema de archivos de registro de alto rendimiento desarrollado bajo el liderazgo de Hans Reiser. Gestiona datos a través de un árbol completamente equilibrado, que incluye datos de archivos, nombres de archivos, soporte de registros, etc. En comparación con ext2 y ext3, la mayor ventaja es que el rendimiento y la seguridad del acceso han mejorado considerablemente. Tiene las ventajas de un uso eficiente y razonable del espacio en disco, un mecanismo de administración de registros de primera clase, un método de búsqueda especial, almacenamiento masivo en disco, etc.

Resumen de los puntos de conocimiento del sistema operativo Linux 5. Conocimientos clave

Memoria física y memoria virtual

1. ¿Cómo verificar la memoria física y la memoria virtual?

El comando superior puede verificar los valores de la memoria física y la memoria virtual.

2.Buffer

Es un chip de memoria en el controlador del disco duro, que tiene una velocidad de acceso extremadamente rápida. Es un búfer entre el almacenamiento interno del disco duro y el externo. interfaz. Dado que la velocidad de transferencia de datos interna del disco duro es diferente de la velocidad de transferencia de la interfaz externa, el caché desempeña un papel de almacenamiento en búfer. El tamaño y la velocidad del caché son factores importantes directamente relacionados con la velocidad de transmisión del disco duro y pueden mejorar en gran medida el rendimiento general del disco duro.

3.Caché

El caché de la CPU (Memoria caché) es una memoria temporal ubicada entre la CPU y la memoria. Su capacidad es mucho menor que la memoria pero la velocidad de intercambio es más rápida. la memoria mucho más. La aparición del caché es principalmente para resolver la contradicción entre la velocidad de operación de la CPU y la velocidad de lectura y escritura de la memoria. Debido a que la velocidad de operación de la CPU es mucho más rápida que la velocidad de lectura y escritura de la memoria, esto hará que la CPU pase mucho tiempo esperando. para que lleguen datos o escribir datos en la memoria.

Los datos en el caché son una pequeña parte de la memoria, pero la CPU está a punto de acceder a esta pequeña parte en un corto período de tiempo. Cuando la CPU llama a una gran cantidad de datos, puede evitar la memoria y llamarla. directamente desde el caché, acelerando así la velocidad de lectura

4.Interrupción de la CPU

Cuando la CPU termina de ejecutar una instrucción actual, si el periférico envía una solicitud de interrupción a la CPU, la CPU enviará una señal de respuesta de interrupción si se cumple la respuesta y, al mismo tiempo, desactivará las interrupciones, lo que indica que la CPU ya no acepta interrupciones de otro dispositivo. En este momento, la CPU encontrará qué dispositivo es la fuente de la solicitud de interrupción y guardará el contenido del propio contador de programa (PC) de la CPU. Luego transferirá a la rutina del servicio de interrupción que maneja esa fuente de interrupción. Después de que la CPU guarde la información en el sitio y realice servicios de equipo (como el intercambio de datos), restaurará la información en el sitio. Una vez completadas estas acciones, abra la interrupción y regrese a la siguiente instrucción del programa principal interrumpido original.

5. Cambio de contexto

Cambio de contexto o cambio de entorno

En un sistema multitarea, el cambio de contexto significa que el control de la CPU se transfiere a la tarea en ejecución Evento que ocurre al transferir a otra tarea lista.

En el sistema operativo, cuando la CPU cambia a otro proceso, es necesario guardar el estado del proceso actual y restaurar el estado del otro proceso: la tarea actualmente en ejecución cambia a lista (o suspendido, eliminado) y el otro es La tarea lista seleccionada se convierte en la tarea actual. El cambio de contexto incluye guardar el entorno de ejecución de la tarea actual y restaurar el entorno de ejecución de la tarea que se ejecutará.

El contexto del proceso está representado por la PCB del proceso (bloque de control de proceso, también conocido como PCB, bloque de control de tareas), que incluye el estado del proceso, valores de registro de la CPU, etc.

Por lo general, guarde el estado actual de la CPU realizando un guardado de estado y luego realice una restauración de estado para reiniciar la operación.

El cambio de contexto puede tener un impacto negativo en el rendimiento. Sin embargo, algunos cambios de contexto son más caros que otros; uno de los cambios de contexto más caros es el cambio de contexto entre núcleos. Un subproceso puede ejecutarse en un procesador dedicado o entre procesadores. Los subprocesos atendidos por un solo procesador tienen afinidad de procesador (Processor Affinity), que es más eficiente. Apropiarse y programar subprocesos en otro núcleo de procesador puede provocar errores de caché como resultado de errores de caché y cambios de contexto excesivos para acceder a la memoria local. En resumen, esto se denomina "cambio de contexto entre núcleos".

6. Procesos y subprocesos

Concepto de proceso

El proceso es la unidad básica que representa la asignación de recursos y también es la unidad básica para la programación y ejecución. Por ejemplo, cuando un usuario ejecuta su propio programa, el sistema crea un proceso y le asigna recursos, incluidas varias tablas, espacio de memoria, espacio en disco, dispositivos de E/S, etc. Luego, coloque el proceso en la cola de proceso listo. El programador del proceso lo selecciona y le asigna CPU y otros recursos relacionados antes de que el proceso realmente se ejecute. Por tanto, el proceso es la unidad de ejecución concurrente en el sistema.

Concepto de subproceso

El subproceso es la unidad más pequeña para realizar operaciones en un proceso, que también es la unidad básica para ejecutar la programación del procesador. Si un proceso se entiende como una tarea completada lógicamente por el sistema operativo, entonces un hilo representa una de las muchas subtareas posibles para completar la tarea

La relación entre procesos y hilos

( 1) Un hilo solo puede pertenecer a un proceso, y un proceso puede tener varios hilos, pero debe haber al menos un hilo. (2) Los recursos se asignan a los procesos y todos los subprocesos del mismo proceso comparten todos los recursos del proceso.

(3) El procesador está asignado a subprocesos, es decir, los subprocesos realmente se ejecutan en el procesador.

(4) Los subprocesos deben cooperar y sincronizarse durante la ejecución. Los subprocesos de diferentes procesos deben utilizar la comunicación de mensajes para lograr la sincronización.