Академический Документы
Профессиональный Документы
Культура Документы
\end{itemize}
A Figura 3 ilustra os componentes descritos em uma placa embarcada.
\begin{figure}[!htb]
\caption{Placa de um Sistema Embarcado.}
\label{fig:embedded_system_board}
\centering%
\begin{minipage}{.9\textwidth}
\includegraphics[width=\textwidth]
{Imagens/embedded_system_board.jpg}
\fonte{\cite{noergaard2012embedded}}
\end{minipage}
\end{figure}
\subsubsection{System Software Layer}
O modelo de \textit{von Neumann} determina que na camada de software
(\textit{system software layer}) necessrio um software denominado
de \textit{driver} de dispositivo. Este software tem como objetivo
inicializar ou parar componentes da camada de hardware ou ainda
permitir que outro \textit{driver} habilite, desabilite, instale, desinstale,
leia dados e escreva dados de um componente. Alm disso, o
\textit{driver} gerencia o acesso ao hardware pelos componentes das
camadas de alto nvel e faz o elo de comunicao entre hardware, sistema
operacional (SO) e camada de aplicao \cite{noergaard2012embedded}.
O SO da camada de software um componente opcional, ou seja, nem
todos os sistemas embarcados tem um \cite{noergaard2012embedded}.
Segundo Tanenbaum (2009), SOs tem como objetivo fornecer aos
programas do usurio um modelo de computador melhor, mais simples e
mais limpo, alm de lidar com gerenciamento de todos os recursos de
hardware. Essa definio exatamente a mesma quando se fala em SOs
embarcados, pois tambm h a necessidade de torn-los mais eficientes e
confiveis \cite{noergaard2012embedded}.
Os SOs variam na sua arquitetura conforme os componentes que
possuem, ou seja, um SO pode estar diretamente sobre a camada de
hardware, sobre o \textit{driver} de dispositivo ou sobre uma camada
adicional denominada de \textit{Board Support Package} (BSP).
Normalmente o BSP utilizado, pois ele uma camada de abstrao entre
o SO e o \textit{driver} de dispositivo, o que permite que um SO seja
portado para um novo hardware sem a alterao do cdigo fonte
\cite{noergaard2012embedded}.
O nico componente obrigatrio em um SO embarcado denominado
de \textit{Kernel}, no qual tem objetivo de gerenciar os processos do SO,
gerenciar a memria alocada para cada processo e o gerenciamento de
sistema para E/S tanto do sistema de arquivo quanto dos dispositivos
conectados \cite{noergaard2012embedded}.
A Figura 4 ilustra as possveis arquiteturas da camada de software.
\begin{figure}[!htb]