ZX Time #02 |
|
Кодерам - Многозадачность. Теория.
МНОГОЗАДАЧНОСТЬ. НЕМНОГО ТЕОРИИ. ---------------------------------- (С) ДЕНИС ТОКАРЧУК НЕБОЛЬШОЕ ВСТУПЛЕНИЕ. СКОЛЬКО Я НЕ ПРОСИЛ ГЛУБОКОУВАЖАЕМОГО ГРАЖДАНИНА КILLЕГАМ'А ПО-БЫСТРЕЕ НАПИСАТЬ СТАТЕЙКУ С ЕГО ИДЕЯМИ О РЕАЛИЗАЦИИ МНОГОЗАДАЧНОСТИ НА СПЕКТРУМЕ - ВСЕ БЕЗРЕЗУЛЬТАТНО. СЕГОДНЯ УЖЕ 19-Е ЧИСЛО, ВРЕМЯ 22.SЧ, А УБИЙЦЫ ПАМЯТИ ВСЕ НЕТ И, К СОЖАЛЕНИЮ, НЕ БУДЕТ. НУ ЧТО Ж, КОЛЯ, САМ НАПРОСИЛСЯ - ЧИТАЙ ТЕПЕРЬ МОЮ СТАТЬЮ С ВЗГЛЯДАМИ, КОТОРЫЕ, КАК ТЫ САМ ЗНАЕШЬ, ТЕБЕ НЕ ОЧЕНЬ ПО ДУШЕ :))). ДА, ЧИТАТЕЛИ, ДЕЛО В ТОМ, ЧТО У МЕНЯ БОЛЕЕ ТРАДИЦИОННЫЙ ВЗГЛЯД НА РЕАЛИЗАЦИЮ МАЛОРЕАЛИЗУЕМОГО (!), А У КОЛЯНА НА ЭТОТ СЧЕТ БОЛЕЕ ЭКЗОТИЧНЫЕ МЫШЛЕНИЯ. ОДИН НОЛЬ В МОЮ ПОЛЬЗУ. КILLЕГАМ, СРАВНЯЕШЬ СЧЕТ?.. СОБСТВЕННО ТЕОРИЯ... НЕ ЗНАЮ ПОЧЕМУ, НО О ТАКОЙ ВЕЩИ, КАК МНОГОЗАДАЧНОСТЬ, В СПЕКТРУМОВСКИХ СМИ ПРЕДПОЧИТАЛИ КАК-ТО УМАЛЧИВАТЬ. ОНО И НЕ МУДРЕНО - БОЛЕЕ-МЕНЕЕ НОРМАЛЬНОЙ РАБОТЫ СЕГО, ТАК СКАЖЕМ, УДОБСТВА ПРИ МОЩНОСТЯX СПЕКТРУМА ДОБИТЬСЯ ТРУДНО. ЭТО ХОРОШО, ЕСЛИ ЕСТЬ 7 МЕГАГЕРЦ, КЭШ И ОЗУ ХОТЯ БЫ S12 КИЛОБАЙТ - ЗДЕСЬ ЕЩЕ МОЖНО ЧЕГО-ТО ДОБИТЬСЯ, НО К ПРЕВЕЛИКОМУ СОЖАЛЕНИЮ У НАС ДО СИХ ПОР БОЛЬШИНСТВО СИДИТ НА 128-X ПЕНТАГОНАХ С З.S МЕГАГЕРЦАМИ, МУЗЫКАЛКОЙ, НУ МОЖЕТ БЫТЬ ЕЩЕ И КОВОКСОМ. НО ДАЖЕ ПРИ НАЛИЧИИ ГИПЕРПРОДВИНУТОГО СПЕКТРУМА С Ч-МЯ МЕТРАМИ ОЗУ, С САМОЙ БЫСТРОЙ ДОРАБОТКОЙ ТУРБО И С КЭШЕМ НА 128 КИЛО, МЫ СТЫКАЕМСЯ С ЕЩЕ БОЛЬШЕЙ ПРОБЛЕМОЙ - ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ, А ТОЧНЕЕ ОС, КОТОРАЯ СМОГЛА БЫ ОБЕСПЕЧИТЬ РАБОТУ МНОГОЗАДАЧНОСТИ... НО ЭТО ПОТОМ, А СЕЙЧАС РАССМОТРИМ ВАРИАНТЫ 'МНОГОЗАДАЧНОСТЕЙ', КОТОРЫЕ БЫ СМОГЛИ ВОПЛОТИТЬСЯ НА СПЕККИ. 'НЕПАРАЛЛЕЛЬНАЯ' (КООПЕРАТИВНАЯ) МНОГОЗАДАЧНОСТЬ. ИТАК, ПРЕДСТАВЬТЕ СЕБЕ КУЧКУ ПРОГРАММ, К КОТОРЫМ МОЖНО БЫСТРО ОБРАЩАТЬСЯ ЧЕРЕЗ КАКОЕ-ТО МЕНЮ, ПЕРЕНОСИТЬ БЛОКИ ДАННЫХ ИЗ ОДНОЙ ПРОГРАММЫ В ДРУГУЮ, ПРИ ЭТОМ БЕЗ ВОЗНИКНОВЕНИЯ КОНФЛИКТОВ СТАНДАРТОВ. ВОТ ЭТО И ЕСТЬ НЕПАРАЛЛЕЛЬНАЯ МНОГОЗАДАЧНОСТЬ - НА МОЙ СКРОМНЫЙ ВЗГЛЯД НАИБОЛЕЕ ВЕРОЯТНАЯ В РЕАЛИЗАЦИИ НА НАШЕМ СПЕККИ, НО С УСЛОВИЕМ, ЧТО ПАМЯТЬ ХОТЬ НЕМНОГО РАСШИРЕНА. КРОМЕ ТОГО НЕОБХОДИМО ПИСАТЬ 'ПЕРЕМЕСТИМЫЕ' ПРОГРАММЫ, А ЗДЕСЬ НЕ ОБОЙТИСЬ БЕЗ ЯЗЫКА ВЫСОКОГО УРОВНЯ, ТАК КАК НА АССЕМБЛЕРЕ НАПИСАТЬ РЕЛОЦИРУЕМУЮ БОЛЬШУЮ ПРОГРАММУ ЗАТРУДНИТЕЛЬНО (ПРОГРАММА КАК МИНИМУМ УДЕСЯТИРЯЕТСЯ В СЛОЖНОСТИ). ХОТЯ ЕСТЬ И ДРУГОЙ ВЫХОД - ТАК КАК ПРОГА ВСЕ РАВНО ПАССИВНА ПРИ РАБОТЕ ДРУГОЙ, МОЖНО ИХ 'ОБМЕНИВАТЬ' МЕЖДУ АКТИВНОЙ И ПАССИВНОЙ ПАМЯТЬЮ (БУФЕРАМИ) ВО ВРЕМЯ АКТИВИЗАЦИИ ТОЙ ИЛИ ИНОЙ; ОДНАКО ПРИ ТАКОМ РАСКЛАДЕ, НЕОБХОДИМА ВЫСОКАЯ СКОРОСТЬ ОБМЕНА ДАННЫМИ (ВОТ ЗДЕСЬ И ПРИГОДИТЬСЯ КЭШ, ГДЕ, КАК ИЗВЕСТНО, 7 МЕГАГЕРЦ (В ТУРБЕ) ПОЛНОЦЕННЫ). 'ПАРАЛЛЕЛЬНАЯ' МНОГОЗАДАЧНОСТЬ. А ТУТ ПРЕДСТАВЬТЕ СЕБЕ ТАКУЮ КАРТИНУ - ФОРМАТИРУЕТСЯ ДИСКЕТА, ПРИ ЭТОМ ИГРАЕТ МУЗЫЧКА, ПЕЧАТАЕТ ПРИНТЕР, НА МОНИТОРЕ В БОЛЬШОМ ОКОШКЕ ИДЕТ МУЛЬТИК, В ПАМЯТИ РАСЧИТЫВАЕТСЯ СИНУС ДЛЯ НОВОЙ ДЕМКИ (А ТАКЖЕ ВЫВОДИТСЯ ФОРМУЛА АБСОЛЮТНОГО ТОПЛИВА :))) ), ПРИ ЭТОМ ВЫ В МАЛЕНЬКОМ ОКОШЕЧКЕ, ЧУТЬ НИЖЕ ОКНА МУЛЬТИКА ЧТО-ТО ПРОГРАММИРУЕТЕ В АЛАСМЕ. И ВСЕ ЭТО ОДНОВРЕМЕННО И БЕЗ ТОРМОЗОВ! ДЛЯ СПЕКТРУМА КАРТИНА АБСОЛЮТНО НЕРЕАЛЬНАЯ (ЧТО ПЫТАЕТСЯ ОПРОВЕРГНУТЬ КILLЕГАМ). В ПРИНЦИПЕ, КАК И ДЛЯ ТОГО ЖЕ ПИСЮКА. ДЛЯ РЕАЛИЗАЦИИ ТАКОГО ЧУДЕСНОГО МНОГОЗАДАЧНОГО РЕЖИМА НЕОБХОДИМА КАК МИНИМУМ МУЛЬТИПРОЦЕССОРНОСТЬ. БЕЗ АППАРАТНОЙ 'ПОДДЕРЖКИ', РЕАЛИЗОВЫВАЯ (КАКИХ ТОЛЬКО СЛОВОФОРМ НЕ ВЫДУМАЕШЬ! :) ) ВСЕ ЛИШЬ НА ПРОГРАММНОМ УРОВНЕ, ВЫХОДЯТ УРОДЦЫ ТИПА ШIПДОШS, ГДЕ ПРЕДСТАВЛЕНА ЛИШЬ ЖАЛКАЯ И СТРАШНАЯ ПАРОДИЯ НА МНОГОЗАДАЧНОСТЬ. 'СМЕШАНАЯ' (НЕ СМЕШНАЯ, А СМЕШАНАЯ:)) МНОГОЗАДАЧНОСТЬ. А ЭТО НЕКОТОРЫЙ КОМПРОМИСС. МНЕ ЭТО ВИДИТСЯ СЛЕДУЮЩИМ ОБРАЗОМ: ПИШУТЬСЯ ДВА ВИДА ПРОГРАММ (ЕСТЕСТВЕННО, ПОД СПЕЦИАЛЬНУЮ ОС) - ОДНИ 'БЫСТРЫЕ', НЕ ТРЕБУЮЩИЕ БОЛЬШИХ ЗАТРАТ ПО ВРЕМЕНИ И ВМЕЩАЮЩИXСЯ В ОДНО ПРЕРЫВАНИЕ (ОПРОС КЛАВЫ (САМО СОБОЙ), ВСЯЧЕСКИЕ ДРУГИЕ ДРАЙВЕРА МАНИПУЛЯТОРОВ, АУ-МУЗЫКА, ВЫВОД СТРЕЛОЧКИ, ЧТО-ТО НА ЭКРАНЕ, И Т.Д.). ОСНОВНАЯ ОСОБЕННОСТЬ ЭТИХ ПРОГРАММ, НАЗОВЕМ ИХ, ПРОГРАММАМИ ПЕРВОГО ВИДА - ЭТО ТО, ЧТО ОНИ ВЫПОЛНЯЮТСЯ ВСЕ ВРЕМЯ, ВНЕ ЗАВИСИМОСТИ ОТ ТОГО, ЧТО ВЫ ДЕЛАЕТЕ (МОЖНО ИХ НАЗВАТЬ ЕЩЕ 'ФОНОВЫМИ' ПРОГРАММАМИ). ПРОГРАММЫ ВТОРОГО ВИДА - ЭТО ГРОМОЗДКИЕ ПРОГРАММЫ, НАПИСАНЫЕ ДЛЯ ВЫПОЛНЕНИЯ КАКОЙ-ЛИБО БОЛЬШОЙ И СЛОЖНОЙ ЗАДАЧИ, НО КОТОРЫЕ В ЛЮБОЕ ВРЕМЯ МОЖНО ПРЕКРАТИТЬ (КАК РАЗ ПРИ ПОМОЩИ 'ФОНОВОЙ' ПРОГРАММЫ, КОТОРАЯ, СИДЯ В ПРЕРЫВАНИИ, МОЖЕТ НЕСЛОЖНЫМИ МАНИПУЛЯЦИЯМИ БЫСТРО ПЕРЕХВАТИТЬ УПРАВЛЕНИЕ). ПЛЮСЫ ТАКОЙ РЕАЛИЗАЦИИ МНОГОЗАДАЧНОСТИ НА ЛИЦО - МЫ ПОЛУЧАЕМ МАССУ УДОБСТВ: БЫСТРЫЙ ПЕРЕХОД НА ЛЮБУЮ ИЗ АКТИВИЗИРОВАННЫX (ИНСТАЛЛИРОВАННЫX) ПРОГРАММ ВТОРОГО ВИДА (ОСНОВНЫХ), ВОЗМОЖНОСТЬ ВКЛЮЧАТЬ В СОСТАВ 'ФОНОВЫХ' ПРОГРАММ СОБСТВЕННОРУЧНО НАПИСАНЫЕ (НАПРИМЕР, ВЫВОД НА ЭКРАНЕ ВРЕМЕНИ, ВРАЩЕНИЕ ЛОГОТИПА ФИРМЫ, И ДР.). ОДНАКО, ЕСТЬ И МИНУСЫ. САМЫЙ ОСНОВНОЙ, НА МОЙ ВЗГЛЯД - ЭТО ПОЯВЛЕНИЕ ВЫСОКОЙ ЗАВИСИМОС- ТИ ПРОГРАММ ОТ ОС, ЧТО, КАК ИЗВЕСТНО, НЕ БЫЛО ОСОБО ПРИСУЩЕ СПЕКТРУМУ - ВЕДЬ НАШИ ПРОГРАММИСТЫ ГОНЯТЬСЯ ЗА СКОРОСТЬЮ И У НИХ НЕТ В ПРИВЫЧКАХ ЗАВИСЕТЬ ОТ ОС, ЧТО НЕ МУДРЕНО ПРИ НИЗКИХ ТАКТОВЫХ ХАРАКТЕРИСТИКАХ Z8О, А НАПИСАНЫЕ ОС'ОВСКИЕ ПРОЦЕДУРЫ НЕ МОГУТ ПОХВАСТАТЬСЯ ВЫСОКИМИ СКОРОСТЯМИ... НО ЕСЛИ ПИСАТЬ ОС ВЗВЕШЕННО И ВДУМЧИВО, ТО ВПОЛНЕ МОЖНО ОБОЙТИ И ЭТИ 'ОСТРЫЕ УГЛЫ'... Я (ДШТ) БЕРУ ЗА ТОЧКУ ОТПРАВЛЕНИЯ В ПОИСКАХ КОМПРОМИССОВ ИМЕННО ПОСЛЕДНИЙ ВИД МНОГОЗАДАЧНОСТИ. ПОГОВОРИМ ТЕПЕРЬ ОБ ОС. ЕЕ, ЕСТЕСТВЕННО, ПРИДЕТСЯ НАПИСАТЬ НОВУЮ. ЛУЧШЕ, ЧТОБЫ ОНА (ИЛИ ЕЕ ЧАСТЬ) БЫЛА ЗАШИТА В ПЗУ. СТАРУЮ ЖЕ ОС И ДОС (ВАSIСЧ8+ТГ-ДОS) ПРИДЕТСЯ ОСТАВИТЬ, А BASIC128 ЗАМЕНИТЬ НА НОВУЮ СИСТЕМУ. ДА ЧТО Я ОБ ЭТОМ ПИШУ - УЖЕ НАПИСАНО С ДЕСЯТОК ПРОШИВОК В BASIC128 (GLUK, ПЕОS, И Т.Д.) И ПРОГРАММЫ ПОЧТИ НИКОГДА НЕ ОЩУЩАЮТ ОТСУТСТВИЯ 128-ГО БЕЙСИКА, ЧТО И НАМ НА РУКУ. НОВАЯ ОС (МНОГОЗАДАЧНАЯ ОС - ДАЛЕЕ БУДЕМ СОКРАЩЕННО НАЗЫВАТЬ ЕЕ МОС) ДОЛЖНА БЫТЬ ГИБКОЙ, НЕБОЛЬШОЙ ПО ОБ'ЕМУ И С МАКСИМУМОМ ВОЗМОЖНОСТЕЙ. ОЧЕНЬ ХОРОШО, ЕСЛИ БУДЕТ SETUP - ЛИБО ВЫНОСНОЙ (НА ВНЕШНЕМ НАКОПИТЕЛЕ - ДИСКЕ), ЛИБО ЗАШИТЫЙ В ПЗУ (ТОГДА ПРОИЗВО- ДИТЕЛЬ ДОЛЖЕН ПОД КАЖДОГО КОНКРЕТНОГО ПОЛЬЗОВАТЕЛЯ ПОДГОНЯТЬ SET ИР, ГДЕ БУДУТ ОБОЗНАЧАТЬСЯ 'НЕОПОЗНАВАЕМЫЕ' УСТРОЙСТВА - COVOX, SОИПДГIVЕ, И, ВОЗМОЖНО, ПАМЯТЬ). ЕСЛИ ВЫБРАН ВТОРОЙ СПОСОБ, ТО ПРОИЗВОДИТЕЛЬ ОС ПОЛУЧИТ НЕКУЮ ГАРАНТИЮ 'ОКУПАЕМОСТИ' СВОЕГО ПРОДУКТА, ВЕДЬ СЕТАПНУЮ ИНФОРМАЦИЮ МОЖНО КАКИМ-ТО ОБРАЗОМ ЗАКОДИРОВАТЬ С НОМЕРОМ ПОЛЬЗОВАТЕЛЯ И, ЗАТЕМ ВЫПУСКАЯ ОБСЛУЖИВАЮЩИЕ ПРОГРАММЫ (КОТОРЫЕ, КАК ИЗВЕСТНО - САМЫЕ НЕОБХОДИМЫЕ) ПРОВЕРЯТЬ ЭТУ ИНФОРМАЦИЮ И, В СЛУЧАЕ 'НЕСТЫКОВОК', ПОСЫЛАТЬ НЕЗАРЕГИСТРИРОВАННОГО ПОЛЬЗОВАТЕЛЯ К ТАКОЙ-ТО МАТЕРИ:). ЕСТЕСТВЕННО, ЭТО НЕ РАЗРЕШИТ ПРОБЛЕМЫ ПИРАТСТВА ВО ВСЕОXВАТЫВАЮЩЕЙ ЕЕ СУПЕРМАСШТАБНОСТИ (ВО КАК ЗАКРУТИЛ!!!), НО ХОТЬ НА КАКОЕ-ТО ВРЕМЯ ОXЛАДИТ ПЫЛ ХАКЕРОВ-РУКОДЕЛЬНИКОВ. ГИБКОСТЬ МОС ДОЛЖНА ЗАКЛЮЧАТЬСЯ В ВОЗМОЖНОСТИ 'ОТКЛЮЧЕНИЯ' КОМПОНЕНТОВ СИСТЕМЫ, ВПЛОТЬ ДО ОПРОСА КЛАВИАТУРЫ И ОБРАЩЕНИЙ К ДИСКУ. ЭТО НЕОБХОДИМО ДЛЯ 'ПОДГОНКИ' СИСТЕМЫ ПОД ПРОГРАММЫ, ДАБЫ ВСЕМ БЫЛО УДОБНО. НО ПРИ ЭТОМ ПОЯВЛЯЕТСЯ ОПАСНОСТЬ МОЩНОГО ПОТОКА ВИРУСОВ, КОТОРЫЕ СМОГУТ ПОЛНОСТЬЮ КОНТРОЛЛИРОВАТЬ СИСТЕМУ (ОНИ СТАНУТ О-О-ОЧЕНЬ УМНЫМИ, ВЕДЬ ТОГДА УЖЕ НЕ БУДЕТ ДИКТАТА ТГ-ДОS'А И ВАSIСЧ8). КРОМЕ ТОГО, КАК МНЕ КАЖЕТСЯ, НЕОБХОДИМО 'ВШИТЬ' В ПЗУ'ШКУ КОМПИЛЯТОР ЯЗЫКА, ОДНАКО НИ БЕЙСИКА, НИ СИ, НИ ПАСКАЛЯ, А НОВОГО (У МЕНЯ И НА ЭТОТ СЧЕТ ЕСТЬ СВОИ МЫШЛЕНИЯ), КОТОРЫЙ БЫ БЫЛ ОПТИМАЛЕН, ПОДОГНАННЫЙ ПОД ОСОБЕННОСТИ ЖЕЛЕЗА (СПЕККИ). И НЕОБЯЗАТЕЛЬНО, ЧТОБЫ ЭТОТ КОМПИЛЯТОР ЧИТАЛ ЦЕЛЫЕ КОМАНДЫ (ЭТО ЗАМЕДЛЯЕТ ЕГО РАБОТУ), А ВОСПРИНИМАЛ СПЕЦИАЛЬНЫЙ КОД (ДОПУСТИМ, КОМАНДА РГIПТ - #ОО,#ОО,...ТЕХТ...,#ОО). А РЕДАКТОР ТАКОГО ЯЗЫКА (КОТОРЫЙ, ЕСТЕСТВЕННО, БУДЕТ ВНЕШНИМ) БУДЕТ ЗАНИМАТЬСЯ ТАКЖЕ КОМПИЛИРОВАНИЕМ, НО В ЭТОТ СПЕЦИАЛЬНЫЙ КОД. ОПЯТЬ ЖЕ, НЕОБХОДИМА ВОЗМОЖНОСТЬ 'ОТКЛЮЧЕНИЯ' И 'ЗАМЕНЫ' КОМПОНЕНТОВ ЯЗЫКА (КОМАНД) И ПРИСВОЕНИЯ ИМ НОВЫХ КАЧЕСТВ. ВСЯ ЭТО КОТАВАСИЯ НЕОБХОДИМА ДЛЯ НАПИСАНИЯ РЕЛОЦИРУЕМЫХ ПРОГРАММ И ДРАЙВЕРОВ (ДЛЯ МНОГОЗАДАЧНОСТИ, ЕСТЕСТВЕННО)... (ПРОДОЛЖЕНИЕ, ВОЗМОЖНО, ПОСЛЕДУЕТ...) МОЖНО ПИСАТЬ НА СЧЕТ МОС ОЧЕНЬ ДОЛГО, НО ЗАЧЕМ, ЕСЛИ ЭТИ ИДЕИ НЕ РЕАЛИЗУЮТСЯ, А ЕСЛИ И ПОЯВЯТСЯ, ТО НЕ БУДУТ ВОСТРЕБОВАНЫ? :(. ВООБЩЕМ, ЕСЛИ ВАМ ИНТЕРЕСНО, ТО МОЖЕТЕ ПИСАТЬ В АДРЕС РЕДАКЦИИ И ВЫРАЖАТЬ СВОИ МЫСЛИ ПО ПОВОДУ НОВОЙ МОС. МОЖЕТ, КТО ИЗ ПРОГРАММИСТОВ И ЗАИНТЕРЕСУЕТСЯ (КILLЕГАМ, АУ-АУ-АУ!!!). * * *
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября