Я не знаю о Linux, но в Windows 512 файлов не кажутся , что для меня много. Но, как правило, больше тысячи и это слишком много. (Хотя я должен сказать, что не видел ни одной программы, открывающей из первых рук больше, чем, скажем, 50.)
И стоимость открытия / закрытия дескрипторов не так велика, если вы не делаете их каждый раз, когда хотите прочитать / записать небольшое количество, в этом случае оно слишком велико, и вы должны буферизовать свои данные.