Coder Social home page Coder Social logo

switchos's People

Contributors

joaopedroassis avatar pedroaugustoramalhoduarte avatar waliffcordeiro avatar

Watchers

 avatar

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

  1. Módulo de Gerência de Processos
  2. Módulo de Gerência de Memória
  3. 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

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 photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.