answer:It sounds like you have decided it will be able to run multiple programs at a time which is a step up from minimalist. The smallest OS around are not a lot more than flexible state machines for one purpose. If that sounds interesting look for information about Real-Time-OperatingSystems RTOS for machine control. Some of those have just the basics. You could learn a lot by getting into the design of the linux kernel. At its heart it is simple but elegantly extensible. There are lots of good books around and probably tons of info I haven’t seen yet on the internet about linux. On top of that it’s free so you can get one of several variations and see what’s under the hood. Puppy Linux is genuinely small but still very capable. If you are really going to design an OS from the ground up you have a lot of decisions to make. What kind of job scheduling will you deploy, what is the nature of your memory system (will you have virtual memory?), what kind of I/O will you want to accomodate, what sort of file system do you need/want…