Искаш да кажеш, че хакерите, които са измислили ext2 са били толкова загубени, че структурите на файловата система са невероятно сложни и за управлението й е необходимо толкова много време, че дори диска е по-бърз от процесора ли?
А сравнявал ли си производителността на една и съща машина на файловите подсистеми на Linux и NT/2000? И коя беше по-бърза? При всички случаи, Linux-а не е изоставал с повече от 10%, даже съм готов да се хвана на бас, че е бил значително по-бърз от NT/2000-то. Значи като добавим на тази машина 3 процесора и приложим коефицентите, за които говори Penguin, какво ще се получи? Тоест кой и с колко ще е по-бърз?
Не познавам отблизо организацията на ext2, но предполагам, че няма нищо общо с FAT и дериватите й (като NTFS). Значи, както предполагам знаеш, организацията на FAT е много проста - имаш в началото на диска таблица с разположението на файловете по целия диск и след това са самите файлове. Освен всички други недостатъци, това води до загуба на производителност, защото рано или късно, независимо от кеша, главата на диска трябва да се премести до началото на дяла, за да се запише новата информация във FAT таблицата. И те уверявам, че това става доста по-често, отколкото си мислиш. Съществуват безброй други начини да се организират файловете на диска. Забележи, говоря само за разположението им; всички други атрибути като име, право за достъп, последна промяна и т.н. нямат нищо общо - те се държат в отделен (така да се каже виртуален) файл, който му викаме директория. Един от тези начини, е файловете да се разполагат не както дойде (тоест на първото свободно място), а според подходяща хеш-функция и освен това, мястото на файла върху диска да не е в началото, а по-близо до същинските данни. Освен това, при multitasking е много важно главата да не обикаля целия диск, а както правилно си отбелязал, заявките да се изпълняват в най-добрия ред, който не е задължително да е реда на подаването им. Има и още нещо - файловете могат да са разхвърляни из целия диск и това да не забавя системата, защото вероятността главата да е близо до необходимото ти място е голяма. Точно затова се използва хеш-функцията, за която ти говоря. Мисля си, че увеличението на скоростта, за което говори Penguin, е свързано точно с изчисляването на най-добрата такава функция и с разделянето на задачите по обработката на структурите на файловата система на много процесори. Тоест, Linux има много добра организация и на файловата система, която позволява extending, и много добра реализация на кода, който управлява тази файлова система.
|