subsubsection openwrt components + some fixed terms

master
Peter Babič 9 years ago
parent 6fb2354dd8
commit ea8552f8bb
  1. 5
      glossaries.tex
  2. 8
      introduction.tex
  3. 15
      problemexpres.tex
  4. BIN
      tukethesis.pdf

@ -51,6 +51,7 @@
\newacronym{cli}{CLI}{Command-line interface}
\newacronym{posix}{POSIX}{Portable operating system interface}
\newacronym{MB}{MB}{Mega-Byte, unit of digital information}
\newacronym{bsd}{BSD}{Berkeley Software Distribution}
\newglossaryentry{ethernet}{
@ -94,3 +95,7 @@
name=unix,
description={a family of multitaskings, multiuser computer \gls{os} that derive from the original AT\&T Unix, developed in the 1970s at the Bell Labs research center by Ken Thompson, Dennis Ritchie, and others}
}
\newglossaryentry{android}{
name=android,
description={a mobile \gls{os} based on the \Gls{linux} \gls{kernel} and currently developed by Google, designed primarily for touchscreen mobile devices such as smartphones and tablet computers, and for specialized user \glspl{interface} like televisions (Android TV), cars (Android Auto), and wrist watches (Android Wear).}
}

@ -11,3 +11,11 @@
\section*{Introduction}
\addcontentsline{toc}{section}{\numberline{}Introduction}
V~úvode autor podrobnejšie ako v~predhovore, pritom výstižne a~krátko
charakterizuje stav poznania alebo praxe v~špecifickej oblasti, ktorá
je predmetom záverečnej práce. Autor presnejšie ako v~predhovore
vysvetlí ciele práce, jej zameranie, použité metódy a~stručne objasní
vzťah práce k~iným prácam podobného zamerania. V~úvode netreba
zachádzať hlbšie do teórie. Nie je potrebné podrobne popisovať metódy,
experimentálne výsledky, ani opakovať závery prípadne odporúčania,
pozri.

@ -26,17 +26,17 @@ An \gls{os} is a computer program that supports a computer's basic functions, an
Over time, a lot of embedded \glspl{os} suited for embedded \glspl{system} were developed. An embedded \gls{os} is a type of \gls{os} that is embedded and specifically configured for a certain \gls{hw} configuration. \Gls{hw} that uses embedded \gls{os} is designed to be lightweight and compact, forsaking many other functions found in non-embedded (i.e. desktop) computer \glspl{system} in exchange for efficiency at resource usage \cite{holt2014embedded}. This means that they are made to do specific tasks and do them efficiently. Notable embedded \glspl{os} currently in use by consumers include:
\begin{itemize}
\item \textbf{Embedded \Gls{linux}} - used in many other devices like printers, \glspl{router} or smart TVs; Android \ref{f:android_scr} is a subset of embedded \Gls{linux}
\item \textbf{Embedded \Gls{linux}} - used in many other devices like printers, \glspl{router} or smart TVs; \Gls{android} \ref{f:android_scr} is a derivative of embedded \Gls{linux}
\item \textbf{iOS} - subset of Mac \gls{os} X, used in Apple’s mobile devices Palm \gls{os}
\nopagebreak
\item \textbf{Windows Mobile}
\item \textbf{Windows Mobile} - Microsoft's \gls{os} for mobile devices
\end{itemize}
\begin{figure}[ht!]
\centering
\includegraphics[width=.4\textwidth,angle=0]{android_scr}
\caption{The Android 5 (Lollipop) screenshot - the most common \gls{os} is among the embedded ones}\label{f:android_scr}
\caption{The \Gls{android} 5 (Lollipop) screenshot - the most common \gls{os} is among the embedded ones}\label{f:android_scr}
\end{figure}
@ -51,7 +51,7 @@ A \gls{rtos} is just a special purpose \gls{os}. The real time part of the name
\subsection{Embedded Linux}
\Gls{linux} itself is a \gls{kernel}, but \Gls{linux} in day to day terms rarely means so. Embedded \Gls{linux} generally refers to a complete \Gls{linux} distribution targeted at embedded devices. There is no \Gls{linux} \gls{kernel} specifically targeted at embedded devices, the same \Gls{linux} \gls{kernel} source code can be built for a wide range of devices, workstations, embedded \glspl{system}, and desktops though it allows the configuration of a variety of optional features in the \gls{kernel} itself. In the embedded development context, there can be an embedded \Gls{linux} \gls{system} which uses the \Gls{linux} \gls{kernel} and other software or an embedded \Gls{linux} distribution which is a prepackaged set of applications meant for embedded \glspl{system} and is accompanied by development tools to build the system\cite{hallinan2010embedded}.
With the availability of consumer embedded devices, communities of users and developers were formed around theses devices: Replacement or enhancements of the \Gls{linux} distribution shipped on the device has often been made possible thanks to availability of the source code and to the communities surrounding the devices. Due to the high number of devices, standardized build \glspl{system} have appeared like OpenEmbedded, Buildroot, OpenWrt, and LTIB.
With the availability of consumer embedded devices, communities of users and developers were formed around theses devices: Replacement or enhancements of the \Gls{linux} distribution shipped on the device has often been made possible thanks to availability of the source code and to the communities surrounding the devices. Due to the high number of devices, standardized build \glspl{system} have appeared, namely OpenWRT.
\subsection{Kernel}
@ -66,11 +66,16 @@ The \gls{kernel} is the essential center of a computer \gls{os}, the core that p
The simplified view on the \Gls{linux} \gls{system} structure can be seen on \ref{f:linuxbl}. It does not include device drivers, compilers, deamon, utilities, commands, library files and such, but should be enough for a demonstration.
\subsection{OpenWRT}
OpenWrt is an \gls{os} (in particular, an embedded \gls{os}) based on the \Gls{linux} \gls{kernel}, primarily used on embedded devices to route network traffic. The main components are the \Gls{linux} \gls{kernel}, util-linux, uClibc and BusyBox. All components have been optimized for size, to be small enough for fitting into the limited storage and memory available in home \glspl{router}.
OpenWrt is an \gls{os} (in particular, an embedded \gls{os}) based on the \Gls{linux} \gls{kernel}, primarily used on embedded devices to route network traffic. It has been optimized for size, to be small enough for fitting into the limited storage and memory available in home \glspl{router}.
OpenWrt is configured using a command-line \gls{interface} (ash \gls{shell}), or a web \gls{interface} (LuCI). There are about 3500 optional \gls{sw} packages available for installation via the opkg package management \gls{system}.
\subsubsection{Components of the OpenWRT}
The main components are the \Gls{linux} \gls{kernel}, \texttt{util-linux-ng}, \texttt{uClibc} and \texttt{BusyBox}. The \Gls{linux} \gls{kernel} was already mentioned. \texttt{util-linux-ng} is self explanatory - it is a set of \gls{linux} utilities.
\texttt{BusyBox} is a software that provides several stripped-down \Gls{unix} tools in a single executable file. It runs in a variety of \gls{posix} environments such as \Gls{linux}, \Gls{android}, \gls{bsd} family and others, such as proprietary \glspl{kernel}, although many of the tools it provides are designed to work with \glspl{interface} provided by the \Gls{linux} \gls{kernel}.
\texttt{uClibc} is a small C standard library intended for \Gls{linux} \gls{kernel}-based operating systems for embedded \gls{system} and mobile devices.

BIN
tukethesis.pdf (Stored with Git LFS)

Binary file not shown.
Loading…
Cancel
Save