sistemas
1- Nesse problema você deverá fazer um comparação entre ler um arquivos monothread ou um servidor multithread. Obter uma requisição par trabalho, despachá-la e fazer o resto do processamento necessário demora. 15 ms, considerando que os dados necessários estejam em uma cache na memória principal. Se for preciso uma operação de disco, como acontece em um terço das vezes, serão necessários mais 75 ms, durante os quais o thread dorme. Quantas requisições por segundo o servidor pode manipular se for monothread? E se for multithread?
R:
a)monothread
1/3 * 90 + 2/3 * 15 = 40
30 + 10 = 40 ms
N = 1000/40 = 25
b)multithread
tempo médio = 15ms
N = 1000 / 15 = 66,666 => 66
2- Teria sentido limitar a quantidade de threads em um processso servidor?
R: Sim. Por duas razões. Uma grande quantidade de threads requer uma grande quantidade de memória.Uma grande quantidade de threads provoca uma grande quantidade de falhas.
3- Descrevemos no texto um servidor de arquivo multitreads mostrando por que ele é melhor do que um servidor monothread em um servidor com máquina de estado finito. Há alguma circunstâncias na qual um servidor monothread poderia ser melhor? Dê um exemplo.
R: sim. Em processos que são CPU Bound.
4- Associar estaticamente somente um thread com um processo leve não é uma idéia asssim tão boa. Por quê?
R: Tal associacao se traduz efetivamente a ter somente threads a nível de kernel, implicando que muito do ganho de perfomance que se tem ao ter threads ao nivel do usuario eh