Este é um projeto para a disciplina de Sistemas Operacionais do segundo ano de ciência da computação da Universidad De A Coruña. Todas as tarefas estão na pasta labAssignments com descrições para cada função.
O programa consiste em um shell semelhante ao bash e zsh, com algumas funções incluídas e também a capacidade de executar qualquer outro comando no sistema *nix.
Você pode obter uma lista de todas as funções incluídas executando o comando “ ajuda ”, e uma pequena descrição de cada uma executando o comando “ comando ayuda ”, sendo o comando que você está interessado em conhecer. Você também pode executar qualquer outro comando instalado em seu sistema como em qualquer outro shell, desde que o nome não entre em conflito com os comandos incluídos. Para sair do shell você pode executar salir , fin , bye ou exit
Você precisa ter o gcc instalado em um sistema operacional *nix como Linux BSD ou MacOS. Você pode compilá-lo com:
make
E execute-o com:
./shell
Nosso código está dividido em diferentes arquivos para facilitar o trabalho e o entendimento.
Contém a função principal mais as funções de prompt e processamento.
Contém todos os cabeçalhos de cada função, exceto os específicos da lista com uma pequena descrição. Inclui todas as bibliotecas que usamos. Define estruturas e tipos de dados usados no código.
Optamos por usar apenas uma implementação de lista para salvar diferentes tipos de valores que são especificados no momento da criação, você pode verificar a criação dessas listas na função principal em p4.c.
Contém a lista de comandos e as funções básicas deles, embora a maioria deles dependa de funções auxiliares.
Contém todas as outras funções que não se enquadram nas categorias anteriores. Decidimos separar grande parte do código em comandos.c para facilitar a navegação.