Skip to content

eduschadesoares/sistemasOperacionais

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sistemas Operacionais (3º Ano)

Python Repo C++ Repo Read the Docs

Conteúdo refente à matéria de Sistemas Operacionais

Curso de Engenharia de Software da Universidade Estadual de Ponta Grossa

Conteúdo

  1. Guiação de um FrontEnd em shell script para alguns comandos do linux

  2. Criação de Forks e cálculo de tempo de chaveamento de processos

  1. Desenvolver uma aplicação que simule os métodos básicos de alocação de processos em lacunas de memória com particionamento dinâmico

    • Best Fit, First Fit, Worst Fit e Circular Fit
    • Opção 1 - Inserir Processo em memória
    • Opção 2 - Remover processo em memória
    • Opção 3 - Listar estado das memórias
    • Opção 4 - Finalizar aplicação
  2. Desenvolver uma estrutura de dados que represente um sistema de paginação de memória

    • 512 páginas de 8KB e 256 frames;
    • uma tabela de páginas será criada, associando (aleatoriamente) 256 páginas às 256 molduras disponíveis;
    • representação de endereços virtuais e reais na notação binária, separados na forma de tuplas número da página/descolamento e número da moldura/deslocamento, respectivamente 9+13 bits e 8+13 bits;
    • endereços deverão ser tratados na forma de Bytes;
    • ex.: página 1 mapeada na moldura 0
      • EV [9000] (pág. nr. 1, deslocamento de 808B = 000000001 0001100101000)
      • ER [808] (moldura nr. 0, deslocamento de 808B = 00000000 0001100101000)
    • os processos podem "acessar" 4MB e o sistema disponibiliza 2MB de memória física. Após:
    • uma entrada será fornecida definindo a quantidade de endereços (N);
    • em seguida, serão criados N endereços aleatórios (EV) entre 0 e 4194303;
    • como saída, fornecerá a localização na tabela de páginas na forma nr. da página/deslocamento em decimal e binário e o respectivo endereço físico (ER) na forma nr.da moldura/deslocamento em decimal e binário, quando houver. Caso contrário, informar que houve PF.
    • sumarizar a taxa de acertos (hit ratio) e a taxa de page faults (miss ratio).

  1. Avaliação de tempo em sistemas de arquivos

    • Métodos: Função ou syscall
    • Copiar 1B por vez
    • Criar um arquivo "file.in" por função e syscall de tamanho 1B, 1KB, 1MB e 1GB
    • Tirar a média do tempo decorrido na criação dos arquivos
    • Copiar cada um dos 4 arquivos "file.in" por função e syscall para o arquivo "file.out"
    • Tirar a média do tempo decorrido na cópia dos arquivos
    • (AVALIAÇÃO DE TEMPO DE CRIAÇÃO E CÓPIA DE ARQUIVOS)
  2. Filtro de arquivos de acordo com o seu tipo (Linux)

    • Criar um filtro para mostrar os tipos de arquivos desejados em dado diretório.

    • Utilização do cabeçalho <dirent.h>

    • Localização do cabeçalho /usr/include/dirent.h

    • TIPOS DE ARQUIVOS

      VALUES TYPE NUMBER
      DT_BLK This is a block device. 6
      DT_CHR This is a character device. 2
      DT_DIR This is a directory. 4
      DT_FIFO This is a named pipe (FIFO). 1
      DT_LNK This is a symbolic link. 10
      DT_REG This is a regular file. 8
      DT_SOCK This is a UNIX domain socket. 12
      DT_UNKNOWN The file type is unknown. 0

  1. Comunicação Serial

    • Criar uma comunicação serial entre duas máquinas através da conexão serial DB9.
    • Utilização do programa base que cria a conexão entre as duas máquinas com auxílio do material tutorial.
    • Enviar (máquina 1) comandandos do terminal do linux de uma máquina para outra (máquina 2). Executar o manual do comando na máquina receptora (máquina 2) e printar os resultados na tela da máquina que enviou (máquina 1) os comandos.
    • Páginação dos resultados é opcional
  2. Seminário sobre Segurança Digital