Este es un proyecto de la asignatura de Sistemas Operativos de segundo curso de Informática de la Universidad De A Coruña. Todas las tareas están en la carpeta labAssignments con descripciones para cada función.
El programa consta de un shell similar a lo que hacen bash y zsh, con algunas funciones incluidas y también la capacidad de ejecutar cualquier otro comando en el sistema *nix.
Puedes obtener una lista de todas las funciones incluidas ejecutando el comando “ ayuda ”, y una pequeña descripción de cada una ejecutando el comando “ ayuda ” siendo el comando que te interesa conocer. También puede ejecutar cualquier otro comando instalado en su sistema como en cualquier otro shell siempre que el nombre no entre en conflicto con los comandos incluidos. Para salir del shell puedes ejecutar salir , fin , bye o exit
Necesitas tener gcc instalado en un sistema operativo *nix como Linux BSD o MacOS. Puedes compilarlo con:
make
Y ejecútelo con:
./shell
Nuestro código está dividido en diferentes archivos para que sea más fácil de trabajar y comprender.
Contiene la función principal más las funciones de solicitud y procesamiento.
Contiene todos los encabezados de cada función excepto los específicos de la lista con una pequeña descripción. Incluye todas las bibliotecas que utilizamos. Define estructuras y tipos de datos que se utilizan en el código.
Optamos por usar solo una implementación de una lista para guardar diferentes tipos de valores que se especifican en el momento de la creación; puede verificar la creación de esas listas en la función principal en p4.c.
Contiene la lista de comandos y las funciones básicas de los mismos, aunque la mayoría dependen de funciones auxiliares.
Contiene todas las demás funciones que no encajan en las categorías anteriores. Decidimos separar gran parte del código en comandos.c para facilitar la navegación.