Este projeto consiste em usar o mecanismo de mapeamento de arquivo em memória do UNIX para fazer a ordenação de um arquivo contendo um grande número de valores inteiros de tamanho fixo. Para tal, devem ser executados os seguintes passos:
Geração do arquivo: escreva um programa em C para gerar um arquivo contendo 10.000.000 inteiros aleatórios de 4 bytes cada, em formato binário (não-
ASCII).
Ordenação do arquivo na forma tradicional: escreva um programa em C que:
carregue os inteiros do arquivo na memória,
ordene os valores usando um algoritmo de sua escolha, e
escreva os valores ordenados de volta no arquivo em disco.
Ordenação do arquivo mapeado em memória: escreva um programa em C que mapeie o arquivo de inteiros em um vetor na memória e ordene os valores usando o mesmo algoritmo do passo 2.
Comparação: meça e compare os tempos de execução dos dois programas de ordenação e a simplicidade de implementação de cada um.
O relatório final deste projeto deve conter os programas escritos e os resultados das comparações efetuadas, com sua análise crítica.