Lista De Exerc Cios SO
R: Programa é um algoritmo expresso por uma linguagem adequada ao computador que contém atividades que devem ser executadas, processo são as atividades contidas no programa, ou seja, um programa corresponde a um conjunto de processos, já a Thread é o fluxo de execução de cada processo.
2 - No que diz respeito à implementação, qual a diferença entre threads de usuário (user-level threads) e threads de kernel (kernel-level threads)?
R: Threads de Usuário são implementados por bibliotecas no nível do usuário, a criação e o escalonamento são realizados sem o conhecimento do Kernel, já as Threads de Kernel são suportadas diretamente pelo SO, a criação, o escalonamento e o gerenciamento são feitos pelo Kernel.
3 - O custo (e conseqüentemente o tempo) de criação de uma thread (seja ela uma thread de usuário ou uma thread de kernel) é menor que o custo de criação de um processo. Por quê?
R: Porque as threads são mais fáceis de gerenciar do que processos, pois elas não possuem recursos próprios: o processo é que tem.
4 - Um processo é caracterizado por ser um “programa em execução”. Durante sua existência no sistema, um processo pode assumir basicamente três estados. Cite quais são esses estados e descreve os eventos que fazem com que um processo mude de um estado para o outro.
R: Em execução, pronto e bloqueado.
De executando para bloqueado: Quando houver chamada ao sistema, block ou pause, ou quando não houver entradas disponíveis para que o processo continue sua execução.
De executando para pronto ou de pronto pra executando: Ocorre durante o escalonamento de processos, quando o tempo destinado àquele processo acabou e outro processo é colocado no processador.
De bloqueado para pronto: Ocorre quando o evento esperado pelo processo bloqueado ocorre, se o processador esta parado o processo ocorre imediatamente, caso contrário o processo deve esperar por sua vez.
5 - Qual a diferença entre processos CPU-bound e