Sistemas operacionais escalonamento de processos

TallesNascimentoRodrigues 39,721 views 24 slides Mar 25, 2013
Slide 1
Slide 1 of 24
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24

About This Presentation

No description available for this slideshow.


Slide Content

Sistemas operacionais escalonamento de processos Jardel Ribeiro Raymundo Saraiva Talles Nascimento

Processos Um processo pode ser definido como "um programa em execução". O conceito de processo é bastante abstrato, mas é essencial no estudo de sistemas operacionais

Escalonadores   Qualquer sistema operacional que implemente multiprogramação deve dividir o tempo do processador entre os processos do sistema.

Escalonamento First-In-First-Out (FIFO) O processo que chegar primeiro, é o primeiro a ser selecionado para a execução. Necessário apenas uma fila de processos prontos, esperando pelo uso do processador. O processo utiliza a CPU sem ser interrompido. Problemas: Impossibilidade de prever quando um processo entrará em execução. Possibilidade de processos CPU-bound de menor importância prejudicarem processos de I/ O-bound mais prioritários .

Escalonamento Shortest-Job-First (SJF) Associa cada processo (JOB) ao seu tempo de execução. Quando o processador está livre, o processamento que ocupar menos tempo da CPU para terminar seu processamento é selecionado. Favorece os programas menores. Reduz o tempo médio de espera em relação ao FIFO. Problemas: Determinar, exatamente, quanto tempo de CPU o processo vai utilizar para terminar seu processamento.

Escalonamento Preemptivo O Sistema pode interromper um processo em execução para que outro processo utilize o processador. Permite que o sistema dê atenção imediata a processos mais prioritários, como no caso de sistemas em tempo real. Proporciona melhores tempos de resposta em sistemas de tempo compartilhado Compartilhamento do processador de uma maneira mais uniforme entre os processos. A troca de um processo pelo outro na CPU (mudança de contexto), causado pela preempção, gera um overhead no sistema. Critérios de preempção devem ser definidos para o overhead não se tornar crítico.

Escalonamento Circular (Round Robin) ou preempção por tempo Implementado por um algoritmo semelhante ao FIFO, porém, quando um processo passa para o estado de execução, existe um tempo-limite (quantum ou time- slice ) para sua utilização de forma contínua. Se o processo não terminou a execução, volta ao estado de pronto. Em geral, o valor do quantum de tempo está entre 100 e 300 ms . Nenhum processo poderá monopolizar a CPU. Algoritmo bastante adequado para sistemas multiusuários de tempo compartilhado. No caso, o processo CPU- bound tem mais chances de ser executado do que o processo IO- bound

Escalonamento por Prioridades ou preempção por prioridade Processos possuem diferentes prioridades de execução. Processos de maior prioridade são escalonados preferencialmente. Algoritmo Implementado mediante um clock , que interrompe o processador em determinados intervalos de tempo, reavaliando prioridades e, possivelmente, escalonando outro processo. Todos os sistemas de tempo compartilhado implementam algum tipo de prioridade, sendo esta uma característica do contexto de software .

Escalonamento por Prioridades ou preempção por prioridade Prioridade estática: Não é modificada durante a existência do processo. De simples de implementação. Pode ocasionar tempos de resposta elevados. Prioridade dinâmica: Pode ser modificada durante a execução do processo. O processo recebe um acréscimo à sua prioridade ao sair do estado de espera. Processos I/O- Bound terão mais chances de serem escalonados, compensando o tempo que passam no estado de espera. Os processos CPU- Bound podem ser executados enquanto os processos I/O - Bound esperam por algum evento. O tempo de resposta compensa o maior overhead e complexidade algorítmica.

Descrição dos Simuladores SOsim um simulador com recursos visuais que tem como principal objetivo emular os principais subsistemas de um sistema operacional multiprogramável , como gerência de processos, escalonamento e memória virtual por paginação.

Descrição dos Simuladores SOsim As principais funcionalidades e características do simulador são: Implementar o conceito de processo Criar processos CPU- bound e IO- bound ; Visualizar o Process Control Block (PCB) dos processos; Suspender/resumir e eliminar processos; Visualizar as mudanças de estado dos processos; Permitir visualizar estruturas internas do sistema Process Control Block (PCB); Process Page Table ; Page Table Entry ;

Descrição dos Simuladores SOsim Bugs do SOsim : Quando é aumentado o ciclo de clock a visualização das transições dos processos não correspondem com o esperado. É necessário reiniciar o simulador sempre que for fazer uma simulação diferente, pois a visualização gráfica continua sendo a da simulação anterior.

Descrição dos Simuladores SimulaRSO   Aplicação web utilizado como ferramenta de apoio para a disciplina de sistemas operacionais. O foco principal é simular graficamente e de forma intuitiva como funcionam os principais algoritmos de escalonadores de processos:  (FCFS, SJF, SRT, Round Robin)  que são utilizados no gerenciamento de processos concorrentes presentes.

Descrição dos Simuladores SimulaRSO   As principais funcionalidades e características do simulador são: Simular os principais algoritmos de escalonamento de processos com até 20 processos. Simular os principais algoritmos de escalonamento de disco com até 30 requisições de (I/O) em disco. Simular os principais algoritmos de substituição de página de memória virtual com até 30 palavras de bytes na escrita. Realizar simulação comparativa para analisar o comportamento de dois algoritmos distintos. Exibição comportamental dos algoritmos através de gráficos intuitivos. Projeto internacionalizado com suporte aos idiomas inglês e português.   Desvantagens:   Constatamos que o simulador coloca todos os tempos de chegada iguais a zero, mesmo que sejam introduzidos outros valores, o que acarreta em uma discrepância nos cálculos dos tempos de espera. No algoritmo SJF o simulador não analisa os processos corretamente quando estes tem tempo de ordem de chegada diferente.

COMPARAÇÃO ENTRE OS ALGORITMOS Referente à questão 6. Não sei se é pra deixar. Diga aí.

CENÁRIO 1 Processo Instante de Chegada Tempo de Execução Prioridade P1 3 1 P2 5 1 P3 6 1 P4 2 1 Algoritmos FCFS SJF Prioridades RR Utilização da CPU(%) 100 100 100 100 Produtividade da CPU(%) 25 25 25 25 Tempo Médio de Espera 6,25 4,25 6,25 7,75 Tempo Médio de Retorno 10,25 8,25 10,25 11,75

CENÁRIO 2 Processo Instante de Chegada Tempo de Execução Prioridade P1 5 6 2 P2 3 3 2 P3 1 2 2 P4 2 1 2 P5 7 10 2 P6 8 12 2 Algoritmos FCFS SJF Prioridades RR Utilização da CPU(%) 97,14 97,14 97,14 97,14 Produtividade da CPU(%) 17,14 17,14 17,14 17,14 Tempo Médio de Espera 4,17 4,17 7,17 12 Tempo Médio de Retorno 9,83 9,83 17,67 12,83

CENÁRIO 3 Processo Instante de Chegada Tempo de Execução Prioridade P1 3 3 P2 5 2 P3 6 1 P4 2 4 Algoritmos FCFS SJF Prioridades RR RR( Q 3 ) Utilização da CPU(%) 100 100 100 100 100 Produtividade da CPU(%) 25 25 25 25 25 Tempo Médio de Espera 6,25 4,25 7,75 7,75 6,75 Tempo Médio de Retorno 10,25 8,25 11,75 11,75 10,75

CENÁRIO 4 Processo Instante de Chegada Tempo de Execução Prioridade P1 3 3 P2 2 5 2 P3 3 6 1 P4 1 2 4 Algoritmos FCFS SJF Prioridades RR Utilização da CPU(%) 100 100 100 100 Produtividade da CPU(%) 25 25 25 25 Tempo Médio de Espera 3 3 7,5 4,5 Tempo Médio de Retorno 7 7 11,5 8,5

“ Tenkiú ” !
Tags