Exercícios — System Calls
Exercício 1
Explique o que é uma system call e porque ela é necessária num sistema operativo.
Exercício 2
Indique a função das seguintes system calls:
open()
read()
write()
close()
Exercício 3
Considere o código:
int fd = open("dados.txt", O_RDONLY);
if (fd == -1) {
printf("Erro ao abrir ficheiro\n");
}
Explique:
O que faz a função open()
O que significa O_RDONLY
Porque se verifica se fd == -1
Exercício 4
Explique a diferença entre:
modo utilizador (user mode)
modo núcleo (kernel mode)
e a relação com as system calls.
Exercício 5
O que acontece quando um processo executa uma system call como read()?
Explique o papel do sistema operativo nesse processo.
Exercício 6
Indique se é Verdadeiro ou Falso:
write() serve para ler dados
close() fecha um ficheiro aberto
open() pode devolver -1
System calls permitem acesso direto ao hardware sem controlo
read() precisa de um file descriptor
O sistema operativo controla o acesso aos recursos