Xv6 es una reimplementación de la sexta edición de Unix para usarla como herramienta de aprendizaje. xv6 fue desarrollado por el MIT como un sistema operativo de enseñanza para su curso «6.828». Un hecho vital sobre xv6 es que contiene todos los conceptos básicos de Unix y tiene una estructura similar a Unix, aunque carece de algunas funciones que esperaría de un sistema operativo moderno. Este es un sistema operativo liviano donde el tiempo de compilación es muy bajo y también permite la depuración remota.
El código fuente de xv6 se puede clonar en su máquina de la siguiente manera:
https://github.com/mit-pdos/xv6-public
Agregar un programa de usuario a xv6:
después de completar la configuración de xv6 en su máquina, puede ver cómo agregar un nuevo programa de usuario a xv6. Un programa de usuario podría ser un simple programa en C. Sin embargo, simplemente agregar un archivo a la carpeta xv6 no sería suficiente, ya que necesitamos que esté disponible para el usuario en el indicador de shell.
Paso 1: Un programa en C simple
Primero que todo, creemos un programa en C como el siguiente. Lo guardamos dentro del directorio de código fuente del sistema operativo xv6 con el nombre first.c o el nombre que prefieras.
C
//A Simple C program include "types.h" include "stat.h" include "user.h" //passing command line arguments int main(int argc, char *argv[]) { printf(1, "My first xv6 program learnt at GFG\n"); exit(); } // This code is contributed by sambhav228
Paso 2: Edite el Makefile
El Makefile necesita ser editado para que nuestro programa esté disponible para compilar el código fuente xv6.
gedit Makefile
Esta línea de código abriría el Makefile en el editor de texto de gedit. A continuación, las siguientes secciones del Makefile deben editarse para agregar su programa primero.c
UPROGS=\ _cat\ _crash\ _echo\ _factor\ _forktest\ _grep\ _hello\ _init\ _kill\ _ln\ _ls\ _mkdir\ _null\ _rm\ _sh\ _share\ _stressfs\ _usertests\ _wc\ _zombie\ _first\ EXTRA=\ mkfs.c ulib.c user.h cat.c echo.c forktest.c grep.c kill.c\ ln.c ls.c mkdir.c rm.c stressfs.c usertests.c wc.c zombie.c\ first.c\ printf.c umalloc.c\ README dot-bochsrc *.pl toc.* runoff runoff1 runoff.list\ .gdbinit.tmpl gdbutil\
Ahora, nuestro Makefile y nuestro programa de usuario están listos para ser probados. Ingrese los siguientes comandos para compilar todo el sistema.
make clean make
Ahora, inicie el sistema xv6 en QEMU y cuando se inicie, ejecute el comando ls para verificar si nuestro programa está disponible para el usuario. En caso afirmativo, proporcione el nombre de ese programa ejecutable, que en mi caso es el primero en ver la salida del programa en la terminal.
Salida:
«Mi primer programa xv6 aprendido en GFG» muestra esta salida en la ventana del emulador QEMU.
Publicación traducida automáticamente
Artículo escrito por sambhav228 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA