By Mike Deliman
When I was a kid anything that was a computer, or had one in it, was pretty obvious. Computers weren't "just everywhere". Now we've got multiple CPU chips on a board, multiple CPU cores on a chip, different kinds of cores on a single chip, multiple computer boards in a single chassis, ... it goes on. These things are embedded in everything around us, all this hardware glued together to achieve something. This brings us to software. Software has to evolve to keep up with hardware, and with the needs of users. With all these cores and chips and boards and systems running around, it gets a bit confusing. Software is what enables everything from multi-processing to "poly-processing". There's a lot of buzzwords about it - SMP, AMP, POS, VOS, Real time kernel, Separation Kernels... but what does it all mean? And... what's it for?