Você está na página 1de 2

DISCIPLINA: SISTEMAS OPERACIONAIS

ALUNO: Isaak Yuri Andrade Lima


Lista de exercícios

1. Quais são as duas principais funções de um sistema operacional?

Gerir e possibilitar o uso dos recursos físicos do computador, além de sistematizar a


execução praticamente todos os processos realizados no computador

2. Qual é a diferença entre modo núcleo e modo usuário? Explique como ter dois
modos distintos ajuda no projeto de um sistema operacional.
3.
Em suma, o modo núcleo tem acesso a uma parte crucial do funcionamento do
computador, que seriam os recursos do mesmo, com esse acesso, o sistema operacional
pode melhor gerir as prioridades para um bom funcionamento da máquina, além de
proteger de possíveis “overusing´s” que poderiam vir a acontecer com recursos se não
especificado o quanto pode ser usado para aquele processo. Por exemplo, não se tem
sentido usar todo o recurso disponível para uma calculadora simples. E em resumo, o
modo usuário não tem acesso a todas essas opções, já que usuários comuns dificilmente
precisaram desse acesso para usar coisas habituais.

4. Qual é a finalidade das chamadas de sistema?

Chamadas de sistema podem ter diversas finalidades, desde executar novos processos, ou
mesmo instrui-los a para sua execução. De modo geral, uma chamada de sistema sempre
terá prioridade se comparada a chamadas de usuário, por exemplo.

5. Explique o funcionamento geral de um shell interpretador de comandos UNIX


especificando a sequência de execução, de quais chamadas de sistema ele faz uso e
para que serve cada chamada.

O shell permite basicamente a interação do usuário com o sistema operacional da maneira


mais direta possível, através dele é possível fazer diversas requisições ao SO. Por exemplo,
ao executarmos o comando “sort”, o shell criará um fork única e exclusivamente para
executar aquele programa, e posteriormente através do init finalizará o processo.

6. Um arquivo cujo descritor é fd contém a sequência de bytes: 3, 1, 4, 1, 5, 2, 9, 6, 5, 3,


5. As chamadas de sistema a seguir são feitas:

lseek(fd, 3, SEEK_SET);
read(fd, &buffer, 4);

onde a chamada lseek faz uma busca para o byte 3 do arquivo. O que o buffer
contém após a leitura ter sido feita?

Em suma, as chamadas descritas se tratam de uma requisição de leitura de um arquivo


no byte 3 do mesmo, finalizando o mesmo quando no buffer tiver o número “1” sendo
apontado.

7. Explique como a separação da política e mecanismo ajuda na construção de


sistemas operacionais.

Ter essa separação de forma bem definida, permite uma melhor organização da
sistematização do SO, como também os protocolos de execução a cada um deles. É
basicamente uma distribuição de tarefas que possuirão regras de execução bem
estabelecidas que possibilitarão nivelar a prioridade dos processos. A grosso modo,
Enquanto a politica definirá como será feito, o mecanismo definirá o meio pelo qual será
feito, possibilitando assim uma melhor gestão dos recursos da máquina, além de maior
eficacia na realização de tarefas.

8. Faça um esboço da hierarquia de processos gerada com a execução do código a


seguir.

1 c2 = 0;
2 c1 = fork();
3 if (c1 == 0)
4 c2 = fork();
5 fork();
6 if (c2 > 0)
7 fork();
8 exit();

Você também pode gostar