In a past life I worked on embedded systems that ran out in the elements, on mountains and in the desert. We ran low power, crunching a lot of numbers and generally needed to be fast an efficient. Small Operating Systems and applications often time blended together.
My original background at university was Operating Systems and hardware interaction. I studied to design an entire dynamic computing system where the OS and the hardware were nearly the same thing. CPUs with FPGA cores that could be programmed with application specific modules on demand. Are you about to do a lot of heavy math? Bam you now have a grid of ALU with integrators or structures to make complex matrix math very quick. Doing a lot of data movement or encryption? Now you have a lot of cache and custom DMA devices to easily map data access. Obviously general purpose computing was not the target for this technology and required a very unique operating system design.
For embedded systems my OS work ranged from writing Linux Kernel Modules, running VxWorks and uC/OS, to a writing a completely from scratch microkernel designed our exact hardware to allow for soft-real time operations. All were used for different applications with very different requirements with different hardware. I've brought up a lot of hardware with quite a few different architectures each of which was fun and interesting.
A few suggestions of places to start if you're looking to write an OS.
JamesM's Kernel Development Tutorials
Anyone interested you can always contact me from the list on the front page.
$ published: 2023-11-07 21:10 $
$ tags: #develoment, #operating-systems $
-- CC-BY-4.0 jecxjo 2023-11-07