\documentclass[tikz,border=5pt]{standalone}
\usetikzlibrary{shapes, arrows,snakes,backgrounds,fit,positioning}
\begin{document}
\tikzset{block/.style ={ rectangle, draw, text width=19em, text centered, rounded corners, minimum height=2em,fill=blue!30}}
\tikzset{blockBig/.style ={rectangle, draw, text width=19em, text centered, rounded corners, minimum height=2em, outer sep=0.5cm,fill=blue!30,node distance=0.0cm}}
\tikzset{scope/.style ={rectangle, draw, text width=19em, text centered, rounded corners, minimum height=2em, inner sep=0.5cm,fill=blue!30}}
\tikzset{dottedline/.style ={draw,dotted, very thick}}
\tikzset{line/.style ={draw, very thick}}
\begin{tikzpicture}[node distance = 0.5cm, auto]
\node [blockBig,](anwendung) {Benutzer Anwendungen};
\node [block,text width=12em, xshift=1cm,below=of anwendung] (glibc) {C Standard Bibliothek (glibc)};
\node [block, yshift=-1cm,xshift=-1cm,below=of glibc] (syscall) {Systemaufruf Schnittstelle};
\node [block, below=of syscall] (kernel) {Kernel};
\node [block, below=of kernel] (code) {Architektur abhängiger Kernel Code};
\begin{scope}[on background layer]
\node [scope](eins)[
fit=(anwendung) (glibc) (syscall) (kernel) (code),
label={[anchor=south,shade=none]below:Hardware Plattform},
yshift=-2.3em,fill=green!30,
draw=black] (hardware) {};
\end{scope}
\begin{scope}[on background layer]
\node [scope](zwei)[
fit=(syscall) (kernel) (code),
fill=blue!10,
draw=black] (kernelspace) {};
\end{scope}
\draw[dottedline] (-5,-2.9) -- (5,-2.9);
% \draw[line, red] (anwendung.south) -- (anwendung|-glibc.north);
% \draw[line, red] (anwendung.200) -- (anwendung.200|-syscall.north);
\draw[line] (syscall.south) -- (kernel.north);
\draw[line] (kernel.south) -- (code.north);
\draw[line] (glibc.209) -- (glibc.209|-syscall.north);
\begin{scope}[on background layer]
\draw[line, red] (anwendung.center) -- (anwendung|-glibc.north);
Benutzer Anwendungen → Benutzeranwendungen
C Standard Bibliothek → C-Standard-Bibliothek
Systemaufruf Schnittstelle → Systemaufrufschnittstelle
Architektur abhängiger Kernel Code → architekturabhängiger Kernel-Code
https://deppenleerzeichen.de/
@Henri Vom englischsprachigen Lesen kann man so ein Gefühl für die Sprache kriegen, Bindestriche wegzulassen. Passiert, würde ich aber nicht so anprangern wie die sensationslüsterne Webseite es macht. Das nachlässige Kleinschreiben in der Publikation (dieser Frage) finde ich eher nicht gut.