timing and bandwith questions

Well the top standard speed is 115200 baud with 10 bits making up one characters that means you can get 11520 characters per second or 11K5 bytes per second. You will struggle to capture a continuous stream of data with a PC at that speed although it will manage short bursts.
In essence you can drive the Arduinos UART at a clock rate of:-
Of one eighth of the system clock of 16MHz so that's 2M baud. Of course you might struggle to feed it with real data at that speed, but it is not beyond the bounds to go round a loop in 200 uS.
According to the data sheet the processor will run at 20 MIPS at 20MHz, but the Arduino only runs at 16MHz so the top speed will be 16 MIPS.

However, all this timing stuff is fairly academic because it is not what limits you in a real application. The real limit is very application dependent and unless you specify something you can talk bandwidth and speed until the cows come home and it won't have any practical baring because something else will always be a limiting factor.

Most likely with the Arduino is that you will run out of memory. It is not suited to very fast things like video generation, you can just about do some rudimentary audio signal processing but not at much of a data rate. The thing that limits you there is the sample time of the A/D.

what about the different operating systems and their serial comm implementations?

Windows is notoriously bad for letting you have access to the serial port, or any other bit of hardware, The Mac & Linux is much better in this respect.
But again it all comes down to what you want to do. :slight_smile: