This content originally appeared on DEV Community and was authored by Matheus Gomes ??
Fiz alguns ajustes na versão incial da minha lista, agora ela atende os requisitos dispostos no material do professor Maziero. Ajustei para passar os testes, e também resolvi utilizar readaptar para C. A compilação juntamente com o arquivo de teste disponibilizado me pareceu menos problemática desse modo.
Revisitando o código dessa lista, precisei revisitar listas mais simples que vem antes da circular duplamente encadeada, assim consegui montar um raciocínio sólido na hora de codificar.
Lista duplamente encadeada
É uma estrutura na qual cada nó contém três partes: Valor, ponteiro para o próximo nó, e ponteiro para o nó anterior.
Permite navegação bidirecional, e para remover ou adicionar um nó, é necessário somente ajustar os ponteitos do nó anterior e do nó seguinte.
[head] <-> [nó1] <-> [nó2] <-> [tail]
Lista circular
Pode ser simplesmente encadeada (sentido unilateral) ou duplamente encadeada (esse é o que estou usando para o projeto).
O último nó da lista está conectado ao primeiro, o que faz com que a lista não tenha um ponto de término natural.
A lista pode ser percorrida indefinidamente, pois ao chegar no final, ela retorna ao início.
Lista circular duplamente encadeada e sua relação com sistemas operacionais
Utilizar uma lista circular duplamente encadeada, faz com que o sistema operacional tenha caracterísica de escalonamento circular.
Dito isso, após o último processo ser executado, o sistema retorna ao primeiro e continua a execução.
Imaginando que um sistema operacional possui três processos:
[P1] <-> [P2] <-> [P3] <-> [P1] ...
Após o P3 terminar seu tempo de execução, a lista voltará diretamente para P1, garantindo uma execução contínua.
O código atual do sistema operacional pode ser encontrado aqui.
This content originally appeared on DEV Community and was authored by Matheus Gomes ??
Matheus Gomes ?? | Sciencx (2024-10-19T15:14:13+00:00) Dia 20 – Reimplementando lista circular duplamente encadeada. Retrieved from https://www.scien.cx/2024/10/19/dia-20-reimplementando-lista-circular-duplamente-encadeada/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.