¿Cuáles son las partes principales del kernel de Linux?
Un kernel de Linux completo generalmente consta de 5 partes, que son administración de memoria, administración de procesos, comunicación entre procesos, sistema de archivos virtual e interfaz de red.
1. ¿Gestión de la memoria?
La tarea principal de la gestión de la memoria es cómo gestionar de forma razonable y eficaz la memoria física de todo el sistema, al tiempo que se responde rápidamente a las solicitudes de asignación de memoria de varios subsistemas del núcleo.
La administración de memoria de Linux admite memoria virtual y la memoria adicional se obtiene a través de la aplicación de disco. Normalmente, el sistema solo mantiene el bloque de programa actualmente en ejecución 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 la memoria es escasa.
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 multitarea, entonces, ¿cómo admitir 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 determinado intervalo de tiempo y luego el programador de procesos seleccionará cada proceso para ejecutarlo en secuencia de acuerdo con los diferentes intervalos de tiempo, por ejemplo, cuando el intervalo de tiempo. de un determinado proceso se agota. Luego, el programador seleccionará un nuevo proceso para continuar ejecutándose.
Dado que el tiempo y la frecuencia de cambio son muy rápidos, el usuario siente que se están ejecutando varios programas al mismo tiempo, pero de hecho, la CPU solo tiene un proceso ejecutándose al mismo tiempo, y todos estos Son procesos. El resultado de la gestión de la programació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 en el espacio del usuario entre diferentes procesos. Dado que diferentes procesos de usuario tienen diferentes espacios de proceso, la comunicación entre procesos debe lograrse con la ayuda de la retransmisión del kernel.
Generalmente, cuando un proceso está esperando a que se complete una operación de hardware, se suspenderá. Cuando se completa la operación del hardware, el proceso se reanuda y lo que coordina este proceso es el mecanismo de comunicación entre procesos.
4. ¿Sistema de archivos virtual?
El sistema de archivos virtual en el kernel de Linux utiliza un modelo de archivo común para representar varios sistemas de archivos. Este modelo de archivos bloquea muchas diferencias del sistema. el kernel de Linux para soportar 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 admitido por Linux, como ext2, ext3 y fat, etc., el controlador de dispositivo se refiere a cada hardware; control Módulo del controlador del dispositivo escrito por el controlador del dispositivo.
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.
Información ampliada:
El proceso de nacimiento, desarrollo y crecimiento del sistema operativo Linux siempre se ha basado en cinco pilares importantes: ¿sistema operativo UNIX?, ¿sistema operativo MINIX?, POSIX? Redes estándar y de Internet.
En 1981, IBM lanzó el IBM PC, un microordenador.
En 1991, el proyecto GNU había desarrollado muchas herramientas de software y había aparecido el compilador GNU C más esperado. El núcleo del sistema operativo GNU, HURD, se encontraba en la etapa experimental sin ninguna usabilidad y estaba. Básicamente no está disponible. No logró desarrollar un sistema operativo GNU completo, pero GNU sentó la base de usuarios y el entorno de desarrollo de Linux.
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 empezó a pensar y empezar a programar su propio sistema operativo.
El 13 de abril de 1991, publicó en comp.os.minix que había trasplantado exitosamente bash a minix, y que no podía dejarlo y no podía abandonar 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 central estaba formado por 5 personas. En ese momento, Linux 0.99 tenía alrededor de 100.000 líneas de código, y había. unos 100.000 usuarios Alrededor de 100.000.
En marzo de 1994, se lanzó Linux 1.0 con 170.000 líneas de código. Se lanzó bajo un acuerdo completamente libre y gratuito, y luego se adoptó oficialmente el acuerdo GPL.
En enero de 1995, Bob Young fundó RedHat (Little Red Hat) con GNU/Linux como núcleo, integró más de 400 módulos de programas de código abierto y creó una marca Linux, es decir, RedHat Linux. , conocida como "distribución" de Linux, vendida en el mercado. Se trata de un trabajo pionero en términos de modelo de negocio.
En enero de 2001, se lanzó Linux 2.4, que mejoró aún más la escalabilidad del sistema SMP. Al mismo tiempo, también integró muchas funciones para admitir sistemas de escritorio: compatibilidad con USB y tarjeta PC (PCMCIA). plug and play integrado y otras funciones.
En diciembre 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 kernel 2.6 tiene grandes cambios en el soporte del sistema.
En enero de 2004, SuSE se casó con Novell, SCO continuó "suplicando ayuda" 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 del soporte del sistema operativo Linux para 256 procesadores Itanium 2.