report #10

Fusionado
cromer fusionados 5 commits de report en master 2021-06-27 15:30:13 -04:00
Se han modificado 6 ficheros con 22 adiciones y 9 borrados
Mostrando solo los cambios del commit eefb71ccd5 - Mostrar todos los commits

Ver fichero

@@ -9,7 +9,7 @@
\usepackage{array}
\usepackage{adjustbox}
\usepackage{titling}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm,a4paper]{geometry}
\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm,letterpaper]{geometry}
\usepackage{amsmath}
\usepackage{listings}
\usepackage{xcolor}

9
doc/code/builtins.txt Archivo normal
Ver fichero

@@ -0,0 +1,9 @@
void run_builtin(StringArray *args) {
if (strcmp(args->array[0], "exit") == 0) {
exit_shell(args);
}
}
void exit_shell(StringArray *args) {
exit(EXIT_SUCCESS);
}

Ver fichero

@@ -13,10 +13,6 @@ void loop() {
insert_string_array(&args, token);
token = strtok_r(NULL, " ", &saveptr);
}
if (line != NULL) {
free(line);
line = NULL;
}
if (args.size == 0) {
continue;
@@ -25,7 +21,5 @@ void loop() {
if (is_builtin(args.array[0])) {
run_builtin(&args);
}
free_string_array(&args);
}
}

Ver fichero

@@ -1,2 +1,3 @@
\section{Código}
\input{sections/codigo/ciclo}
\input{sections/codigo/builtins}

Ver fichero

@@ -0,0 +1,5 @@
\subsection{Builtins}
Los builtins son comandos que son parte del shell, por lo tanto el sistema operativo no los proporciona. Un ejemplo es el comando\
''exit''. Este comando no existe en el sistema operativo, por lo tanto el shell debe actuar cuando el usuario lo escribe en vez\
de lanzar un proceso nuevo.
\lstinputlisting{code/builtins.txt}

Ver fichero

@@ -1 +1,5 @@
\section{Conclusiones}
Lo cosa mas importante que se puede aprender del proyecto es que el shell es un puente entre el usuario y el sistema operativo.\
El shell es responsable para lanzar programas, interpretar comandos y un shells mas avanzados interpretar un lenguaje de\
scripting para poder facilitar tareas o automatizarlas. Por lo tanto el shell es una parte integral para el sistema operativo\
especialmente en sistemas como GNU/Linux o BSD.