Tach!
gibt es gut geeignete literatur, wenn man verstehen möchte wie programmiersprachen funktionieren (interpretersprachen ausgenommen),
Warum willst du die ausnehmen? Am Ende muss was lauffähiges rauskommen. Programmiersprachen "funktionieren" so, dass sie eine Problemlösung in einem eindeutig nachvollziehbaren Text darstellen. Der Rest ist unabhängig von der Sprache und ist ein Mechanismus, der den Text liest und in ausführbare Form bringt - oder auch (erstmal) den Code einer anderen Sprache.
also wie man sich zb eine eigene programmiersprache bauen kann (habe ich nicht vor, muss aber irgendwie verstehen was genau die entwickler im kopf hatten)?
Definier dir einfach eine Sprache. - Was die Programmierer im Kopf hatten? Vermutlich ein Problem und eine Idee zu dessen Lösung, bei der sie die vorhandenen Systeme für nicht passend hielten. Oder aber sie wollten schon immer mal was eigenes schreiben, weil sie das vorhandene unschön fanden. Üblicherweise git es zu jeder Programmiersprache eine aufgeschriebene Entstehungsgeschichte.
und wie betriebssysteme funktionieren (gebaut werden)?
Zu allgemein gefragt - zu allgemein geantwortet: Sie bilden im einfachten Fall die Schnittstelle zwischen der Hardware und den Anwendungen. Das kann man je nach Größe und Umfang der Hardware beliebig komplex gestalten, inklusive dem Mitliefern von Anwendungen.
dedlfix.