Implementação: Estrutura do Sistema
Por: YdecRupolo • 13/3/2018 • 1.231 Palavras (5 Páginas) • 355 Visualizações
...
Ortogonalidade
É a habilidade para conbinar conceitos separados independentemente. Por exemplo: no Unix a criação de processos e feita em dois passos: fork seguido de exec. A criação de um novo espaço de endereçamento e seu carregamento com uma nova imagem na memória são ações separadas, permitindo que outras ações possam ser realizadas entre elas (como a manipulação de descritores de arquivos). No Windows, esses dois passos não podem ser separados, isto é, os conceitos de criação de um novo espaço de endereçamento e o preenchimento desse espaço não são ortogonais. A sequência do Linux de clone mais exec é ainda mais ortogonal, tinta vez que existem mais blocos de construção disponíveis com maior refinamento. Como regra, um pequeno número de elementos ortogonais que possam ser combinados de várias maneiras leva a um sistema pequeno e simples.
Nomeação
Os nomes projetados para pessoas são constituídos de cadeias de caracteres em codigo ASCII ou Unicode, geralmente são hierarquicos e muitas vezes a nomeação é feita em dois níveis: externo e interno. Por exemplo. os arquivos sempre têm nomes como cadeias de caracteres para as pessoas usarem. Além disso, quase sempre existe um nome interno que o sistema usa.
No UNIX, o nome real de um arquivo é seu número de i-node: o nome ASCII não é empregado internamente ele não é único, visto que um arquivo pode ter várias ligações para ele. O nome interno análogo no Windows é o índice do arquivo na MPT. A função do diretório é fornecer o mapeamento entre o nome externo e o nome interno.
Momento de associação ( binding time)
Às vezes o mapeamento entre um nome e um objeto é fixo, mas outras vezes, não. No segundo caso, pode ser importante saber o momento em que o nome é ligado ao objeto. Por isso existe nesse conceito dois métodos de associação: a associação antecipada: que é mais simples porém menos flexivel; e a associação tardia: que é mais complexa porém mais flexivel.
Os sistemas operacionais corn frequência usam a associação antecipada para a maioria das estruturas de dados, mas ocasionalmente empregam a associação tardia por questões de flexibilidade. A alocação de memória é um exemplo disso: Os primeiros sistemas multiprogramados em máquinas que não tinham hardware para a realocação de endereços precisavam carregar um programa em algum endereço de memória, rcalocando-o para qttc pudesse scr executado ali. Se o programa fosse levado para o disco, ele teria de ser trazido de volta para o mesmo endereço de memória, senão causaria erros. Em contraste. a memória virtual paginada é uma forma de associação tardia. O endereço físico real correspondente a um dado endereço virtual não é conhecido até que a página seja tocada e trazida de fato para a memoria.
Implementação de cima para baixo vs baixo para cima
Implementação de cima para baixo é melhor para projetar o sistema porém demora muito para que se possa testar o sistema, ja aplementação de baixo para cima é mais difícil para projetar e precisa começar a programação no nivel do hardware porém permite testes mais rápido evitando que algum erro passe despercebido.
Alternativa: Caso a equipe seja muito grande a projetar todo o sistema primeiro e criar uma divisão do trabalho em módulos, testa-los separadamente, integra-los e testa-los novamente. ( o revés é isolar um módulo caso acha um erro).
...