This is not meant to be a complete treatise on the subject, but rather a quick overview. There is no difference between F90 and F77 for this task. For F77 we must parallelize the code to determine which computations can be distributed over our parallel processors. This requires a fairly accurate dependence analyzer if you hope to get much parallelism. For F90 the parallelism is explicit in the code.
Serial code can be handle by replicating it on all processors or assigning it to a single processor.
Regular sections are often utilized in generating communication sets. For F77 your regular section analysis must be accurate to avoid unnecessary communication. F90 array syntax hands you regular sections. In addition, it is my opinion that the communication arising from F90 constructs can often exploit collective communication primitives directly, e.g. shift operations, and that they can be recognized without difficulty. There is a myriad of optimizations that can be performed.