This is a really vast question and I'm mostly looking for resources where I can learn more about the following.
I know the python interpreter is written in C and produces bytecode to be run on the python virtual machine also written in C (right?). My question is would it be possible to implement both of these in python itself? I guess where I'm going with this is the (technical) possibility of writing something like on OS in python, particularly WITHOUT statically compiling anything?
If I understand correctly, python doesn't have an assembler which would have to be written as well in python. Are these things something that could technically (feasibly?) be done? Or would the dynamic typing of python pose some kind of problem?
I know a bit about microprocessor architecture, assembly and machine code, what a recent EE grad learns in school. But I get lost looking at the whole picture for higher level languages like python.