As I thought about writing an operating system, I came across a point that I really couldn't figure out on my own:
Can an operating system truly be written in an Object-Oriented Programming (OOP) Language?
Being that these types of languages do not allow for direct accessing of memory, wouldn't this make it impossible for a developer to write an entire operating system using only an OOP Language?
Take, for example, the Android Operating System that runs many phones and some tablets in use around the world. I believe that this operating system uses only Java, an Object-Oriented language. In Java, I have been unsuccessful in trying to point at and manipulate a specific memory address that the run-time environment (JRE) has not assigned to my program implicitly. In C, C++, and other non-OOP languages, I can do this in a few lines.
So this makes me question whether or not an operating system can be written in an OOP, especially Java.
Any counterexamples or other information is appreciated.