Any OS has to be specially coded for the hardware of a given computer, this is true of anything from your workstation down to your MP3 player.
Android is slightly different in that the software is setting the standard, and hardware manufacturers are making handsets to those specifications. Of course, manufacturers also get input as to what the software will support, so if they want to have CB radio built in, they just submit their input (that one ain't too likely

).