it doesn't only ensure serializability, it ensures conflict serializability., and their order of serial evaluation depends on the lock point. this is because, for simplicity take a single resource 'x' and two transactions T1 and T2. for the schedule to not be conflict serializable, their must be a cycle, which can be of the form".... r1(x),..., w2(x),...r1(x)..." or "...w1(x)...r2(x)...w1)x).." . in both the cases, we can see that no lock point is possible for T1(verify yourself). if no lock lock point possible, means that no order of serial evaluation possible. this example can be extended to any number of variables or transactions.