********** О `MICRO WINDOWS V2.1` *********
В ФЕВРАЛЕ 1997 ГОДА МНОЮ ( ФЕДОТОВЫМ БО-
РИСОМ ) БЫЛА НАПИСАНА ВТОРАЯ ВЕРСИЯ MICRO
WINDOWS . В ПРОДАЖУ ОНА ПОСТУПИТ В АВГУСТЕ
А СЕЙЧАС MW V2.1 ПРОХОДИТ ВЕТА-ТЕСТИРОВАНИЕ
( А ТАК ЖЕ ДОРОБАТЫВАЮТCЯ ВСЕВОЗМОЖНЫЕ КРУ-
ТЫЕ ПРИМОЧКИ ). ОТЛИЧИЯ MW V2.1 ОТ MW V1.1:
1. РАЗМЕР ПАМЯТИ ПОД MW-ПРИЛОЖЕНИЯ СОК-
РАТИЛCЯ ДО 32 ( РЕАЛЬНО ДО 25 ) КБ . ПОЭТО-
МУ НЕКОТОРЫЕ MW-ПРИЛОЖЕНИЯ ( НАПРИМЕР ТЕН_
INFO ) ПРИ НАЛИЧИИ АКТИВНЫХ РЕЗИДЕНТНЫХ
ПРОГРАММ , К СОЖАЛЕНИЮ , МОГУТ `ЗАВЕШИВАТЬ`
СИСТЕМУ . В ДОПОЛНЕНИЕ К ЭТОМУ ОТМЕЧУ , ЧТО
В АВГУСТЕ ПРОТИВ ЭТОГО БУДЕТ ВВЕДЕНА КОНТР-
МЕРА - ОТЛОВ ЗАЛЕЗАНИЯ MW-ПРИЛОЖЕНИЙ НА TSR
ОБЛАСТЬ , КОТОРАЯ БУДЕТ ОТКЛЮЧАТЬ РЕЗИДЕНТ-
НЫЕ ПРОГРАММЫ ПРИ НАРУШЕНИИ ЦЕЛОСТНОСТИ TSR
ОБЛАСТИ .
2. РЕАЛИЗОВАНА МНОГОЗАДАЧНОСТЬ ПЕРВОГО
РОДА - ОДНОВРЕМЕННО РАБОТАЮШИЕ ПРОГРАММКИ -
РЕЗИДЕНТЫ ( ДРУГИМИ СЛОВАМИ TSR - TERMINATE
AND STAND RESIDENT ) , РАCПОЛОГАЮЩИЕCЯ В
TSR-ОБЛАСТИ ( БЫВШИЙ CLIPBOARD ) . РЕЗИДЕНТ
- ЭТО НЕБОЛЬШАЯ ПРОГРАММА , КОТОРАЯ МОЖЕТ
РАБОТАТЬ ОДНОВРЕМЕННО C ЛЮБЫМ MW-ПРИЛОЖЕНИ-
ЕМ , НАПИСАННЫМ ПОД MW V2.1 ( А ТАК ЖЕ C MW
-ПРИЛОЖЕНИЯМИ , НАПИСАННЫМИ ПОД MW V1.1 ,
ЕСЛИ ОНИ НЕ `ЗАЛЕЗАЮТ` В TSR-ОБЛАСТЬ ) , А
ТАК ЖЕ C ДРУГИМИ РЕЗИДЕНТАМИ .
3. РЕАЛИЗОВАНА МНОГОЗАДАЧНОСТЬ ВТОРОГО
РОДА - ПЕРЕКЛЮЧЕНИЕ ЗАДАЧ ( SWITCHING ) .
ДАННАЯ ВОЗМОЖНОСТЬ ПРЕДУCMОТРЕННА ТОЛЬКО
ДЛЯ SPECTRUM-128 . ( ОНО И ПОНЯТНО ,- ОТКУ-
ДА ЖЕ В SPECTRUM-48 ВОЗМЕТСЯ ЛИШНЯЯ ПАМЯТЬ
??? ) . В ПАМЯТИ РАСПОЛОГАЮТСЯ ТРИ ЗАДАЧИ
( MW-ПРИЛОЖЕНИЯ РАЗМЕРОМ НЕ БОЛЕЕ 25 КБ БЕЗ
ЭКРАНА ИЛИ 32 КБ C ЭКРАНОМ ), ОДНА ИЗ КОТО-
РЫХ ЯВЛЯЕТСЯ АКТИВНОЙ, А ДВЕ ДРУГИЕ ПАССИВ-
НЫМИ ( `ЗАМОРОЖЕННЫМИ` ) . В МОМЕНТ ПЕРЕК-
ЛЮЧЕНИЯ ЗАДАЧ АКТИВНАЯ ЗАДАЧА `ЗАMОРАЖИВА-
ЕТСЯ` И СТАНОВИТСЯ ПАССИВНОЙ , А ВЫБРАННАЯ
ПАССИВНАЯ ЗАДАЧА `РАЗMОРАЖИВАЕТCЯ` И СТАНО-
ВИТСЯ АКТИВНОЙ . ПЕРЕКЛЮЧЕНИЕ ПРОИСХОДИТ
ЛИБО ПО ЖЕЛАНИЮ ПОЛЬЗОВАТЕЛЯ ( ЕСЛИ АКТИВ-
НОЕ ПРИЛОЖЕНИЕ ПОДДЕРЖИВАЕТ SWITCHING, ЛИБО
C ПОМОЩЬЮ СПЕЦИАЛЬНОЙ РЕЗИДЕНТНОЙ ПРОГРАММЫ
) , ЛИБО ПУТЕМ ДОБРОВОЛЬНОЙ ПЕРЕДАЧИ УПРАВ-
ЛЕНИЯ В ПАССИВНОЕ ПОЛОЖЕНИЕ ( ЕСЛИ АКТИВНАЯ
ЗАДАЧА ПОЗВОЛЯЕТ ВЫПОЛНЕНИЕ ТАКОГО ДЕЙСТВИЯ
) . SWITCHING ПРОИСХОДИТ ПРИБЛИЗИТЕЛЬНО ЗА
0.5 СЕКУНДЫ ( ЧТО , КСТАТИ , НЕ ПОЗВОЛЯЕТ
РАЗМЕЩАТЬ РЕЗИДЕНТНЫЕ ПРОГРАММЫ ПО АДРЕСАМ
НИЖЕ #C000 , Т.Е. В ОБЛАСТИ АКТИВНОЙ ЗАДАЧИ
ЗАТО ПОЗВОЛЯЕТ СОЗДАВАТЬ РЕЗИДЕНТЫ , КОТО-
РЫЕ РАБОТАЮТ В ЛЮБОЙ АКТИВНОЙ ЗАДАЧЕ ( ЧТО
СОВСЕМ НЕ ПЛОХО :))) .
4. В СВЯЗИ C НОВЫМИ ВОЗМОЖНОСТЯМИ В MWL
ДОБАВЛЕНЫ 8 НОВЫХ ПОДПРОГРАММ :
OLD_TSR УЗНАТЬ СТАРЫЙ TSR-ВЕКТОР ( АДРЕС
ПЕРВОГО В ЦЕПОЧКЕ РЕЗИДЕНТА ). МО-
ЖЕТ ВЕРНУТЬ 0, ЕСЛИ РЕЗИДЕНТОВ НЕТ
ИЛИ ОНИ `ВЫКЛЮЧЕНЫ` .
NEW_TSR УСТАНОВИТЬ НОВЫЙ TSR-ВЕКТОР ( ИЛИ
0 ДЛЯ ОТКЛЮЧЕНИЯ РЕЗИДЕНТОВ ) .
CHG_TSR УСТАНОВИТЬ НОВЫЙ TSR-ВЕКТОР , УЗ-
НАВ СТАРЫЙ .
SYSINFO ПОЛУЧИТЬ РАСШИРЕННУЮ СПРАВКУ (УПА-
КОВАННЫЙ НОМЕР ВЕРСИИ , АДРЕС И
РАЗМЕР CLIPBOARD`А ( TSR-ОБЛАСТИ )
TSR-ВЕКТОР , А ТАК ЖЕ ТИП КОМПЬЮ-
ТЕРА .
SWITCH ПЕРЕКЛЮЧИТЬ ЗАДАЧИ .
OLD_NAM УЗНАТЬ ИМЯ АКТИВНОЙ ЗАДАЧИ .
NEW_NAM УСТАНОВИТЬ НОВОЕ ИМЯ АКТИВНОЙ ЗА-
ДАЧИ ( КАК ПОНИМАЕТЕ , СДЕЛАТЬ ЭТО
МОЖЕТ ТОЛЬКО АКТИВНАЯ ЗАДАЧА, Т.Е.
ЭТО ПРОСТЕНЬКАЯ ЗАЩИТА ОТ HECAHK-
ЦИОНИРОВАННОГО ИЗМЕНЕНИЯ ИМЕН ДРУ-
ГИХ ЗАДАЧ ) .
CHG_NAM УСТАНОВИТЬ НОВОЕ ИМЯ АКТИВНОЙ ЗА-
ДАЧИ , УЗНАВ СТАРОЕ ИМЯ .
СЛЕДУЕТ НЕМНОГО ПОЯСНИТЬ , SWITCHING
ОСУЩЕСТВЛЯЕТСЯ СЛЕДУЮЩИМ СПОСОБОМ : ВЫ УС-
ТАНАВЛИВАЕТЕ ИМЯ НУЖНОЙ ВАМ ПРОГРАММЫ , И
ВЫЗЫВАЕТЕ СОБСТВЕННО САМУ ПОДПРОГРАММУ
SWITCH .
Other articles: