switchos's People
switchos's Issues
SJF - Processos
SJF: Shortest Job First
O módulo de gerência de processos deverá ler da entrada padrão uma lista de processos com seus respectivos tempos de chegada e de duração, e deverá imprimir na saída padrão uma tabela contendo os valores para as seguintes métricas:
• Tempo médio de execução total do processo - turnaround;
• Tempo médio de resposta;
• Tempo médio de espera.
Exemplo de Entrada:
0 20
0 10
4 6
4 8
Exemplo de Saída (Cada linha apresenta a sigla do algoritmo e os valores médios (com uma casa decimal) para tempo total de
execução, tempo de resposta e tempo de espera, exatamente nesta ordem, separados por um espaço em branco.)
FIFO 30,5 19,5 19,5
SJF 21,5 10,5 10,5
RR 31,5 2,0 20,5
Teoria:
Tempo de execução total do processo é a quantidade de tempo necessária para executar totalmente um processo, ou seja, é o tempo total entre a criação de um processo e seu término. Tempo de resposta é a quantidade de tempo entre a requisição de execução de um programa (quando ele é colocado na fila de pronto) e o seu tempo de ir para a execução (sistema de compartilhamento de tempo), isso significa que é o tempo que o processo demora para produzir cada resposta a uma requisição (assim, vamos considerar que é o tempo decorrido entre uma ida e outra para a CPU. Essa métrica é importante para processos interativos). E tempo de espera é a quantidade total de tempo que um processo aguardou na fila de prontos esperando para ser escalonado, ou seja, é o tempo que processo ficou esperando na fila de prontos.
Segunda Chance
Simular o funcionamento dos principais algoritmosde substituição de páginas
Segunda Chance (com o bit R sendo zerado a cada 3 referências feitas à memória)
Entrada:
O primeiro número representa a quantidade de quadros de memória disponíveis na RAM e os demais representam a sequência
de referências às páginas, sempre um número por linha
Saída:
O programa deverá imprimir na saída o número de faltas de páginas obtido com a utilização de cada um dos algoritmos.
LRU
Simular o funcionamento dos principais algoritmosde substituição de páginas
LRU: (Least Recently Used ou Menos Recentemente Utilizado)
Entrada:
O primeiro número representa a quantidade de quadros de memória disponíveis na RAM e os demais representam a sequência
de referências às páginas, sempre um número por linha
Saída:
O programa deverá imprimir na saída o número de faltas de páginas obtido com a utilização de cada um dos algoritmos.
Criar estrutura da main
O formato de execução da main deve seguir o exemplo abaixo
$ <executável> número <nomeArquivoTexto.txt>
O 'número' citado acima pode ser
- Módulo de Gerência de Processos
- Módulo de Gerência de Memória
- Módulo de Entrada/Saída
Ao finalizar essa issue, alterar o README instruindo como deve ser a chamada do sistema via terminal
FIFO
Simular o funcionamento dos principais algoritmosde substituição de páginas
FIFO (First In, First Out)
Entrada:
O primeiro número representa a quantidade de quadros de memória disponíveis na RAM e os demais representam a sequência
de referências às páginas, sempre um número por linha
Saída:
O programa deverá imprimir na saída o número de faltas de páginas obtido com a utilização de cada um dos algoritmos.
RR - Processos
RR: Round Robin (com quantum = 2)
O módulo de gerência de processos deverá ler da entrada padrão uma lista de processos com seus respectivos tempos de chegada e de duração, e deverá imprimir na saída padrão uma tabela contendo os valores para as seguintes métricas:
• Tempo médio de execução total do processo - turnaround;
• Tempo médio de resposta;
• Tempo médio de espera.
Exemplo de Entrada:
0 20
0 10
4 6
4 8
Exemplo de Saída (Cada linha apresenta a sigla do algoritmo e os valores médios (com uma casa decimal) para tempo total de
execução, tempo de resposta e tempo de espera, exatamente nesta ordem, separados por um espaço em branco.)
FIFO 30,5 19,5 19,5
SJF 21,5 10,5 10,5
RR 31,5 2,0 20,5
Teoria:
Tempo de execução total do processo é a quantidade de tempo necessária para executar totalmente um processo, ou seja, é o tempo total entre a criação de um processo e seu término. Tempo de resposta é a quantidade de tempo entre a requisição de execução de um programa (quando ele é colocado na fila de pronto) e o seu tempo de ir para a execução (sistema de compartilhamento de tempo), isso significa que é o tempo que o processo demora para produzir cada resposta a uma requisição (assim, vamos considerar que é o tempo decorrido entre uma ida e outra para a CPU. Essa métrica é importante para processos interativos). E tempo de espera é a quantidade total de tempo que um processo aguardou na fila de prontos esperando para ser escalonado, ou seja, é o tempo que processo ficou esperando na fila de prontos.
FCFS
FCFS (First Come, First Serve)
Entrada:
A entrada é composta por uma série de números inteiros, um por linha, indicando, primeiro o número do último cilindro no disco (os cilindros variam de 0 até este número), o cilindro sobre o qual a cabeça de leitura está inicialmente posicionada e a sequência de requisições de acesso
A saída é composta por linhas contendo a sigla de cada um dos três algoritmos e a quantidade total de
cilindros percorridos pela cabeça de leitura para atender todas as requisições de acesso ao disco.
Exemplo de entrada:
199
53
98
183
37
122
14
124
65
67
Exemplo de saída:
FCFS 640
Arquivo de Depuração - Processos
FIFO - Processos
FIFO: First-In, First-Out
O módulo de gerência de processos deverá ler da entrada padrão uma lista de processos com seus respectivos tempos de chegada e de duração, e deverá imprimir na saída padrão uma tabela contendo os valores para as seguintes métricas:
• Tempo médio de execução total do processo - turnaround;
• Tempo médio de resposta;
• Tempo médio de espera.
Exemplo de Entrada:
0 20
0 10
4 6
4 8
Exemplo de Saída (Cada linha apresenta a sigla do algoritmo e os valores médios (com uma casa decimal) para tempo total de
execução, tempo de resposta e tempo de espera, exatamente nesta ordem, separados por um espaço em branco.)
FIFO 30,5 19,5 19,5
SJF 21,5 10,5 10,5
RR 31,5 2,0 20,5
Teoria:
Tempo de execução total do processo é a quantidade de tempo necessária para executar totalmente um processo, ou seja, é o tempo total entre a criação de um processo e seu término. Tempo de resposta é a quantidade de tempo entre a requisição de execução de um programa (quando ele é colocado na fila de pronto) e o seu tempo de ir para a execução (sistema de compartilhamento de tempo), isso significa que é o tempo que o processo demora para produzir cada resposta a uma requisição (assim, vamos considerar que é o tempo decorrido entre uma ida e outra para a CPU. Essa métrica é importante para processos interativos). E tempo de espera é a quantidade total de tempo que um processo aguardou na fila de prontos esperando para ser escalonado, ou seja, é o tempo que processo ficou esperando na fila de prontos.
Completar o case IO da Exec do Kernel
No Kernel temos o método Exec, ao finalizar o módulo IO, criar a handleIO e completar a Exec do Kernel
func Exec(module int, fileName string) {
switch module {
case PROCESS:
handleProcess(fileName)
case MEMORY:
handleMemory(fileName)
case IO:
// Implementar e completar com o método handleIO aqui
}
}
SCAN
SCAN
Entrada:
A entrada é composta por uma série de números inteiros, um por linha, indicando, primeiro o número do último cilindro no disco (os cilindros variam de 0 até este número), o cilindro sobre o qual a cabeça de leitura está inicialmente posicionada e a sequência de requisições de acesso
A saída é composta por linhas contendo a sigla de cada um dos três algoritmos e a quantidade total de
cilindros percorridos pela cabeça de leitura para atender todas as requisições de acesso ao disco.
Exemplo de entrada:
199
53
98
183
37
122
14
124
65
67
Exemplo de saída:
SCAN 236
SSF ou SSTF
SSF (ou SSTF – braço inicialmente para baixo);
Entrada:
A entrada é composta por uma série de números inteiros, um por linha, indicando, primeiro o número do último cilindro no disco (os cilindros variam de 0 até este número), o cilindro sobre o qual a cabeça de leitura está inicialmente posicionada e a sequência de requisições de acesso
A saída é composta por linhas contendo a sigla de cada um dos três algoritmos e a quantidade total de
cilindros percorridos pela cabeça de leitura para atender todas as requisições de acesso ao disco.
Exemplo de entrada:
199
53
98
183
37
122
14
124
65
67
Exemplo de saída:
SSTF 236
Função que retorna tempos médios - Processos
Descrição do Trabalho
Cada linha apresenta a sigla do algoritmo e os valores médios (com uma casa decimal) para tempo total de
execução, tempo de resposta e tempo de espera, exatamente nesta ordem, separados por um espaço em
branco.
Objetivo
Fazer uma função que recebe um slice de ProcessExecution e Process e retorna os valors médios de tempo total de
execução, tempo de resposta e tempo de espera
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.