Как указывает @PlasmaHH, операционная система, такая как MacOS, не собирается предлагать вам Objective C или C ++ API для работы с секторами и дорожками на физическом диске. (Это также не позволит вам изменить скорость двигателя внутри привода или переместить головку привода в центр или за пределы пластин.)
Если вы хотите написать «низкоуровневый» код, такой как дефрагментатор или аналогичный, вы должны будете знать, с какой файловой системой вы работаете. По умолчанию Mac HFS + не имеет много инструментов с открытым исходным кодом для работы с ним. Есть некоторые заметки о структурах:
http://developer.apple.com/library/mac/#technotes/tn/tn1150.html
... существует инструмент под названием hfsdebug
, который устарел в пользу fileXray
:
http://osxbook.com/software/hfsdebug/
(Тем не менее, нет исходного кода для этого. Тот, кто претендует на звание педагога, все же отправляет свою книгу «Mac OS / X Internals» с инструментом с закрытым исходным кодом, говорит о многом [каламбур] о культуре Разработка Apple. Удручает то, что я действительно мог заработать деньги, написав книгу под названием «Mac OS / X Internals Internals».)
Короче говоря: если вы хотите связываться с файловой системой, вы застрянете в работе с необработанным вводом-выводом на блочном устройстве в /dev/rdisk*
. Там нет библиотеки. Это почти наверняка не стоит вашего времени, вместо этого сделайте что-нибудь классное с Linux. :)