<< Chapter < Page Chapter >> Page >

A arquitetura de um sistema operacional, para atingir atributosde desempenho e portabilidade, deve se preocupar com diversos aspectosque comporão o sistema. É claro que alguns algoritmos serão também responsáveispelo desempenho do S.O. em questão, como o responsável pela ordenação porprioridade dos processos em execução ou o de alocação de memória para umnovo processo; mas a organização do sistema em camadas de abstração (abstraçãode hardware, sistema de arquivos e drivers, gerência de processos, APIdo sistema, bibliotecas e aplicações), a comunicação entre elas (uma camadasó pode se comunicar com a camada seguinte, ou aplicações e bibliotecas só podemse comunicar com a API do sistema, etc.) e a sincronização (um aplicativosugere o arquivamento de dados, mas o sistema de arquivo decidirá quandoisso será feito) também impactarão no seu desempenho. Note que essa organizaçãotambém tem impacto na portabilidade: quanto menos acoplado o resto das camadasfor da camada de abstração de hardware, mais fácil será de realizar mudançaspara que o sistema operacional esteja disponível para uma nova plataformade hardware – idealmente, só havendo que se reimplementar essa camada.

Arquitetura de software por bass et al

Como veremos a seguir, a definição de Bass et al é bastante similarà encontrada no padrão ISO/IEEE 1471-2000. No entanto, sua especificidade sobre quaispropriedades dos elementos arquiteturais devem ser consideradas a faz ser mencionada:

A arquitetura de um programa ou de sistemascomputacionais é a estrutura ou estruturas do sistema, a qual é composta de elementosde software, as propriedades externamente visíveis desses elementos, e os relacionamentosentre eles. [link]

Como já observado por Gorton [link] , essa definição é explícita quanto ao papel da abstraçãona arquitetura (quando fala de propriedades externamente visíveis), e também quantoao papel das múltiplas visões arquiteturais (estruturas do sistema). Devemos tambémmencionar o uso do termo “elementos de software” como as peças fundamentais daarquitetura. Na edição anterior dessa definição [link] , seus autores usavam “componentes de software” ao invésde “elementos de software”. Essa mudança foi feita para deixar a definição maisgeral, principalmente pelo termo “componente de software” ter um sentido específicona área de Engenharia de Software baseada em Componentes.

Exemplo

Podemos observar a arquitetura do SASF através de uma visão de partesfuncionais ( [link] ):

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Arquitetura de software. OpenStax CNX. Jan 05, 2010 Download for free at http://cnx.org/content/col10722/1.9
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Arquitetura de software' conversation and receive update notifications?

Ask