segunda-feira, 22 de maio de 2017

ESCALONAMENTO DE CPU

Exercicios:
PROCESSO          CPU BURST
      P1  -                          6
      P2  -                          8
      P3  -                          7
      P4  -                          3

Calcule o Tempo de espera médio utilizando o algoritmo SJF sem preempção

segunda-feira, 15 de maio de 2017

SIMULADOR DE GERENCIAMENTO DE CPU

http://lasdpc.icmc.usp.br/~ssc640/pos/i3s/index.php?lang=pt

CÓDIGO DE OPERAÇÕES MATEMÁTICAS- POR: YGOR MÁXIMO

#include 
using namespace std;

void somar(double a, double b){
 double soma;
 soma = a + b;
 cout << a << "+" << b << " = " << soma << endl;
}

void subtrair(double a, double b){
 double subtr;
 subtr = a - b;
 cout << a << "-" << b << " = " << subtr << endl;
}

void multiplicar(double a, double b){
 double mult;
 mult = a * b;
 cout << a << "*" << b << " = " << mult << endl;
}

void dividir(double a, double b){
 double div;
 div = a/b;
 cout << a << "/" << b << " = " << div << endl;
}

double n1, n2;

void pedir_num(){
 cout << "Escolha o primeiro numero: ";
 cin >> n1;
 cout << "Escolha o segundo numero: ";
 cin >> n2;
}

int main(){

 int opt;

 cout << "Calculadora\n\n1-Somar\n2-Subtrair\n3-Multiplicar\n4-Dividir\n5-Sair\n\n>> ";
 cin >> opt;

 switch(opt){
  case 1:
   pedir_num();
   somar(n1, n2);
   break;
  case 2:
   pedir_num();
   subtrair(n1, n2);
   break;
  case 3:
   pedir_num();
   multiplicar(n1, n2);
   break;
  case 4:
   pedir_num();
   dividir(n1, n2);
   break;
  case 5:
   exit(0);
  default:
   cout << "Opcao invalida!\n\n";
   main();
 }
}

quinta-feira, 6 de abril de 2017

EXERCÍCIOS DE ALGORITMOS PARTE 3

27) Ler um valor e escrever se é positivo, negativo ou zero.

28) Ler 3 valores (considere que não serão informados valores iguais) e escrever o maior deles.

29) Ler 3 valores (considere que não serão informados valores iguais) e escrever a soma dos 2 maiores.

30) Ler 3 valores (considere que não serão informados valores iguais) e escrevê-los em ordem crescente.

31) Ler 3 valores (A, B e C) representando as medidas dos lados de um triângulo e escrever se formam ou não um triângulo. OBS: para formar um triângulo, o valor de cada lado deve ser menor que a soma dos outros 2 lados.

32) Ler o nome de 2 times e o número de gols marcados na partida (para cada time). Escrever o nome do vencedor. Caso não haja vencedor deverá ser impressa a palavra EMPATE.

33) Ler dois valores e imprimir uma das três mensagens a seguir: ‘Números iguais’, caso os números sejam iguais ‘Primeiro é maior’, caso o primeiro seja maior que o segundo; ‘Segundo maior’, caso o segundo seja maior que o primeiro.

34) Seja o seguinte algoritmo: início ler x ler y z= (x*y) + 5 se z <= 0 então resposta ‘A’ senão se z <= 100 então resposta ‘B’ senão resposta ‘C’ fim_se fim_se escrever z, resposta fim Faça um teste de mesa e complete o quadro a seguir para os seguintes valores: X =3, Y = 2, Z= , resposta: X = 150, Y=3, Z= , resposta:

EXERCÍCIOS ALGORITMOS PARTE 2

14) Ler um valor e escrever a mensagem É MAIOR QUE 10! se o valor lido for maior que 10, caso contrário escrever NÃO É MAIOR QUE 10!

15) Ler um valor e escrever se é positivo ou negativo (considere o valor zero como positivo).

16) As maçãs custam R$ 1,30 cada se forem compradas menos de uma dúzia, e R$ 1,00 se forem compradas pelo menos 12. Escreva um programa que leia o número de maçãs compradas, calcule e escreva o custo total da compra.

17) Ler as notas da 1a. e 2a. avaliações de um aluno. Calcular a média aritmética simples e escrever uma mensagem que diga se o aluno foi ou não aprovado (considerar que nota igual ou maior que 6 o aluno é aprovado). Escrever também a média calculada.

18) Ler o ano atual e o ano de nascimento de uma pessoa. Escrever uma mensagem que diga se ela poderá ou não votar este ano (não é necessário considerar o mês em que a pessoa nasceu).

19) Ler dois valores (considere que não serão lidos valores iguais) e escrever o maior deles.

20) Ler dois valores (considere que não serão lidos valores iguais) e escrevê-los em ordem crescente.

21) Ler a hora de início e a hora de fim de um jogo de Xadrez (considere apenas horas inteiras, sem os minutos) e calcule a duração do jogo em horas, sabendo-se que o tempo máximo de duração do jogo é de 24 horas e que o jogo pode iniciar em um dia e terminar no dia seguinte.

22) A jornada de trabalho semanal de um funcionário é de 40 horas. O funcionário que trabalhar mais de 40 horas receberá hora extra, cujo cálculo é o valor da hora regular com um acréscimo de 50%. Escreva um algoritmo que leia o número de horas trabalhadas em um mês, o salário por hora e escreva o salário total do funcionário, que deverá ser acrescido das horas extras, caso tenham sido trabalhadas (considere que o mês possua 4 semanas exatas).

23) Para o enunciado a seguir foi elaborado um algoritmo em Português Estruturado que contém erros, identifique os erros no algoritmo apresentado abaixo: Enunciado: Tendo como dados de entrada o nome, a altura e o sexo (M ou F) de uma pessoa, calcule e mostre seu peso ideal, utilizando as seguintes fórmulas: - para sexo masculino: peso ideal = (72.7 * altura) - 58 - para sexo feminino: peso ideal = (62.1 * altura) - 44.7 inicio ler nome ler sexo se sexo = M então peso_ideal (72.7 * altura) - 58 senão peso_ideal (62.1 * altura) – 44.7 fim_se escrever  peso_ideal fim

24) Ler o salário fixo e o valor das vendas efetuadas pelo vendedor de uma empresa. Sabendo-se que ele recebe uma comissão de 3% sobre o total das vendas até R$ 1.500,00 mais 5% sobre o que ultrapassar este valor, calcular e escrever o seu salário total.

25) Faça um algoritmo para ler: número da conta do cliente, saldo, débito e crédito. Após, calcular e escrever o saldo atual (saldo atual = saldo - débito + crédito). Também testar se saldo atual for maior ou igual a zero escrever a mensagem 'Saldo Positivo', senão escrever a mensagem 'Saldo Negativo'.

26) Faça um algoritmo para ler: quantidade atual em estoque, quantidade máxima em estoque e quantidade mínima em estoque de um produto. Calcular e escrever a quantidade média ((quantidade média = quantidade máxima + quantidade mínima)/2). Se a quantidade em estoque for maior ou igual a quantidade média escrever a mensagem 'Não efetuar compra', senão escrever a mensagem 'Efetuar compra'.

EXERCÍCIOS ALGORITMOS PARTE 1

1. Faça o algoritmo para calcular a área (AREA) e o perímetro (P) de uma sala retangular, sendo que as dimensões da sala (L e C) são fornecidas pelo usuário. Apresente a área e o perímetro depois de calculados.

 2. Faça o algoritmo que calcule a idade de uma pessoa, sendo que o ano atual (AA) e o ano do nascimento da pessoa (AN) são fornecidos pelo usuário. (considere que a pessoa já fez aniversário nesse ano). Apresentar a idade da pessoa depois de calculada.

 3. Faça o algoritmo que calcule o valor em Reais (VAL_REAL), correspondente aos dólares que um turista possui no cofre do hotel. O programa deve solicitar os seguintes dados: Quantidade de dólares guardados no cofre (VAL_DOLAR) e cotação do dólar naquele dia (COT).

 4. Faça o algoritmo para calcular o valor monetário do desconto (D), sendo que o preço do produto (PR) é fornecido pelo usuário e o desconto é de 5%. Apresentar o valor do desconto.

 5. Faça o algoritmo para calcular quanto será pago por um produto (PAG), sendo que o preço do produto (PR) e o desconto (D), em porcentagem, são fornecidos pelo usuário. Apresentar o valor a ser pago pelo produto.

 6. Faça o algoritmo para calcular qual foi a porcentagem de desconto dada em um determinado produto (DESC), (PRECO) e o preço que foi cobrado por ele depois do desconto (PRECOF) são fornecidos pelo usuário.

 7. Faça o algoritmo que receba do usuário uma temperatura em graus Farenheit (F) e a transforme em graus Celsius (C). A fórmula é C = 5/9 (F – 32).

 8. Faça o algoritmo que calcule a quantidade de tijolos iguais (QTD) necessários para construir uma determinada parede. São dados de entrada do programa: dimensões do tijolo (altura – AT e largura – LT) e dimensões da parede a ser construída (altura – AP e largura – LP).

segunda-feira, 3 de abril de 2017

ATIVIDADE DE LABORATÓRIO 2

LABORATÓRIO 2 Abra o Netbeans no seu computador e descreva o contexto de software do processo. -Nome: - PID: -UID Execute os seguintes passos: 1. Execute o simulador SOsim e identifique as quatro janelas que são abertas na inicialização. Para esta experiência você pode fechar ou minimizar a janela da Gerência de Memória 2. Crie um processo: janela Gerência de Processos / Criar. Analise o seguinte: 1. Na janela Gerência de Processos, observe algumas informações sobre o contexto de software do processo como PID, prioridade, estado do processo e tempo de processador. 2. Na janela Gerência de Processador, observe o processo transicionando entre estados. 3. Na janela Gerência de Processador, movimente a barra de Clock de UCP e observe as variações ocorridas. Tendo feito isto, você seria capaz de responder, com base na observação do comportamento do processo criado, se o processo é I/O-bound ou CPU-bound? Justifique a resposta. ____________________________________________________________________________________________________ ____________________________________________________________________________________________________ ____________________________________________________________________________________________________ ____________________________________________________________________________________________________ Execute os seguintes passos: 1. Reinicialize o simulador. 2. Crie um processo do tipo CPU-bound: janela Gerência de Processos / Criar | janela Criação de Processos / Criar (tipo de processo deve ser CPU-bound). 3. Crie outro processo do tipo I/O-bound: janela Gerência de Processos / Criar | janela Criação de Processos / Criar (tipo de processo deve ser I/O-bound). Analise o seguinte: 1. Na janela Gerência de Processos, observe as mudanças de estado dos dois processos. 2. Na janela Gerência de Processador, observe o comportamento dos processos e as mudanças de contexto em função do tipo I/O-bound e CPU-bound. 3. Na janela Gerência de Processos, compare a taxa de crescimento do tempo de processador dos dois processos. Tendo feito isto, você seria capaz de analisar os efeitos gerados no caso de redução do tempo gasto na operação de E/S pelo processo I/O-bound. ____________________________________________________________________________________________________ ____________________________________________________________________________________________________ Melhore esta experiência refazendo-a com mais um processo, que seja misto, tanto CPU-Bound como IO-Bound.

quarta-feira, 22 de março de 2017

ATIVIDADE DE LABORATÓRIO 1

ATIVIDADE DE LABORATÓRIO 1 LABORATÓRIO DE SISTEMAS OPERACIONAIS
1) Abra o windows no modo prompt de comando. - Digitando CMD
2) Veja o conteúdo das pastas no diretório atual. - pesquise o comando na internet 
3) limpe a tela. 
4) Crie uma pasta com o seu nome - pesquise 
5) apague a pasta com o seu nome e saia do interpretador de comandos. 
6) Conforme visto em sala, veja o conceito de processamento em lote( Batch).
7) Abra o editor de textos e crie um job em lote.

 Digite os seguintes comandos: 
@echo off 
vol >tmpvol.tmp 
find "volume" tmpvol.tmp /i >nul 
if errorlevel 0 if errorlevel 1 goto english 
echo. 
echo Seu Windows é em Português 
goto fim 
:english 
echo. 
echo Your Windows is in Englishgoto fim 
:fim 
del tmpvol.tmp

Salve seu documento com o nome: verifica.bat - depois execute-o no modo de comando. 
8) Faça um .BAT para abrir a gaveta de CD-ROM . OBS: você precisará de uma API do Windows. Você pode utilizar um programa como NIRCMD.EXE

9) Escreva um programa em c++ que utilize uma Chamada de Sistema.

10) Escreva um arquivo .BAT para desligar seu computador.

sábado, 18 de março de 2017

 
Visitas