Parallel operating systems (OSs) are written for computers using two or more processors (called nodes), and where such processors are usually nearby each other, and usually linked via buses, and not networks. Parallel computers can run many types of programs far faster than normal one-processor computers, depending on the type of problem being computed. Programs written for, that work on, one-processor computers don't automatically work on parallel computers; programmers must specify explicitly how to divide computing work between all available nodes. Information on programming for parallel computers is in Parallel_Computing/Programming. Many libraries exist to help programmers write applications for parallel computers. Parallel computing is similar to distributed computing. Both involve dividing problems into pieces and assigning each part to one or more processors. Parallel computer nodes usually communicate with each other heavily during computations; distributed computer nodes usually communicate with each other lightly during computations, often because they are varying distances apart. Sites related to distributed computing are in Computers/Computer_Science/Distributed_Computing.