fork() and multiple processes

Can the Arduino board handle multiple processes or threads? Or do I have to write my own method of splitting CPU time between tasks?

No. Yes. :smiley:

Processes and threads are concepts that are supported by an "operating system." The only OS on the Arduino itself is the bootloader, a bit of code that can replace program memory from the serial input if and when requested. Other than that, your setup() is called once, and your loop() is called endlessly thereafter. Interrupt triggers can be set up to call other routines at specific times, which I suppose you could think of as a second thread, but there are major limitations on an interrupt handler function.

There is a runtime library of features, and you can read about the built-in library that comes with the Arduino software here: Arduino - Home

Others have offered a bunch of support for common devices or algorithms. They're scattered all over, but see Arduino Playground - GeneralCodeLibrary for a few ideas.

Everything else is for you to do.