I'm thinking about making my own OS for learning purposes.
Since a complete PC is out of my league I thought about using a Raspberry pi since it is a simpler design.
Is there a tool out there to simulate some easy hardware that would archieve the same effect?
Anybody ever tried something like that?
Why a Pi? Just craigslist an old Core 2 Duo machine for like 50 bucks. With a C2D you will have access to an x86/x64 CPU vs an ARM processor. Unless you are looking to make an OS that will be for more embedded systems like phones and small PCs.
>>5966Simplicity of the system and drivers.
I imagine a Pi being far more managable than such a complex machine.
C2D?
>>5966There is some old hardware lying around in a relatives house maybe I could grab that if it still works.
>>5965It has been a while since I have done anything like that so I will have to look at my notes to get back into it. I think the simplest way would be to run a Virtual Machine, but not sure if there is an emulator for ARM architecture (but there should be). Also getting a full documentation of the CPU is needed. The biggest hurdle you will have is that you need a bootloader of some sort and some simple kernel code that will give you output before you know if your code is working.
Also in the start instead of doing Virtual Memory for each proses you can hardcode the memory address they run in when you compile it. Then when you got that working you can start with virtual memory, and thus build the OS one piece at a time.
Mainly the OS is mostly doing interupt calls and setting flags on commands to the CPU... At least in the start.
I have not played with ARM when I did it it was x86.
Also this:
>>5966>>5967Getting the basics up and running (a bit more advanced DOS) should not be a problem on x86. (It is a semester course).
What is hard is Drivers, and I would not aim for making it network capable before you got other things working. Also on x86 I would imagine it is easier to do output to screen as it is well documented (look into old games and interupt calls to graphic card to set resolution and such).
>all this is from vague memory from when I did it >>5969>Getting the basics up and running (a bit more advanced DOS) should not be a problem on x86. (It is a semester course).I would have guessed that this is some more advanced stuff.
But getting it to the point where I have a shell or something like dos would be the goal.
>Also on x86 I would imagine it is easier to do output to screen as it is well documented (look into old games and interupt calls to graphic card to set resolution and such).I imagine this being hard to get into.
>Also getting a full documentation of the CPU is needed. The biggest hurdle you will have is that you need a bootloader of some sort and some simple kernel code that will give you output before you know if your code is working.That's why I thought about the Pi.
With the old junk I have to look for documentation of various hardware pieces and make myself some bootloader.
>>5970Much of the instruction set on modern x86 is not something you will need to use. You could choose to target 8086 or 80486 etc. Also target VGA or lower will simplify things
http://www.wagemakers.be/english/doc/vga >>5972Found this page when looking for better example, and looks like a site that can have much useful when it comes to OS coding
https://wiki.osdev.org/Printing_to_Screen >>5973So the first step would be getting some hardware to fool around with and getting as much information on this hardware as I can.
>>5974All you need to target x86 is a Virtual Machine like VMWare running.