Кіріспе

Бағдарламаның дұрыстығын тексеру үшін қолданылатын алгоритм Банкер алгоритмі - ресурстарды бөлу және тұйықталудан аулақ болу алгоритмі. Бұл алгоритм Эдсгер Дайкстра әзірлеген, ол барлық ресурстардың алдын ала белгіленген ең жоғары мүмкін мөлшерін бөлуді симуляциялау арқылы қауіпсіздікті тексереді, содан кейін басқа барлық күтілетін іс-шаралар үшін мүмкін тұйықталу жағдайларын тексеру үшін "s state" тексеруін жүргізеді, содан кейін бөлуді жалғастыруға рұқсат етілу керек пе, жоқ па, шешуге дейін. Алгоритм THE операциялық жүйесінің жобалау процесінде әзірленді және бастапқыда EWD108-де (голланд тілінде) сипатталған. Жаңа процесс жүйеге кіргенде, ол әр ресурс түрінің ең көп саны туралы мәлімдеуі керек; бұл сан жүйедегі ресурстардың жалпы санынан аспауы керек. Сонымен қатар, процесс барлық сұратылған ресурстарды алған кезде оларды шекті уақыт ішінде қайтару керек.

Шектеулер

Басқа алгоритмдер сияқты, Банкирдің алгоритмі де іске асырылған кезде кейбір шектеулерге ие. Нақтырақ айтқанда, ол әр ресурстың қаншасын процес талап етуі мүмкін екенін білуі керек. Көптеген жүйелерде бұл ақпарат қол жетімді емес, сондықтан Банкердің алгоритмін іске асыру мүмкін емес. Сондай-ақ, процестер саны статикалық деп болжау шындыққа сай емес, өйткені көптеген жүйелерде процестер саны динамикалық түрде өзгереді. Сонымен қатар, процесстің барлық ресурстарын босатуы (процесс аяқталған кезде) алгоритмнің дұрыстығы үшін жеткілікті, бірақ ол практикалық жүйе үшін жеткіліксіз. Ресурстардың босатылуын бірнеше сағат (немесе тіпті бірнеше күн) күту әдетте қабылдауға болмайды.