Please enable JavaScript.
Coggle requires JavaScript to display documents.
Sistemas Operacionais - UN2 - Coggle Diagram
Sistemas Operacionais - UN2
Linguagem de programação
conjunto de palavras-chave que são utilizadas para compor sequências de comandos.
baixo nível
São aquelas que lidam diretamente com questões associadas ao hardware.
alto nível
são mais apropriadas para a construção de aplicativos diretamente usados pelo usuário, ou que não lidam com hardware.
Threads
Um passo em direção a programação concorrente.
Utilizada quando desejamos que um programa tenha duas ou mais linhas de execução simultâneas.
Linha de execução corresponde a uma sequência de comandos que estão sendo executandos.
Threads são ramais (loops) da linha principal, usada para atividades complementares. Acelerando o processamento pois realiza atividades aguardando o seu fim.
paralelismo
A execução de um processo é fragmentada (de maneira planejada e controlada) em diversos segmentos, em diversas cpus.
Quando um thread chega ao fim, a linha principal não é encerrada, ela continua a ser executada normalmente
Prioridades na fila de processos
Escalonamento
preempção
preemptivos
Aqueles que podem ter sua execução suspensa a qualquer momento
não preemptivos
Não podem ser interrompidos. Uma vez iniciados serão executados até o fim.
Motivos pelos quais os processos podem ser suspensos
Quando ocorre uma interrupção no contexto
IRQ (Interrupt request)
Tipos de escalonamento
FCFS
First Come, First Served
SJF preemptivo
Short job first, pode ser interrompido
Varia de acordo com a prioridade do processo
Quanto maior o pico de CPU, menor a prioridade, e vice-versa.
SJF não preemptivo
Short job first, não pode ser interrompido
FIFO
First In First Out
Algoritmo por prioridade simples
Programação concorrente
Sempre que dois ou mais processos necessitam usar os mesmos recursos ocorrem condições de corrida.
Compartilhamento de recursos
Semáforos
Variável de controle. O processo que conseguir 'travar' a variável terá acesso à memória.