Well. If you come from the Cisco side and want to configure several ospf process, you will see that under JunOS this is much complex than in Cisco. Why, because JunOS have many features that Cisco dont have, so have to understand and configure this feature to get the same behavior than in IOS.
There is a big difference between IOS and JunOS. IOS dont support several routing tables, unless your configure VRF. But VRF focus on VPN, and if you want to share routing information and traffic between VRF, then have to configure Route Leaking or other features. VRF dont allow to share traffic among VRF.
Under IOS if you configure several routing protocols, like 2 ospf process without vrf, all routing process share or populate the same routing table, called global table. IP traffic from any interface in global table will be routed using routing information from all the routing instances, so could be forwarded through interfaces that belong to other routing instances.
Under JunOS, you can configure a single default routing protocol instance. But have the feature to configure several routing tables called RIB, Routing Instances, and RIB table groups.
There is several types of Routing Instances, of course VRF, Virtual Router, and some others more. Each one is configured like a single router. Under each Routing Instance will associate interfaces, routing options, configure a single routing process instance for ospf, bgp, etc. Each Routing Instance will populate its own RIB table.
RIB Groups are RIB tables groups, that will import the routing information from the main RIB table to the secondary RIB tables. If you need to share routing information bidirectional, then will need to configure two or more RIB Groups as will show later, and import from each main RIB to the others.
A RIB group is not a route redistribution. Will not propagate imported routing information to others routers.
A RIB group will not import local or directly connected routes, will have to configure this other way. Will import only dynamically learned routes.
This way if you need to configure several instances of the same routing process, then have to configure RI Virtual Routers, bind this to a RIB Group, and configure the RIB groups to share routing information between the RIB tables.
If you need to configure two ospf process, then will have to configure two Routing Instances, or you can configure only one Routing Instances and use the default Routing Instance. In the following example will use two RI.
The IOS "router ospf x" will be translated to a Routing Instance (type virtual router). The extra configuration will be the RIB Groups, that will share the routing information among Routing Instances.
See the attached diagrams, these will clarify the configurations. Configurations are very large, will find this attached.