▲ | aeblyve 2 days ago | |
Not unlike web development, you're working against a contract (in this case, CPU instructions/features, storage formats, bus formats) defined by some megacorporate legacy. You also have support from pieces of embedded firmware running inside storage devices or other peripherals. The book at http://ostep.org gets into some details. Another useful illuminator: https://gwern.net/computers As much as possible is generally done using simulators before testing on any real hardware. |