Diseño XDU-OS-Course
Debido al impacto de CoVID-19, la clase del sistema operativo debe realizarse en el hogar. Según la Convención, debe llevarse a cabo en la sala de computadoras, porque los estudiantes han sido templados por los estudiantes y deben ser relativamente estables, y la sala de computadoras generalmente es más consistente con el software proporcionado por el maestro.
Sin embargo, alguien completó esta configuración del curso en casa, usando VMware15 y Ubuntu18.04 que ya había instalado, lo que era seriamente incompatible con la versión de video del curso. Pisó innumerables trampas y lo reinstaló más de diez veces. Ahora uso mi dolorosa experiencia para llenar el agujero para todos.
En el momento del error de operación, comience otro día . Antes de hacer el experimento $ K $, por favor ponga el experimento $ i $ ( $ Forall I, I Leqslant k $ ) Lea todas las guías.
¡Pre-experiencia previa y precauciones!
Hay algunos pequeños experimentos antes del experimento formal. Aquí hay algunas precauciones. Si no lo encuentra, no significa que no lo encontrará en los experimentos posteriores:
- Memoria 2-4G (si la computadora a menudo se enciende, se recomienda que el núcleo tenga una pantalla negra, el núcleo está arrancando la pantalla negra), 4-6 núcleos, al menos 35 g para el disco duro (los expertos no pueden tener 35 g), modo de puente de red;
- VMware utiliza las versiones 14 y 15, y las versiones de Ubuntu 18+ pueden avanzar constantemente. El archivo anterior proporciona un espejo Ubuntu , y VMware puede descargarlo por sí mismo;
- Es probable que la instalación de VMware Tools no funcione, haga clic en el artículo anterior para manejarlo;
- Los archivos de arrastre de herramientas de VMware pueden estar atascados . Reinicie el proceso de matar. Repita n veces y siempre tendrá éxito una vez. Recuerde escribir la captura de pantalla en el informe.
- ¿Cómo transferir archivos cuando las herramientas VMware se atasquen con frecuencia? El tío Wen irá allí;
- VMware es lento en "Inside the Wall" y por favor guárdate.
Un lugar más allá de la ley La velocidad de descarga se toca y la máquina puede ingresar Un lugar más allá de la ley Consulte el artículo anterior; - Recuperación de la máquina virtual por error: barra de menú -> archivo -> escanear la máquina virtual (escanear en la ruta de instalación de su máquina virtual original);
- Si el disco duro no es lo suficientemente grande, consulte la máquina virtual VMware expande el espacio de disco del sistema Ubuntu.
¿Por qué no usar la versión escolar ?
- ¡El entorno de su computadora! = El entorno informático de la escuela;
- Las versiones de software y kernel proporcionadas por la escuela son extremadamente antiguas, y no hay garantía de ningún problema;
- Si usa versiones escolares en parte, las versiones en parte no escolar generalmente te pondrán furioso y difícil suprimir tus emociones.
Compilación de núcleo de Lab1
Consejos:
No compile el núcleo proporcionado por la escuela. Descargue el último desde el sitio web oficial o úselo proporcionado por mí en la carpeta "Compilación del núcleo LAB1" (de lo contrario, habrá inconsistencias en la versión GCC, errores de compilación, etc.). Se recomienda elegir la versión 4 (no habrá demasiados errores en comparación con la versión inferior, y las ventajas en comparación con la versión 5 se reflejan en el segundo experimento);
Se recomienda ver el video de la escuela primero, comprender los pasos y luego consultar el núcleo de la versión CSDN Tutorial 4 y el núcleo de la versión CSDN Tutorial 5 para completar la compilación del núcleo;
Para compilar 5 versiones bajo Ubuntu en el entorno 18.04:
sudo apt-get install gcc make libncurses5-dev openssl libssl-dev
sudo apt-get install build-essential
sudo apt-get install pkg-config
sudo apt-get install libc6-dev
sudo apt-get install bison
sudo apt-get install flex
sudo apt-get install libelf-dev
- Herramienta de mejora de la eficiencia : compilación multiproceso (siempre que tenga múltiples núcleos al configurar), haga esto al hacer (si se escriben 4 núcleos -j4, si se escriben x núcleos -Jy, donde Y≤x):
- ¿Por qué no ve la opción cuando comienza la computadora? Siga la operación ". Lab1 Compilación del núcleo", busque "/etc/predeterminado", ingrese grub y cuente la séptima línea de arriba a abajo grub_timeout_style = oculto con # annotation.
— ¿Por qué compilar diferentes núcleos?
- Es difícil completar el trabajo completo de la escuela. Las diferentes versiones del núcleo tienen puntos de bonificación, y la nueva versión del núcleo es simple.
Llamada del sistema LAB2
Consejos:
- Se recomienda encarecidamente utilizar el 4to versión del núcleo para la compilación, porque las modificaciones del código de llamada del sistema de la versión superior son diferentes, mientras que hay pocos tutoriales para la quinta versión;
- Después de ver el video de la escuela, mire la llamada del sistema agregada en Ubuntu 18.04.
Módulo de núcleo LAB3
Hay dos partes de este experimento. El primero es el siguiente es lo que dijo el maestro, y el principal es el segundo.
El mayor beneficio de este experimento es que no hay necesidad de compilar el núcleo;
Consulte los dos métodos para agregar llamadas del sistema en Linux/Ubuntu18.04 (método de compilación del kernel | Adición del módulo) y [utilizando el método del módulo Kernel para agregar llamadas simples al sistema;
Nota: Primero, siga las indicaciones del blog que encuentre el número de llamada del sistema disponible, mire la dirección de la tabla de llamadas del sistema a través del comando dado por el blog (si hay múltiples direcciones de tabla, mire el nombre más normal) y asegúrese de modificar directamente el código de blog en función del código de blog que se ejecuta primero.
Controlador de dispositivos LAB4
- Es importante entender lo que dijo el maestro antes de comenzar;
- Error desbloqueado_ioctl (el error de advertencia es error), int-> largo, consulte las funciones IOCTL y desbloqueo_ioctl para discutir;
- Si la tabla de parámetros de función está vacía, recuerde escribir vacío, a veces también informará un error;
- He proporcionado un código fuente relevante solo para referencia . Implica información como el nombre y el número de alumnos, y los nombres de variables son bastante especiales, por lo que tengo que escribirla con el maestro;
- Lab4 es el código de prueba, y también es solo para referencia .