\begin{tikzpicture}[] \node[osGen,osPCEmb,minimum width=13.2cm] at (0,0) (lin) {GNU/Linux etc.}; \node[osGen,osMobPC] at (-5.35cm,-1.35cm) (moblin) {Moblin}; \node[osGen,osMobEmb,right=1cm of moblin] (maemo) {Maemo}; \node[osGen,osMobPCEmb,minimum width=6.05cm] at (-3.59cm,-2.7cm) (meego) {MeeGo}; \node[osGen,osPhone,right=1cm of maemo] (bada) {Bada}; \node[osGen,osTab,below=of bada] (plasma) {Plasma Active}; \node[osGen,osPC,below=of plasma] (cos) {Chrome OS}; \node[osGen,osMob,below=of cos] (fos) {Firefox OS}; \node[osGen,osPhone,left=1cm of cos] (jolla) {Jolla}; \node[osGen,osMobPCEmb,left=1cm of jolla] (tizen) {Tizen}; \node[osGen,osMob,below=1.85cm of meego] (mer) {mer}; \node[osGen,osPhonePCEmb,right=1cm of bada] (android2) {Android $<$ 3}; \node[osGen,osTabPC,below=of android2] (android3) {Android 3.x}; \node[osGen,osMobPCEmb,below=of android3] (android) {Android $\geq$ 4}; \node[osGen,osEmb,below=of android] (gtv) {Google TV}; \draw[pkrn] (moblin.north) ++(0cm,0.5cm) -- +(0,-0.5cm); \draw[pkrn] (maemo.north) ++(0cm,0.5cm) -- +(0,-0.5cm); \draw[pkrn,<-,dashed] (fos.east) -- +(0.5,0cm) -- +(0.5cm,4.95cm); \draw[pkrn,<-,dashed] (cos.east) -- +(0.5,0cm); \draw[pkrn,<-] (plasma.east) -- +(0.5,0cm) -- +(0.5cm,2.3cm); \draw[pkrn,<-] (bada.east) -- +(0.5,0cm); \draw[pkrn,dashed] (android2.north) ++(0cm,0.5cm) -- +(0,-0.5cm); \draw[pkrn] (android2.south) -- (android3.north); \draw[pkrn] (android3.south) ++(-0.15cm,0) -- +(0,-0.5cm); \draw[pkrn] (android.south) -- (gtv.north); \draw[pkrn,dashed] (moblin.south) ++(-0.15cm,0) -- +(0,-0.5cm); \draw[pkrn,dashed] (maemo.south) ++(-0.15cm,0) -- +(0,-0.5cm); \draw[pkrn,<-] (tizen.north) ++(-0.15cm,0) -- +(0,0.5cm); \draw[pkrn] (mer.north east) ++(-0.5cm,0) -- (jolla.south); \draw[pkrn,<->] (mer.north west) ++(0.5cm,0) -- (tizen.south); \draw[pkrn,<-] (mer.north) ++(-0.15cm,0) -- +(0,1.85cm); \draw[pui] (android3.south) ++(0.15cm,0) -- +(0,-0.5cm); \draw[pui,<-] (maemo.east) -- +(0.45cm,0cm) -- +(0.45cm,0.95cm) node [sloped,midway,above] {QT}; \draw[pui,<-] (plasma.west) -- +(-0.45cm,0cm) -- +(-0.45cm,2.29cm) node [sloped,near start,below] {KDE}; \draw[pui,<-] (moblin.east) -- +(0.5cm,0cm) -- +(0.5cm,0.95cm) node [sloped,midway,above] {GTK}; \draw[pui,<-] (maemo.west) -- +(-0.5cm,0cm); \draw[pui,dashed] (moblin.south) ++(0.15cm,0) -- +(0,-0.5cm); \draw[pui,dashed] (maemo.south) ++(0.15cm,0) -- +(0,-0.5cm); \draw[pui,<-,dashed] (tizen.north) ++(0.15cm,0) -- +(0,0.5cm); \draw[pui,<-,dashed] (mer.north) ++(0.15cm,0) -- +(0,1.85cm); % Legende \node[] at (0cm,-6cm) (osLegendPos) {}; \node[below=of osLegendPos] (osLegendTitle) {\bfseries Legende}; \matrix [below=0.15cm of osLegendTitle,row sep=0.2cm,column sep=0.1cm] (osLegend) { \node[osGen,osPC,osLegend]{}; & \node[osLegendText]{Desktop OS}; & \node[osGen,osEmb,osLegend]{}; & \node[osLegendText]{Embedded OS}; & \node[osGen,osMob,osLegend]{}; & \node[osLegendText]{Mobiles OS}; & \node[osGen,osTab,osLegend]{}; & \node[osLegendText]{Tablet OS}; \\ \node[osGen,osPhone,osLegend]{}; & \node[osLegendText]{Smartphone OS}; & \draw[dashed] +(-0.25cm,-0.25cm) -- +(0.25cm,-0.25cm); & \node[osLegendText]{Stark angepasst}; & \draw[pui] +(-0.25cm,-0.25cm) -- +(0.25cm,-0.25cm); & \node[osLegendText]{Benutzungs-schnittstelle}; & \draw[pkrn] +(-0.25cm,-0.25cm) -- +(0.25cm,-0.25cm); & \node[osLegendText]{System- \& Dienstprog.}; \\ }; \draw (osLegend.north east) rectangle (osLegend.south west); \draw (osLegend.north east) ++(0,0.8cm) rectangle (osLegend.south west); \end{tikzpicture}