>>14292870Look up pintOS from Stanford and try to implement it. A great resource to learn about how operating systems work and how you would go about designing one is this free book:
https://pages.cs.wisc.edu/~remzi/OSTEP/I cannot overstate just how good this is.
>mathsDepends on what you want to do. For OS, you don’t need much math unless you’re trying to tackle things like queuing (in which case you’ll want to understand statistics and some real analysis) or distributed concurrency, in which case you’ll want more combinatorics and applied algebraic topology. Both of these are overkill to study if you aren’t already really interested in the topics though - just pick it up if you really want to get into them, but you’ll need more math fundamentals like intro to proofs, a proper analysis course, etc. before really getting into the meat.
But to start doing OS design, write an OS yourself, and implement some well known algorithms and solutions? You don’t need it.