Кіріспе

Дискілерді жоспарлау алгоритмі

Лифт алгоритмі немесе SCAN – дискідегі оқу және жазу сұраныстарын өңдеу үшін дискінің жетегі мен басының қозғалысын анықтайтын дискілерді жоспарлау алгоритмі. Бұл алгоритм ғимараттағы лифт сияқты жұмыс істейді, лифт жолаушылар болмағанша қазіргі бағытында (жоғары немесе төмен) қозғалысын жалғастырады, тек сол бағытта бара жатқан жолаушыларды түсіру үшін немесе алу үшін тоқтайды. Іске асыру тұрғысынан алғанда, диск күтіп тұрған оқу/жазу сұраныстарын, сондай-ақ сұраныстың цилиндр нөмірін сақтайтын буферді ұстайды. Цилиндр нөмірі неғұрлым төмен болса, цилиндр шпиндельге соғұрлым жақын, ал нөмірі неғұрлым жоғары болса, соғұрлым алыс болады.

Сипаттама

Қозғалтқыш бос тұрғанда жаңа сұрау келсе, қолдың/бастың бастапқы қозғалысы дерек сақталған цилиндр бағытында болады, яғни ішке немесе сыртқа қарай. Келесі сұраулар түскен кезде, қол дискінің жиегіне жеткенге дейін сұраулар қолдың қозғалысының ағымдағы бағытында ғана орындалады. Осыдан кейін қолдың бағыты өзгеріп, қарсы бағытта қалған сұраулар орындалады, және осылай жалғаса береді.

Талдау

Лифт алгоритмінің екі нұсқасында да манипулятордың қозғалысы цилиндрлердің жалпы санынан екі есе кем болады және жауап беру уақытының дисперсиясын азайтады. Алгоритм салыстырмалы түрде қарапайым. Лифт алгоритмі әрқашан ең жақын іздеу әдісінен жақсырақ болмайды, ол оптималдыққа жақынрақ, бірақ жауап беру уақытында үлкен дисперсияға және тіпті аштыққа алып келуі мүмкін, егер жаңа сұраныстар қолданыстағы сұраныстардан бұрын орындалса. Аштыққа қарсы шаралар ең жақын іздеу уақыты бірінші алгоритміне максималды жауап беру уақытын кепілдік ету үшін қолданылуы мүмкін.