Red de conocimiento informático - Conocimiento sistemático - Buscando una buena manera de estudiar el kernel de Linux

Buscando una buena manera de estudiar el kernel de Linux

Si aprendes algo y no puedes aplicarlo en un corto periodo de tiempo, y eso no te permite experimentar la sensación de pequeños logros, entonces habrá muy pocas personas que puedan perseverar. La motivación para aprender puede ser el interés, la curiosidad o algún tipo de motivación involuntaria al principio. Pero pase lo que pase, desde el principio estaba decidido y confiado, al menos creía que no me rendiría a mitad del camino. Pero un mal método agotará rápidamente la pasión inicial, y el peor resultado será hacerte rendirte y hacerte pensar que esto es demasiado difícil y que puede que no sea adecuado para ti en absoluto. No se trata de rectitud revolucionaria, pero la metodología sigue siendo eficaz en las cosas pequeñas. Entonces, ¿qué método se considera un buen método? ¿Lo que funciona para una persona funcionará para otra? ¿Entonces cada uno necesita un método único? Un buen método siempre tiene cierta generalidad, de lo contrario no sería considerado un buen método. El autor considera que debe tener las siguientes características:

1.. El esquema es claro, de lo menos profundo a lo más profundo, y lo más profundo se explica de una manera más sencilla. La mayoría de los métodos que todavía existen básicamente tienen esta característica. Si quieres aprender inglés, debes comenzar a aprender con las 26 letras en inglés. Por supuesto, para las personas en los países de habla inglesa, comienzan con balbuceos, pero pase lo que pase. , nadie comienza mirando el modo subjuntivo y discute la pronunciación británica y estadounidense. Un buen comienzo es la mitad de la batalla.

2. Sostenibilidad. Mantener la motivación para aprender y estimular aún más el interés por aprender. Esto es muy importante. Memorizar nuevos conceptos ciertamente puede ayudarte a aprender buena sintaxis, lógica y, por supuesto, algunas palabras nuevas, pero si lo usas para aprender el lenguaje hablado, existen algunos métodos inapropiados. Recuerdo que mi último método para aprender inglés hablado fue English 900 Sentences, que categorizaba oraciones, como saludos sociales, trato con la gente, etc. Cada categoría es un conjunto de diálogos: estoy cansado, estoy aburrido, me gusta, Te odio, no lo soporto, quiero maldecir a la gente... Luego aprenderé varios conjuntos de diálogos al día, los repetiré frase por frase junto con el MP3, y luego esperaré hasta el fin de semana para ir al inglés. rincón para charlar con extranjeros Sabes cuando te atreves a levantarte y hablar en voz alta con los demás. Después de haber memorizado inglés decenas de veces, sentirás lo exitoso que eres, por insignificante que sea. Al final, esto crea un buen ciclo, que no sólo te permite escapar del aburrido proceso de aprendizaje, sino que también te hace sentir que has encontrado un buen método y aumenta tu confianza. Una de las malas formas de aprender el código del kernel de Linux es leer libros o materiales llenos de referencias de códigos.

3. La naturaleza paso a paso puede dividir de forma natural y razonable las etapas de aprendizaje, lo que refleja la segunda característica. La mayoría de las veces esto depende del progreso personal en el aprendizaje, pero un buen método puede reflejar de forma natural las etapas y pasos del aprendizaje. Al mismo tiempo, la velocidad de aprendizaje debe limitarse de manera invisible. Esto es para contener el entusiasmo de la mayoría de las personas por buscar el éxito. La razón por la que muchas personas, incluido el autor, toman desvíos y finalmente se dan por vencidos es porque están "ansiosos por un éxito rápido". Siempre pensando en tomar atajos y hacer las cosas rápidamente, ¡al final es que “las prisas generan desperdicio”! Recuerde, lo lento es rápido.

4. Es universal, es decir, eficaz para la mayoría de personas. Creo que si un método tiene las características anteriores, entonces es básicamente universal y al menos puede adaptarse a una región o un grupo de edad. Por supuesto, para dirigirse a grupos específicos de personas, es posible que se necesiten algunos cambios: por ejemplo, para las 26 letras en inglés, para los adultos solo se requieren los símbolos fonéticos y los métodos de escritura, pero para los niños en edad preescolar, se deben usar imágenes y colores. para expresarlos. En el aprendizaje del código del kernel de Linux, es general hacer más dibujos y resumir más. Además, algunas personas pueden comenzar desde el cargador de arranque si tienen una buena base de ensamblaje o hardware. Algunas personas no pueden, pero pueden comenzar desde módulos de funciones del kernel relativamente simples, lo cual también es general.

5. Manténgase al día. Esto es lo más aterrador de la metodología, y también es el estado máximo de los métodos ideales. Para la mayoría de los asuntos personales, no debería haber necesidad de alcanzar este nivel. Por supuesto, los métodos para alcanzar este estado funcionan todo el tiempo en varios. lugares en la tierra, de lo contrario, esos métodos serán eliminados con el tiempo. El método para mantenerse al día se refleja en el aprendizaje del código del kernel de Linux, que debe alcanzar un cierto nivel. En este momento, es prospectivo y exploratorio.

En el proceso de aprender el código del kernel de Linux, definitivamente consultará muchos libros y recursos en línea, pero no todos los libros y recursos pueden ayudarlo a avanzar o guiarlo en la dirección correcta. . Es posible que se necesiten diferentes libros en algunas etapas del aprendizaje. Por ejemplo, en la primera etapa, hay algunos libros básicos disponibles como referencia. Hay muchos libros en esta etapa, como "La cocina privada de Linux del hermano Niao", que presenta los conceptos y usos básicos del sistema Linux. Se puede decir que la "Guía avanzada de secuencias de comandos Bash" es una herramienta poderosa para aprender Shell. Los ejemplos y explicaciones detallados son suficientes para convertirlo en un experto en Shell. Además, puede configurar algunos servidores de uso común en la plataforma Linux para aumentar la práctica. Dado que la mayoría de las personas han aprendido el lenguaje C durante la universidad, aún puede tener a mano el lector clásico de Tan Haoqiang como manual de referencia en la segunda etapa del aprendizaje. "Linux C Programming One-Stop Learning", aunque introduce el estándar C, también se ocupa de la programación de la plataforma Linux: programación de red, análisis de formato ELF, principios de enlace y Makefile. Si no menciona los dos libros famosos "Programación avanzada en entorno UNIX" y "Programación de redes UNIX" en este momento, definitivamente protestará. Aunque el título del libro contiene UNIX, dado que Linux es un sistema similar a UNIX, estos dos libros son igualmente aplicables al entorno Linux. La "Programación avanzada en entorno UNIX" se conoce como la "Biblia" de la programación UNIX y se ha publicado una y otra vez. Su autor principal, W. Richard Stevens, es un experto en redes y UNIX de renombre internacional, un respetado autor de libros sobre informática y un popular profesor y consultor; Desafortunadamente, el Sr. Stevens falleció el 1 de septiembre de 1999. Dennis Ritchie, el autor original del sistema operativo UNIX, comentó el libro como "una obra maestra reconocida como excelente y original". Ningún elogio es demasiado, porque parece que no hay otra forma que consultar la documentación de las funciones del sistema o las funciones de la biblioteca glibc o ver directamente el código fuente para obtener información más completa que este libro. Si puede obtener una descripción y un análisis más detallados que este libro en algunos sitios web o libros, definitivamente no saldrá mal usarlo como referencia. Me gusta mucho "Pararse sobre hombros de gigantes" de la primera página de este libro: Pararse sobre hombros de gigantes. "Programación de redes UNIX" es también otro libro famoso de W. Richard Stevens. Compensa las deficiencias de la "Programación avanzada en entornos UNIX" en términos de programación de redes y goza del mismo estatus que este libro. La última versión del libro ha sido revisada nuevamente por expertos en redes de renombre mundial, agregando contenido relacionado con IPv6, SCTP y administración de claves. Así que agradezcamos: ninguno de los libros ha perdido su vitalidad debido al fallecimiento del Sr. Stevens.