ксті програми. Простір пам'яті, що виділяється під стек, може ініціалізуватися тим чи іншим значенням залежно від визначення сегмента стека.
Коли програма типу. ЕХЕ завершує свою роботу, то вона повинна повернути управління DOS за допомогою переривання Int 21Н з функцією 4СН.
Програма типу. ЕХЕ, яка надходить на вхід компоновщика, може складатися з великої кількості окремих об'єктних модулів. Допускається, щоб кожен модуль використовував унікальне ім'я сегмента програми, а процедури імені атрибут або NEAR, або FAR залежно від умов визначення імені і розмірів здійсненним програми. Програміст повинен піклуватися про те, щоб компонований разом модулі містили тільки один сегмент з атрибутом SТАСК і тільки одну точку входу, яка визначається директивою асемблера Еnd. Результатом роботи компоновщика є файл з розширенням. ЕХЕ, який можна негайно запустити на виконання [6, c. 31]. br/>
2.5 Резидентні програми
Більшість програм, виконавши свою роботу, звільняють пам'ять і замінюються іншими. Але деякі, так звані резидентні програми, залишаються в пам'яті до тих пір, поки ви не вимкнете комп'ютер або справите перезапуск системи. Ці програми називають також резидентними в пам'яті або TSR-програмами (terminate and stay - завершити і залишитися) [13, c. 78]. p> Коли ДОС запускає програму, він знаходить для неї простір у пам'яті, копіює програму з диска в пам'ять і потім на час передає управління від комп'ютера цій програмі. Зазвичай після закінчення роботи програма повертає управління комп'ютером операційній системі, і DOS використовує пам'ять, яка була зайнята попередньою програмою, для наступної. З резидентними програмами справа йде інакше. Коли резидентна програма завершує початкову частину своєї роботи, вона передає управління комп'ютером операційній системі, але одночасно повідомляє, щоб остання не віддавала іншим програмам ту область пам'яті, в яку вона була завантажена. Програма просить DOS залишити її в пам'яті. У свою чергу система виставляє бар'єр там, де кінчається резидентна програма, і завантажує наступну нашу програму над резидентної програмою. Що означає "над" резидентної програмою? Коли ми говоримо про пам'ять, ми пов'язуємо будь-яку її частину з адресою. Адреси починаються з малих і розташовуються за зростанням. DOS і резидентні програми розташовуються за адресами, починаючи з малих номерів, тому, коли йдеться, що програма завантажується над іншою програмою, то мається на увазі, що вона поміщається в пам'яті за адресами з великими номерами. В результаті, резидентна програма з'єднується з невеликою частиною DOS, яка залишається в нижній частині комп'ютерної пам'яті. Усі наступні програми, якими ви користуєтеся, будуть працювати в області пам'яті з більш високими адресами, не зачіпаючи резидентную програму і DOS, що знаходяться нижче. Таким чином, резидентна програма постійно знаходиться в пам'яті до тих пір, поки не буде вимкнено комп'ютер.
У чому полягає суть резидентних програм? На відміну від інших програм резидентна програма залишається активною навіть після, того, коли вона, завершила свою роботу. Програма залишається в пам'яті і може продовжити свою роботу, навіть якщо після неї ви запускаєте, інші програми.
Резидентні програми мають багато застосувань. Сама DOS включає в себе чотири різні резидентних програми. Відомо також багато інших цікавих резидентних програм, які не є складовою частиною DOS [7, c. 84]. p> Одна з резидентних програма DOS викликається командою PRINT, і діє як свого роду накопичувач друку (спулер). Робота накопичувача друку полягає в тому, щоб виводити на принтер інформацію, не займаючи процесор те час, коли проводиться друкування, резидентна програма PRINT справляється з цим завданням, беручи на себе роботу щодо своєчасної подачі інформації для принтера, залишаючи в той же час процесор доступним для обслуговування інших програм. Вона завантажує процесор процесом виведення на друк рівно настільки, щоб принтер був постійно зайнятий своєю роботою залишаючи основну частину ресурсу процесора для роботи інших програм [12, c. 39]. p> За характером своєї роботи програма PRINT відноситься до так званим фоновим програмам.
Ще один приклад резидентної програми DOS - програма GRAPHICS, яка забезпечує виведення на принтер графічних зображень на екрані монітора. Вона завантажується в пам'ять по команді GRAPHICS, але нічого не робить до тих пір, поки не буде натиснута клавіша PrtSc (друк екрану). Після натискання цієї клавіші виводить на друк графічне зображення, яке в цей момент присутня на екрані монітора.
2.6 Розширники DOS
Розширники DOS, дос-екстендери (англ. DOS extenders) - технології, що дозволяють програмам, що працюють під управлінням операційних систем сімейства DOS, виконуватися в захищеному режимі процесора. Існують 16 - і 32-бітові розширювачі DOS [13, c...