AMSA
- De quina comanda de linux forma part aquest codi? (0.7 punts)
//...
ok = (setpriority (PRIO_PROCESS, 0, current_niceness + adjustment) == 0);
//...
execvp (argv[i], &argv[i]);
//...Suposant un procés amb PID 324, digues quina comanda de les que hem vist a classe usaries per a comunicar-t’hi/controlar aquest procés, explica quins son els arguments que rep la comanda i per a que serveixen. (0.7 punts)
Un cop un sysadmin ha creat i activat correctament un swapfile, escriu el següent programa amb C amb l’objectiu de consumir memòria de manera progressiva: (1.2 punts)
#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>
#include <stdbool.h>
const size_t BLOCK_SIZE = 600 * 1024 * 1024;
int main(int argc, char **argv) {
void *my_memory_pointer;
while (true) {
my_memory_pointer = malloc(BLOCK_SIZE);
memset(my_memory_pointer, 0, BLOCK_SIZE);
sleep(2);
}
return 0;
}Després d’un cert temps d’execució, el programa acaba amb el següent error:
core dumped with SIGSEGV (11)Per què es produeix aquest error? Com es podria evitar o solucionar?
Digues si es verdader o fals: (0.9 punts) [+0.15p per cada resposta correcta, -0.10p per cada error]
- Un
tmpfspot usar memòria SWAP i se li pot limitar la mida mà xima, mentre que a unramfsno. - Les
syscallsson la forma que té el kernel d’usar serveis de userspace. - Pujar-li el
nicea un procĂ©s requreix sudo mentre que baixar-li no. - El permĂs d’execiĂł en un directori permet que s’hi pugui entrar.
- Les dades emmagatzemades en un
tmpfsno sobreviuen després d’un reboot. - La comanda per enviar la senyal
SIGTERMa un procés essend -TERM <pid>.
- Un