-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.tex
216 lines (180 loc) · 9.28 KB
/
main.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
\documentclass{ufscThesis/ufscThesis} % Definicao do documentclass ufscThesis
%----------------------------------------------------------------------
% Pacotes usados especificamente neste documento
\usepackage{graphicx} % Possibilita o uso de figuras e gráficos
\usepackage{color} % Possibilita o uso de cores no documento
\usepackage[toc,page]{appendix}
\usepackage{color} %syntax highlighting
\usepackage{listings}
\definecolor{mygreen}{rgb}{0,0.5,0}
\definecolor{myblue}{rgb}{0,0,0.6}
\definecolor{myred}{rgb}{0.6,0,0}
\lstset{
language=C++,
showspaces=false,
showstringspaces=false,
extendedchars=true,
tabsize=4,
basicstyle=\footnotesize, % size of fonts used for the code
breaklines=true, % automatic line breaking only at whitespace
captionpos=b, % sets the caption-position to bottom
commentstyle=\color{myblue}, % comment style
escapeinside={\%*}{*)}, % if you want to add LaTeX within your code
keywordstyle=\color{mygreen}, % keyword style
stringstyle=\color{myred}, % string literal style
numberstyle=\color{myred},
}
\usepackage{pdfpages}%for includepdf command
\usepackage{amsmath}
\usepackage{multirow}
\usepackage{url}
%\usepackage{hyperref}
%\hypersetup{
% colorlinks,
% citecolor=black,
% filecolor=black,
% linkcolor=black,
% urlcolor=black
%}
%\usepackage{hyperref}
%----------------------------------------------------------------------
% Comandos criados pelo usuário
\newcommand{\afazer}[1]{{\color{red}{#1}}} % Para destacar uma parte a ser trabalhada
\newcommand{\fig}[4][hbt]{
\begin{figure}[#1]{
\centering
\scalebox{#2}{
\includegraphics{figuras/#3}
}\par
}
\caption{#4}
\label{fig:#3}
\end{figure}
}
\usepackage[T1]{fontenc}
\usepackage{datetime}
\hyphenation{meta-pro-gra-ma-ção}
%----------------------------------------------------------------------
% Identificadores do trabalho
% Usados para preencher os elementos pré-textuais
\instituicao[a]{Universidade Federal de Santa Catarina} % Opcional
\departamento[a]{INE}
\curso[a]{Universidade Federal de Santa Catarina}
\documento[o]{Trabalho de Conclus\~{a}o de Curso} % [o] para dissertação [a] para tese
\titulo{Portando o EPOS para a Zedboard}
%\subtitulo{Subtítulo (se houver)} % Opcional
\autor{Bruno Farias de Loreto}
\grau{Bacharel em Ciências da Computação}
\local{Florianópolis} % Opcional (Florianópolis é o padrão)
\data{\the\day}{Novembro}{\the\year}
\orientador[Orientador\\Universidade Federal de Santa Catarina]{Prof. Dr. Antônio Augusto Fröhlich}
\coorientador[Coorientador\\Instituto Federal de Santa Catarina]{Prof. Dr. Giovani Gracioli}
\coordenador[Coordenador\\Universidade Federal de Santa Catarina]{Prof. Dr. Vitório Bruno Mazzola}
\numerodemembrosnabanca{4} % Isso decide se haverá uma folha adicional
\orientadornabanca{sim} % Se faz parte da banca definir como sim
\coorientadornabanca{sim} % Se faz parte da banca definir como sim
\bancaMembroA{Prof. Me. Arliones Stevert Hoeller Junior\\Instituto Federal de Santa Catarina}
\bancaMembroB{Prof. Me. Hugo Marcondes\\Instituto Federal de Santa Catarina}
%\bancaMembroC{... \\...} % Nome do membro da Banca
%\bancaMembroD{... \\...} % Nome do membro da Banca
%\bancaMembroE{Quinto membro\\Universidade ...} % Nome do membro da Banca
\dedicatoria{}
\agradecimento{Agradeço ao Goku por ter derrotado o Freeza, aos resumos da Thaís, e às pessoas que jogaram Magic comigo. Agradeço também aos happy hours, pois sem eles eu teria me formado cedo demais.
Faço um agradecimento especial à todos os UFSCães, simplesmente por existirem, e ao RU por me manter vivo.
Eu também não poderia esquecer de agradecer ao stackoverflow, à todas as pessoas que fazem tutoriais na internet, e a todos os adoradores do software livre.
Finalmente, um beijo no coração para todos aqueles que desejam falir a Microsoft, e dois beijos para quem não vota no PSDB.
}
\epigrafe{So long, and thanks for all the fish!\\\emph{- Douglas Adams.}}
%{(Autor da epígrafe, ano)}
\textoResumo {
Com o aumento da demanda de poder de processamento dos sistemas embarcados atuais, tornou-se necessário que um sistema operacional embarcado tenha suporte para arquiteturas multicores embarcadas.
Um sistema operacionanal embarcado tendo suporte para tal plataforma, possibilita novas linhas de pesquisa, e novos cenários de aplicação do SO, como por exemplo a integração de um escalonador \emph{multicore} de tempo real para gerenciar tarefas críticas.
O sistema operacional EPOS não possui suporte para um arquitetura embarcada \emph{multicore}, e tem sido cada vez mais necessário a existência de tal suporte.
O EPOS possui uma arquitetura que tenta ser o mais independente de plataforma possível, entretanto o interfaceamento entre o software e hardware inevitavelmente necessita ser reescrito para cara arquitetura.
Este trabalho visa descrever e documentar como o sistema operacional EPOS foi portado para a plataforma embarcada \emph{multicore} Zedboard.
}
\palavrasChave {Sistemas Operacionais. Portabilidade. EPOS.}
\textAbstract {
With the increasing demand for processing power from nowadays embedded systems, it became necessary for an embedded operating system to support multicore platforms.
A embedded operating system having support for such platform enables new research lines, as well as new deployment scenarios, such as the integration of a multicore real time scheduler to manage critical tasks.
The EPOS operating system does not have support for a multicore embedded platform, and such support is becoming increasingly necessary.
EPOS's operating system design aims on portability, however the software-hardware interface inevitably must be rewritten for each platform.
This work aims on describing and documenting how the operating system EPOS was ported to the multicore embedded platform Zedboard.
}
\keywords {Operating Systems. Porting. EPOS.}
%----------------------------------------------------------------------
%Para gerar a lista de símbolos e abreviaturas use os comandos
%
%\simbolo{$\int$}{Integral}
%\simbolo{$\prod$}{Produtório}
%
%\begin{lstlisting}
%\simbolo{símbolo}{descrição}
%\end{lstlisting}
%
%\begin{lstlisting}
%\abreviatura{abreviatura}{descrição}
%\end{lstlisting}
%Segundo \citeonline{alves_2001} ...
%--------------------------------------------------------
\begin{document}
%\capa
\folhaderosto%[comficha] % Se nao quiser imprimir a ficha, é só não usar o parâmetro
\includepdf[pages={1}]{ufscThesis/ficha.pdf}
\folhaaprovacao
\paginadedicatoria
\paginaagradecimento
\paginaepigrafe
\paginaresumo
\paginaabstract
%\pretextuais % Substitui todos os elementos pre-textuais acima
\listadefiguras % as listas dependem da necessidade do usuário
\listadetabelas
\listadeabreviaturas
%\listadesimbolos
\sumario
\abreviatura{SoC}{\emph{System-on-Chip}.}
\abreviatura{TCM}{\emph{Tightly Coupled Memory}}
\abreviatura{MMU}{\emph{Memory Management Unit}}
\abreviatura{SP}{\emph{Stack Pointer}}
\abreviatura{PC}{\emph{Program Counter}}
\abreviatura{LR}{\emph{Link Register}}
\abreviatura{CPSR}{\emph{Current Program Status Register}. O registrador que armazena o atual status do processador operante.}
\abreviatura{SPSR}{\emph{Saved Program Status Register}. (Registrador que armazena o valor de CPSR no momento imediatamente anterior ao acontecimento de uma exceção, deste modo o antigo valor de CPSR pode ser restaurado quando a exceção for tratada.}
\abreviatura{CP15}{\emph{System Control Coprocessor}}
\abreviatura{IRQ}{Interrupção normal.}
\abreviatura{FIQ}{\emph{Fast Interrupt}.}
%\abreviatura{SCR}{\emph{ }}
\abreviatura{APSR}{\emph{Application Program Status Register}. Armazena uma cópia do estado das \emph{flags} da unidade lógico-aritimética. Conhecido também como \emph{flag} do código condicional, usados para determinar se uma instrução condicional deve ser executada ou não.}
\abreviatura{GIC}{\emph{Generic Interrupt Controler}}
\abreviatura{rx}{Quando a abreviação rx aparecer, ela estará se referindo genericamente à qualquer um dos 13 primeiros registradores de propósito geral do ARM9 [r0-r12].}
\abreviatura{PPI}{\emph{Private Peripheral Interrupt.}}
\abreviatura{SGI}{\emph{Software Generated Interrupt.}}
\abreviatura{SPI}{\emph{Shared Peripheral Interrupt.}}
\abreviatura{PS}{\emph{Processing system.}}
\abreviatura{PL}{\emph{Programmable Logic.}}
\abreviatura{SMC}{\emph{Static Memory Controller}}
\abreviatura{TSC}{\emph{Time Stamp Counter.}}
\abreviatura{FPGA}{\emph{Field-Programmable Gate Array}. Hardware reconfigurável, o qual têm as suas funcionalidades definidas exclusivamente pelos usuários.}
\abreviatura{PLL}{\emph{Phase-Locked Loop}. É um sistema de controle que gera uma saída cuja fase é relacionada à fase do sinal de entrada. Pode ser usada para estabilizar um sinal e também multiplica-lo.}
\abreviatura{SCU}{\emph{Snoop Control Unit}.}
%--------------------------------------------------------
% Elementos textuais
\input{intro}
\input{conceitos}
\input{arquitetura}
\input{epos}
\input{porte}
\input{conclusao}
\bibliographystyle{ufscThesis/ufsc-alf}
\bibliography{references}
%--------------------------------------------------------
% Elementos pós-textuais
%\apendice
%\chapter{Exemplificando um Apêndice}
%Texto do Apêndice aqui.
\anexo
\chapter{Artigo}
\includepdf[pages={1-18}]{artigo.pdf}
\input{fontes}
\end{document}