Кіріспе

Компьютерлік бағдарламаның түрі

DOS-шығыстырғышы – DOS жүйесінде іске қосылатын компьютерлік бағдарлама, ол хост операциялық жүйе тек нақты режимде жұмыс істей алса да, бағдарламалық құралдарды қорғалған режимде жұмыс істеуге мүмкіндік береді. DOS-шығыстырғыштары алғаш рет 1980-ші жылдары Intel 80286 процессорының (кейін Intel 80386 процессорымен толықтырылды) енгізілуінен кейін DOS-тың жад шектеулерімен күресу үшін жасалған.

DOS кеңейту операциясы

DOS extender – DOS-ты “кеңейтетін” бағдарлама, соның арқасында қорғалған режимде жұмыс істейтін бағдарламалар DOS API-мен тікелей байланыса алады. Бұл қажеттілік туындады, себебі DOS-тың көптеген функцияларына 16 биттік сегмент және офсет адрестері қажет, олар жадтың алғашқы 640 килобайтындағы жад орындарына сілтеме жасайды. Бірақ, қорғалған режим үйлесімсіз адрестеу әдісін қолданады, онда сегмент тізілімдері (қазір таңдауыштар деп аталады) жаһандық сипаттама кестесіндегі жазбаға сілтеме жасайды, ол сегменттің сипаттамаларын көрсетеді. Бұл екі адрестеу әдісі бір-бірінсіз болып табылады, процессор қорғалмаған режимдегі сұраныстарды орындау үшін қымбатқа түсетін ауысуларды нақты (немесе V86) режимге жасауы тиіс. Қоршаған ортаны құрудан және орындалатын бағдарламаны жүктеуден басқа, DOS extender 1 МБ нақты режимдік жад шегінен төмен сақталатын буферлерді ұстап тұратын аударма қабатын да қамтамасыз етеді (басқа да мүмкіндіктермен бірге). Бұл буферлер деректерді негізгі операциялық жүйе мен қорғалған режимдегі бағдарлама арасында алмасу үшін қолданылады. Нақты/V86 режим мен қорғалған режим арасындағы ауысу салыстырмалы түрде көп уақыт алатын операция болғандықтан, extender өзінің қорғалған режимдік ортасында көптеген нақты режимдік операциялардың функционалдығын көшіру арқылы ауысулар санын азайтуға тырысады. DOS операциялық жүйе мен пайдаланушы деңгейіндегі бағдарламалық қамтамасыз ету арасындағы байланыс үшін үзілістерді кеңінен пайдаланатындықтан, DOS extender көптеген жалпы аппараттық (мысалы, нақты уақыт сағаты және пернетақта контроллері) және бағдарламалық (мысалы, өзі DOS және тышқан API) үзілістерін ұстап алады. Кейбір extender басқа да жалпы үзіліс функцияларын, мысалы бейне BIOS процедураларын да басқарады. Негізінен, DOS extender – бұл кішкентай операциялық жүйе, ол негізгі операциялық жүйенің көптеген функцияларын өзі атқарады.

Даму тарихы

DOS кеңейтушісін Phar Lap ойлап тапқан деуге болады, бірақ Tenberry Software (бұрынғы Rational Systems) компаниясының 386 DOS/4GW кеңейтушісі қорғалған режимдегі DOS бағдарламаларын жаппай нарыққа шығарды. 386 класты процессорларға арналған Watcom-ның C, C++ және Fortran компиляторларымен бірге келген ол, көп ұзамай id Software-дің сәтті Doom сияқты PC қолданбалары мен ойындарының кең таралған құралына айналды. DOS кеңейтушілерін жасауға бастапқыда көп жадты қажет ететін бизнес-қосымшалар түрткіс болса, оларды назарға алған – ПК ойындары болды. DOS кеңейтушілерін дамыту нәтижесінде, жадты басқарудың әртүрлі әдістерінен туындауы мүмкін қақтығыстарды шешу және клиенттік бағдарламалар үшін бірыңғай интерфейс жасау мақсатында екі жаңа бағдарламалық интерфейс құрылды. Осы интерфейстердің біріншісі – Виртуалды Бақылау Бағдарламасының Интерфейсі (VCPI), бірақ ол Windows 3.0 әзірлемесінен пайда болған DOS қорғалған режимі Интерфейсі (DPMI) спецификациясымен тез арада ығыстырылды. Олар кеңейтілген бағдарламаға нақты режимдегі бағдарламалық жасақтамамен байланысуға, жадты бөлуге және үзіліс қызметтерін басқаруға мүмкіндік беретін API ұсынды. Сонымен қатар, кеңейтушіге қорғалған режимге ауысуды жеңілдетіп, бірнеше қорғалған режимдегі бағдарламалардың қатар өмір сүруін қамтамасыз етті.