virtual machine project
I'm writing a virtual machine in C. This is mainly to teach myself more about how computers work, but maybe of interest to other people. I was inspired by listening to Steve Gibson on the security now podcast talk about the PDP-8. He is planning to write his own complete operating system for this early computer as a fun project.
The PDP-8's instruction set sounds a bit too restrictive to me, so I have tried to come up with a minimum level of complexity that would allow me to write a simple multitasking operating system, without getting as complex as the x86 family. The aim is not to be high performance, but to implement everything as simply as possible.
I will make more postings about the project as it progresses, but here are a few details to get started with:
32 bit 'CPU'
interrupts
IO devices implemented as separate threads
one main accumulator
additional registers for pointer access and on-CPU storage
paged memory, containing code and data
The PDP-8's instruction set sounds a bit too restrictive to me, so I have tried to come up with a minimum level of complexity that would allow me to write a simple multitasking operating system, without getting as complex as the x86 family. The aim is not to be high performance, but to implement everything as simply as possible.
I will make more postings about the project as it progresses, but here are a few details to get started with:
32 bit 'CPU'
interrupts
IO devices implemented as separate threads
one main accumulator
additional registers for pointer access and on-CPU storage
paged memory, containing code and data
Total Comments 0