Respostas Capítulo 1 Tanenbaum SO
Por: aluis02 • 18/11/2016 • Trabalho acadêmico • 1.275 Palavras (6 Páginas) • 1.067 Visualizações
Instituto Federal de Educação Ciência e Tecnologia do Estado de São Paulo – IFSP
Campus Catanduva
Exercícios aula 4 – Sistemas Operacionais
Aluno: André Luis Cristiani
1. Quais são os estados básicos de um processo? Explique as suas trocas de estados (interações)?
Os estados básicos de um processo são: executando (realmente usando a cpu naquele instante), bloqueado (incapaz de executar enquanto não ocorrer um evento externo) e pronto (executável, temporariamente parado para dar lugar a outro processo). As trocas são: de executando para bloqueado, que acontece por uma impossibilidade de continuar executando por dependência de uma E/S, de executando para pronto, que acontece quando o escalonador decide dar lugar a outro processo por conta deste já ter sido processado por muito tempo, de bloqueado para pronto, que acontece quando o processo que foi bloqueado por alguma dependência recebe o dado que faltava, de pronto para boqueado, que acontece quando o escalonador é obrigado ou resolve substituir o processo que está em execução.
2. O que é o escalonador de processo de um SO? Qual a sua função?
Escalonador de processos é um algoritmo que cuida da eficiência da CPU, é responsável por selecionar o próximo processo a ser executado.
3. O que é uma Thread?
Thread é um pequeno programa que trabalha como um subsistema, sendo uma forma de um processo se autodividir em duas ou mais tarefas que podem ser executadas concorrentemente. Uma thread permite, por exemplo, que o usuário de um programa utilize uma funcionalidade do ambiente enquanto outras linhas de execução realizam outros cálculos e operações.
4. Diferencie Threads de Usuário e Threads de Núcleo.
As threads de usuário são implementadas por bibliotecas no nível do usuário. Mesmo que o SO não tenha suporte para threads, um pacote de threads de usuáio pode ser implementada. Cada processo precisa de sua própria tabela de threads, essas tabelas são gerenciadas pelo sistema de tempo de execução. A criação e escalonamento são realizadas sem o conhecimento do kernel. Caso uma thread realize uma chamada bloqueante ao sistema, o processo inteiro é bloqueado.
Nas threads de kernel, as criações, gerenciamentos e escalonamentos são realizados pelo prórpio kernel, as tabelas de thread e de processos são separadas. Por conta do custo relativamente alto de se criar e destruir threads de kernel, alguns sistemas optam por reciclar e reutilizar as threads. Caso uma thread realize uma chamada bloqueante ao sistema, o processo não será bloqueado.
5. Cite três itens que são criados por processo e três que são criados por thread.
Itens por processo: Espaço de endereçamento, variáveis globais e arquivos abertos.
Itens por threads: Contador de programas, Registradores e Pilha.
6. Explique os três tipos de sistemas estudados em aula.
Sistemas em batch: No contexto de sistemas operacionais, é um termo referente a um processamento de dados que ocorre através de um lote de tarefas enfileiradas, de modo que o sistema operacional só processa a próxima tarefa após o término completo da tarefa anterior.
Sistemas Interativos: Permitem que diversos programas sejam executados a partir da divisão de tempo do processador em pequenos intervalos, denominados fatia de tempo. Interrompe o programa e subtitui por um outro, enquanto o anterior fica aguardando por uma nova fatia de tempo.
Sistemas em tempo real: É aquele no qual o tempo tem uma função essencial. Por exemplo monitoração de pacientes em unidades de terapia intensiva de hospitais, piloto automático de aeronaves e robôs de controle em fábricas automatizadas.
7. Explique o algoritmo Shortest Job First.
O algoritmo Shortest Job First organiza os processos, em ordem crescente, fazendo com que os processos menores sejam executados primeiro. Isso resulta em um tempo médio mínimo de espera para cada conjunto de processos a serem executados. Por ser preempitivo, ele não tem o poder de alterar o processo quando este está em execução.
8. O que é Quantum?
Quantum é o tempo de execução que um processo ficará executando, ele é usado pelo tipo de algoritmo Round-Robin.
9. Explique o algoritmo Round-Robin.
No algoritmo Round-Robin cada processo teme um intervalo de tempo que ele é permitido executar, o quantum. Se o tempo de execução acabar, o processo sofrerá preenpção e será substituído por outro, a mesma coisa acontece caso o processo fique dependente de alguma E/S e mude para o estado de bloqueado. O que interessa para o escalonamento circular é o tamanho de seu quantum. Se um quantum for maior que um surto médio da CPU, uma preempção raramente ocorrerá. Um quantum muito curto causa muitos chaveamentos e reduz a eficiência da CPU, um quantum muito longo pode gerar uma resposta pobre às requisições curtas. Um quantum em torno de 20 ms a 50 ms é razoável.
...