Actually runs pretty well on VMWare. The shell command crashes it with a #GPF but that was expected. Typing "1=2" in the add command of calc produced -4110468 rather then an "invalid syntax" handler. The unknown option 6 produced weird results (hard to explain what happens, but it does not crash), apparently 2/9x10^36 = 26, who knew? (I didn't use scientific notation on input, just using it here for my sake. I was watching for overflow detection.) Doesn't appear to support doubles/floats. It accepts "no number" as "zero" (i don't know if this was the intent or not.) Typing "3" in "exit" command displayed a different character.
So, pretty much only problems I found were in the calc program. Besides the expected #GPF, the system ran quite smoothly. Nice work
Using a proper parser (like recursive descent) would probably be the best long term goal for the calc program (write it in user mode and port it - always easier that way.) I just mentioned the stack method cus I figured it would be easier - but tbh both methods aren't too hard, its just that the recursive descent method might be hard if you haven't done much of formal language theory.