Cursos / Eletrônica / Sistemas Digitais / Aula
Vamos analisar as principais características dos sistemas embarcados e algumas das diferenças em relação aos sistemas computacionais convencionais:
Em geral, a maioria dos sistemas embarcados são projetados para realizar uma função ou uma gama de funções e não para serem programados pelo usuário final, como os computadores pessoais. O usuário pode alterar ou configurar a maneira como o sistema se comporta, porém não pode alterar a função que esse realiza. No caso de computadores pessoais, são programados pelo usuário e podem realizar qualquer função predeterminada por ele, diferentemente dos sistemas embarcados que realizam uma ou várias funções específicas.
Essa característica aparece na grande maioria dos sistemas embarcados, mas existem também sistemas embarcados onde o usuário pode instalar novas funções ou mesmo reprogramar as existentes. Um exemplo disso, são os smartphones, onde o usuário pode instalar ou desinstalar aplicativos, modificando as funções do aparelho. Outro exemplo é quando temos sistemas embarcados com hardware reprogramável, como os FPGAs que vimos na Aula VDHL - Parte I, pois o circuito pode ser reprogramado para ter diferentes funcionalidades.
Nos sistemas embarcados, é comum que exista algum tipo de interação com o ambiente em que se encontram. Por exemplo, o sistema de controle do nível da água em uma máquina de lavar roupas coleta os dados do nível do tanque por meio de sensores e o modifica através de atuadores.
Sistemas embarcados devem ser confiáveis. Neles, as implicações de uma falha de software são muito mais preocupantes do que em um computador pessoal. Muitos desses sistemas realizam funções críticas e interagem com o ambiente ou seres humanos, como é o caso dos sistemas críticos (ou sistemas de tempo crítico), onde falhas podem causar catástrofes. Como mostra a Figura 2, um bom exemplo são os atuais carros com o sistema de acionamento dos airbags, onde alguns milissegundos podem fazer toda a diferença, ou o sistema de frenagem ABS, onde alguma falha pode resultar em acidentes ou até mesmo a regulagem do sistema de controle na emissão de gases poluentes no ambiente. Nos casos do acionamento de airbags e da frenagem ABS, é dito que esses sistemas possuem requisitos de tempo crítico e são intolerantes atrasos. Outro exemplo é o software de controle da quantidade de radiação em uma máquina de raios X, onde uma falha poderia causar sérios danos à saúde dos pacientes. Dizer que um sistema é confiável significa que esse possui certas características de estabilidade, recuperação, disponibilidade e segurança.
Estabilidade: é a probabilidade de que um sistema não irá falhar.
Recuperação: é a probabilidade de que uma falha no sistema será corrigida em um determinado intervalo de tempo.
Disponibilidade: é a probabilidade de que um sistema estará disponível em certo tempo. Alta estabilidade e recuperação levam a uma alta disponibilidade.
Segurança: Um sistema deve ser seguro em dois aspectos. Ele deve ser seguro para o meio ambiente, ou seja, uma falha não acarreta em danos ao meio ou às pessoas que utilizam esse sistema, e ele deve manter as informações confidenciais dentro dele, autenticando os usuários para não permitir que pessoas não autorizadas manipulem essas informações.
Versão 5.3 - Todos os Direitos reservados