I learn from the OS schoolbook that the OS has the function that schedule the disk requests with the knowing algorithms such as SSTF, SCAN .. However, the date layout inner disk drives now is very complex that we may can't know. Disk zoning, disk skew, disk slipping and many other features of disk drives changes the distribution of data layout. So how can the OS do this work ? Thanks!
Modern disks interfaces provide an approximation of position called the logical base address. This is just a linear integer indexing scheme where each block gets a unique integer assigned to it.
While you can't calculate an exact "distance" (in terms of arm movement latency and rotational latency) between two blocks it is approximately the case that if the difference between address $a$ and address $b$ is smaller than the distance between address $a$ and address $c$ then block $a$ will be closer to block $b$ than it is to block $c$.
Disk scheduling algorithms try to improve average latency or average throughput without being significantly unfair or causing starvation. They also don't know about requests that are going to arrive in the future, so whatever they do needs to be an approximation based only on the requests they've already seen.
Since the algorithms are approximate anyway, the fact that we don't know the exact distance between two requests is not particularly a problem.