Кодерам - Многозадачность. Теория.
МНОГОЗАДАЧНОСТЬ. НЕМНОГО ТЕОРИИ.
----------------------------------
(С) ДЕНИС ТОКАРЧУК
НЕБОЛЬШОЕ ВСТУПЛЕНИЕ.
СКОЛЬКО Я НЕ ПРОСИЛ ГЛУБОКОУВАЖАЕМОГО ГРАЖДАНИНА К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ЕГАМ, АУ-АУ-АУ!!!).
* * *
Другие статьи номера:
|
|
|
|
Кодерам - Многозадачность. Теория.
|
|
|
|
|
|
|
|
|
|
|