The SQL databases generally use B-trees to store index (and sometimes data as well) in the disk. The B-tree is a tree of disk pages. To create B-tree, the DBMS would require access to pages on the disk. How does DBMS access the disk pages? As far as I know, the operating system allows accessing files on the disk, but not directly the disk pages. So, how DBMS is able to access the disk pages?
I looked at C++ API for filesystem and I could not spot anything related to accessing disk pages.