sistema operacional
1 - a
Enquanto executam, os processos apresentam 2 tipos de comportamento:
Ou usam a CPU
Cálculo, operações sobre a memória/registradores
Ou fazem Entrada/saída – liberam a CPU
Escrita na tela, entrada teclado, som, vídeo, rede, disco…
Fala-se de processos CPU-bound vs. I/O-bound
Caso perfeito: mesclar os dois tipos de CPU através de escalonamento.
Na real: difícil definir qual processo é CPU/IO –bound!
b)
• Processos nascem
– No momento de sua criação (via chamada de sistema –
Fork, spawn…)
• Processos vivem
– Executam na CPU, liberam a CPU (E/S)…
– Executam:
• Programas dos usuários
• Programas do sistema (daemons)
• Processos morrem
– Ou porque terminaram sua execução
– Ou porque um outro processo os matou:
Os processos evoluem
– Criado -> “em vida” -> morto
• Durante a vida, passam de “uso de CPU” e a “uso de E/S” (e reciprocamente) – Via chamada de sistema, interrupção, ou por causa de um evento.
• Ao ser criado, um processo estará pronto para usar a CPU.
– O que acontece se a CPU não está disponível?
– O que acontece se vários processos estão sendo criados no mesmo tempo? – Precisa-se manter uma lista de processos prontos!
2) Processo, no contexto da informática, é um programa de computador em execução.
Em sistemas operacionais, processo é um módulo executável único, que corre concorrentemente com outros módulos executáveis. Por exemplo, em um ambiente multi-tarefa(como o Unix) que suporta processos, um processador de texto, um navegador e um sistema de banco de dados são processos separados que podem rodar concomitantemente. Processos são módulos separados e carregáveis, ao contrário de threads, que não podem ser carregadas. Múltiplas threads de execução podem ocorrer dentro de um mesmo processo. Além das threads, o processo também inclui certos recursos, como arquivos e alocações dinâmicas de memória e espaços de endereçamento.
A comunicação entre processos é o grupo de mecanismos que