Please enable JavaScript.
Coggle requires JavaScript to display documents.
INFRASW, Processos, Chamada ao sistema - Coggle Diagram
INFRASW
-
Virtualização do SO
-
-
virualização da CPU
Pseudoparalelismo
-
Escalonador -> vai definir a ordem das instancias dos processos e como e quando devem ser executadas, usando interrupções
-
Concorrencia
Regiões criticas
Quando dois processos usam a mesma variavel/arquivo, nao podemos executalos em "paralelo", pois a variavel assumiria comportaventos estranhos
Para isso, usamos mutex, que vai fazer com que certo bloco de codigo execute sem paralelismo, para que outros porcessos nao afetem o comportamento da variavel
Persistencia
) se refere à capacidade do sistema de armazenar dados de forma duradoura, mesmo após o desligamento do computador ou interrupção de energia.
Para isso, temos que estudas as memorias e sua hierarquia
-
-
-
- Local secondary storage
(local disks)
-
- Remote secondary storage
(distributed file systems, Web servers)
-
Processos
Tipos de interrupções
Interrupção de Relógio
A cada sinal do clock, o tratador de interrupção verifica se ja acabou o quantum de tempo para esse processo, se sim, manda o escalonador mandar outro processo para ser executado
-
-
Interrupções de hardware
São aquelas geradas por dispositivos externos a CPU, precisa-se salvar o estado do programa antes da interrupção, para que depois da pausa possamos voltar a executa-lo sem grandes problemas
-
-
Geral
O processo é um programa em execução, podendo ou não ter multiplas threads
-
Process Control Block
Estrutura de dados que contém informações suficientes p/ que seja possível interromper um processo em execucão e depois retomar sua execução de onde parou
. Loading: From Program to Process é o processo de carregamento de um programa na memória do sistema e sua transformação em um processo em execução. Isso envolve a alocação de espaço na memória, a cópia do programa para a memória, a resolução de dependências e a configuração do ambiente de execução do programa. Após o término do processo, o programa se torna um processo em execução na memória do sistema.
Heap: usada para dados alocados dinamicamente (malloc e free). Além disso, é necessária para a estrutura de dados (listas encadeadas, tabelas, hash, árvores)
Stack: Aloca dados, variaveis ou ponteiros (quando uma função é chamada, sendo desalocada ao fim da fução)
-
-
Chamada ao sistema
Se uma instrução precisa realizar alguma instrução privilegiada, ela realiza uma chamada do sistema, como coisas que acessam o hardware
-
-
- salva o conteudo dos registradores na pilha
-
- restaura o conteudo dos registradores
-