¿Cuáles son las partes principales del kernel de Linux?
1. ¿Gestión de memoria?
La tarea principal de la administración de memoria es administrar de manera razonable y efectiva la memoria física de todo el sistema, mientras responde rápidamente a las solicitudes de asignación de memoria de varios subsistemas del kernel.
La administración de memoria de Linux admite memoria virtual y el exceso de memoria se obtiene a través de aplicaciones de disco. Normalmente, el sistema solo guarda el bloque de programa actualmente en ejecución en la memoria y otros bloques de programa se guardan en el disco. La gestión de la memoria es responsable de intercambiar bloques de programa entre el disco y la memoria cuando no hay suficiente memoria.
2. ¿Gestión de procesos?
La gestión de procesos controla principalmente el acceso de los procesos del sistema a la CPU. Cuando es necesario ejecutar un proceso, el programador de procesos inicia un nuevo proceso de acuerdo con un algoritmo de programación basado en prioridades. Linux admite la multitarea, entonces, ¿cómo admitir la multitarea en una sola CPU? Este trabajo se logra mediante la gestión de la programación de procesos.
Cuando el sistema se está ejecutando, a cada proceso se le asignará un intervalo de tiempo determinado y luego el programador de procesos seleccionará cada proceso para ejecutarlo en secuencia de acuerdo con diferentes intervalos de tiempo. Por ejemplo, cuando un proceso se queda sin intervalos de tiempo, el programador elegirá un nuevo proceso para continuar ejecutándose.
Debido a que el tiempo y la frecuencia de cambio son muy rápidos, los usuarios sienten que se están ejecutando varios programas al mismo tiempo, pero en realidad solo se está ejecutando un proceso de CPU al mismo tiempo. Este es el resultado de la programación del proceso. gestión.
3. ¿Comunicación entre procesos?
La comunicación entre procesos se utiliza principalmente para controlar la sincronización, el intercambio de datos y el intercambio entre diferentes procesos en el espacio del usuario. Debido a que diferentes procesos de usuario tienen diferentes espacios de proceso, la comunicación entre procesos debe implementarse mediante llamadas al kernel.
Normalmente, un proceso se suspende mientras se espera que se completen las operaciones del hardware. Cuando se completa la operación del hardware, el proceso se reanuda y es el mecanismo de comunicación entre procesos el que coordina este proceso.
4. ¿Sistema de archivos virtuales?
El sistema de archivos virtual en el kernel de Linux utiliza un modelo de archivo común para representar diferentes sistemas de archivos, protegiendo muchas diferencias en sistemas de archivos específicos, permitiendo que el kernel de Linux admita muchos sistemas de archivos diferentes.
Este sistema de archivos se puede dividir en sistema de archivos lógico y controlador de dispositivo: el sistema de archivos lógico se refiere al sistema de archivos compatible con Linux, como ext2, ext3, el controlador de dispositivo fat se refiere al dispositivo escrito para cada hardware. módulo controlador del controlador.
5. ¿Interfaz de red?
La interfaz de red proporciona la implementación de varios estándares de red y soporte para diversos hardware de red. Las interfaces de red generalmente se dividen en protocolos de red y controladores de red. La parte del protocolo de red es responsable de implementar todos los protocolos de transporte de red posibles.
Los controladores de dispositivos de red son los principales responsables de comunicarse con los dispositivos de hardware. Cada dispositivo de hardware de red posible tiene un controlador de dispositivo correspondiente.
Datos ampliados:
El nacimiento, desarrollo y crecimiento del sistema operativo Linux siempre se ha basado en cinco pilares importantes: ¿UNIX? ¿Sistema operativo MINIX? ¿Sistema operativo, proyecto GNU, POSIX? estándares y redes de Internet.
En 1981, IBM lanzó el IBM PC, un microordenador.
En 1991, el proyecto GNU desarrolló muchas herramientas y software, y apareció el compilador GNU C más esperado. HURD, el núcleo del sistema operativo GNU, siempre ha estado en la etapa experimental y nunca se ha lanzado. En esencia, no ha podido desarrollar un sistema operativo GNU completo. Sin embargo, GNU ha sentado las bases para los usuarios de Linux. entornos de desarrollo.
A principios de 1991, Linus Torvalds comenzó a aprender el sistema operativo minix en una microcomputadora compatible con 386sx. En abril de 1991, Linus Torvalds comenzó a elaborar y preparar su propio sistema operativo.
El 13 de abril de 1991, publicó en comp.os.minix que había portado exitosamente bash a minix. No podía dejarlo y no podía vivir sin este software shell.
En 1993, alrededor de 100 programadores participaron en la escritura/modificación del código del kernel de Linux, de los cuales el grupo principal estaba formado por 5 personas. En este momento, Linux 0.99 tiene aproximadamente 100.000 líneas de código y aproximadamente 654,38 millones de usuarios.
En marzo de 1994, se lanzó Linux 1.0 con 170.000 líneas de código. En ese momento, se lanzó bajo un acuerdo completamente libre y gratuito, y luego se adoptó oficialmente el acuerdo GPL.
1995 65438 En octubre, Bob Young fundó RedHat (Little Red Hat), que tomó GNU/Linux como núcleo, integró más de 400 módulos de programas de código fuente abierto y desarrolló una marca Linux, a saber, RedHat Linux. , se comercializa como una "distribución" de Linux. Se trata de un trabajo pionero en modelo de negocio.
En 2001 1, se lanzó Linux 2.4, que mejoró aún más la escalabilidad del sistema SMP y también integró muchas características que admiten sistemas de escritorio: USB, soporte PCMCIA, plug and play integrado, etc.
Junio 5438 En febrero de 2003, se lanzó la versión 2.6 del kernel de Linux. En comparación con la versión 2.4 del kernel, el soporte del sistema ha experimentado grandes cambios.
En octubre de 65438 de 2004, SuSE se casó con Novell, SCO continuó "suplicando favores" a pesar de la infamia, y Asianux y MandrakeSoft también anunciaron ganancias trimestrales por primera vez en cinco años. En marzo, SGI anunció la implementación exitosa de un sistema operativo Linux que soporta 256 procesadores Itanium 2.