Informática Aplicada Sistemas Operacionais: processos, tarefas e Algoritmos de escalonamento de...
-
Upload
mateus-silveira-macedo -
Category
Documents
-
view
221 -
download
0
Embed Size (px)
Transcript of Informática Aplicada Sistemas Operacionais: processos, tarefas e Algoritmos de escalonamento de...

Informática AplicadaInformática AplicadaSistemas Operacionais: processos, tarefas e Algoritmos de Sistemas Operacionais: processos, tarefas e Algoritmos de
escalonamento de processoescalonamento de processo
Alunos: Marcelo Bonfim, Giovanni Faria, Diego Alunos: Marcelo Bonfim, Giovanni Faria, Diego Gustavo, Willian Santos e Willian SureckGustavo, Willian Santos e Willian Sureck
Professor Carlos GouveaProfessor Carlos Gouvea
11

TarefasTarefas
O conceito de tarefa:O conceito de tarefa:Execução de um ProgramaExecução de um Programa. .
Sistemas mono-tarefa:Sistemas mono-tarefa:Executam apenas uma tarefa de cada vez. Executam apenas uma tarefa de cada vez.
Sistemas multi-tarefa:Sistemas multi-tarefa:Um sistema multitarefa executa várias tarefas simultaneamenteUm sistema multitarefa executa várias tarefas simultaneamente
22

ProcessosProcessos
O que são processos?O que são processos?
Componentes de um processoComponentes de um processo
Gerenciador de TarefasGerenciador de Tarefas
Estados do ProcessoEstados do Processo
33

ProcessosProcessos
Processo x Programas Processo x Programas Exemplo: preparação de bolo Exemplo: preparação de bolo
A receita – programa (algoritmoA receita – programa (algoritmoOs ingredientes – dados de entrada Os ingredientes – dados de entrada O cozinheiro – processador O cozinheiro – processador Atividade de preparar o bolo (processo)Atividade de preparar o bolo (processo)
44

Algoritmo de escalonamentoAlgoritmo de escalonamento
Um dos componentes mais importantes da gerência de tarefas é o Um dos componentes mais importantes da gerência de tarefas é o escalonador (task scheduler), que decide a ordem de execução das escalonador (task scheduler), que decide a ordem de execução das tarefas.tarefas.
O algoritmo utilizado no escalonador define o comportamento do O algoritmo utilizado no escalonador define o comportamento do sistema operacional, permitindo obter sistemas que tratem de forma sistema operacional, permitindo obter sistemas que tratem de forma mais eficiente e rápida as tarefas a executar, que podem ter mais eficiente e rápida as tarefas a executar, que podem ter características diversas: aplicações interativas, processamento de características diversas: aplicações interativas, processamento de grandes volumes de dados, programas de cálculo numérico, etc. grandes volumes de dados, programas de cálculo numérico, etc.
55

Algoritmo de escalonamentoAlgoritmo de escalonamento
Escalonamento FCFS (First-Come, First Served)Escalonamento FCFS (First-Come, First Served) Consiste em simplesmente atender as tarefas em sequência, à medida em Consiste em simplesmente atender as tarefas em sequência, à medida em
que elas se tornam prontas (ou seja, conforme sua ordem de chegada na que elas se tornam prontas (ou seja, conforme sua ordem de chegada na fila de tarefas prontas).fila de tarefas prontas).
66

Algoritmo de escalonamentoAlgoritmo de escalonamento
Escalonamento FCFS (First-Come, First Served)Escalonamento FCFS (First-Come, First Served)
TAREFASTAREFAS T1T1 T2T2 T3T3 T4T4
INGRESSOSINGRESSOS 00 00 11 33
DURAÇÃODURAÇÃO 55 22 44 33
77

Algoritmo de escalonamentoAlgoritmo de escalonamento
Escalonamento SJF (Shortest Job First)Escalonamento SJF (Shortest Job First) Proporciona os menores tempos médios de execução e de espera. Como o nome Proporciona os menores tempos médios de execução e de espera. Como o nome
indica, ele consiste em atribuir o processador à menor (mais curta) tarefa da fila indica, ele consiste em atribuir o processador à menor (mais curta) tarefa da fila de tarefas prontas.de tarefas prontas.
Reduz o numero de processos em espera;Reduz o numero de processos em espera; Não-Premptivo – processo jamais será interrompido, a execução só para quando Não-Premptivo – processo jamais será interrompido, a execução só para quando
o processo termina;o processo termina;
88

Algoritmo de escalonamentoAlgoritmo de escalonamento
Escalonamento Escalonamento por revezamento ou Round-Robinpor revezamento ou Round-Robin
- - Algoritmo típico de sistemas operacionais de tempo compartilhado;Algoritmo típico de sistemas operacionais de tempo compartilhado;
- Cada processo recebe uma pequena fatia de tempo de CPU (QUANTUM) ;- Cada processo recebe uma pequena fatia de tempo de CPU (QUANTUM) ;- Após o término de quantum o processo é interrompido e colocado no final da fila de tarefas Após o término de quantum o processo é interrompido e colocado no final da fila de tarefas
prontas. prontas.
EXEMPLO:EXEMPLO:Quantum de 2 unidades de tempoQuantum de 2 unidades de tempo
99

Questões:Questões:
O que são Tarefas?O que são Tarefas?a)a) Algoritmos de processos.Algoritmos de processos.b)b) Execução de um fluxo sequencial de instruções;Execução de um fluxo sequencial de instruções;c)c) Trabalho executado pelo Hardware;Trabalho executado pelo Hardware;d)d) Processos da memoria RAM.Processos da memoria RAM.
O que são os algoritmos de escalonamento?O que são os algoritmos de escalonamento?a)a) Programa que controla os trabalhos carregados na memória flash.Programa que controla os trabalhos carregados na memória flash.b)b) Programa que trabalho a nivel de kernel;Programa que trabalho a nivel de kernel;c)c) Gerenciador de carga do processador;Gerenciador de carga do processador;d)d) Gerenciador das tarefas, que decide a ordem de execução das Gerenciador das tarefas, que decide a ordem de execução das
tarefastarefas..
1010