Sistemas Operacionais
Faculdade de Computação
Aluno: __________________________________________________________________________
Sistemas Operacionais
Lista de Exercícios 01
Profª Valéria Q. Dos Reis
1. Das instruções a seguir, quais só podem ser executadas em modo núcleo?
1. Desabilite todas as interrupções.
2. Leia o horário do relógio.
3. Altere o horário do relógio.
4. Altere o mapa de memória.
2. Quando um programa de usuário faz uma chamada de sistema para ler ou escrever um arquivo em disco, ele fornece uma indicação de qual arquivo ele quer, um ponteiro para o buffer de dados e um contador. O controle é, então, transferido para ao sistema operacional, que chama o driver apropriado. Suponha que o driver inicie o disco, termine e só volte quando uma interrupção ocorrer. No caso da leitura do disco, quem chama deverá ser bloqueado (pois não há dados para ele). E no caso da escrita em disco? Quem chama precisa ser bloqueado aguardando o final da transferência do disco?
3. Qual é a finalidade de uma chamada de sistema em um sistema operacional?
4. Para cada uma das seguintes chamadas de sistema, dê uma condição que faça com elas falhem: fork, exec e unlink.
5. Considere count = write(fd, buffer, nbytes); essa chamada pode retornar algum valor em count que seja diferente de nbytes? Em caso afirmativo, por quê?
6.
Um arquivo cujo descritor é fd contém a seguinte sequência de bytes: 3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5. São executadas as seguintes chamadas de sistema: lseek(fd, 3, SEEK_SET); read(fd, &buffer, 4); onde a chamada lseek faz uma busca ao byte 3 do arquivo. O que o buffer contém ao final da leitura?
7. Imagine que um arquivo de 10 MB esteja armazenado em um disco na mesma trilha (#:50) em setores consecutivos. O braço do disco está situado sobre a trilha número 100. Quanto tempo é necessário para recuperar esse arquivo a partir do disco? Suponha que a transferência do braço de um cilindro a outro
leve