Hacker News new | ask | show | jobs
by nilsimsa 4272 days ago
The hardware was not quite standardized at that time so CP/M had a layered structure consisting of a BIOS, BDOS and the command line processor. The BIOS was the hardware abstraction layer and was ported to the specific combination of hardware. The BDOS provided the file system and the command line processor provided a standardized interface. On top of this you would run the BASIC interpreter as an application.
1 comments

Right, but while BASIC is running, the command line processor isn't. So if you want to run a command... what then? Presumably the BASIC has to reimplement it. I guess that's the point. Having this layered approach is valuable, but having a separate command processor, perhaps less so.

(I never used CP/M but I used to have an Acorn BBC Micro and that had the command line processing built in to the OS, in its equivalent of the BIOS, I suppose to work around this very issue. All an application needed to do was get a string from somewhere, then pass it to the appropriate OS routine. So many programs ended up effectively having the standard command processor embedded, in addition to whatever interface they might themselves support. Though obviously the user had to be careful not to do anything silly like load a new program that overwrote the running program or overwrote their data. Different times.)