Chapter_11 (1110563), страница 3
Текст из файла (страница 3)
Это следует из того, что если некоторая системнаяпрограмма (например, компилятор с Ассемблера) является реентерабельной, то в оперативной памятидостаточно иметь только одну копию этой программы, которая может одновременно использоватьсяпри компиляции любого числа программ на Ассемблере (отсюда второе название таких программ –параллельно используемые).2Как можно заметить, переключение с одного вычислительного процесса на другой занимает довольно много времени из-за относительно большого объёма данных, которые необходимо запомнитьи восстановить, используя области сохранения этих процессов.
Вот и наш майор Пронин, чтобы переключиться с одного дела на другое должен проедпринять целый ряд действий. Он должен собратьразложенные на столе документы в папку и спрятать её в сейф, вызвать конвой и отправить подследственного в камеру, вызвать на допрос нового подследственного, достать из сейфа его папку, разложить на столе необходимые документы и т.д.Ясно, что при большом количестве одновременно проводимых расследований и при частом переключении с одного дела на другое всё больше времени следователя будет тратиться непродуктивно. Для решения этой проблемы начальство выделило Пронину для работы сразу несколько одинаковых расположенных рядом кабинетов, в каждом из которых есть всё для работы: стол с документами,магнитофон, сейф, подследственный с конвоем и т.д. Теперь переключение с одного дела на другоезаключается для Пронина в быстром переходе из одного кабинета в другой, где уже всё готово длянемедленного продолжения работы со следующим подозреваемым.Аналогично, для быстрого переключения с одного процесса на другой в архитектуре компьютераделается несколько одинаковых наборов регистров (как регистров пользователя, так и системных регистров).
Как мы знаем, совокупность всех регистров и определяет текущую точку выполнения процесса, поэтому, производя смену набора регистров, мы фактически переключаемся с одного процессана другой.3В современных ЭВМ большинство системных программ являются реентерабельными.Вопросы и упражнения1.2.3.Каково назначение системы программирования?Из каких главных компонентов состоит система программирования?Чем отличаются компиляторы от интерпретаторов?1Для продвинутых читателей информация на будущее. Сейчас распространена технология программирования, для которой при порождении из программы нового процесса он получает только свой собственный сегмент стека, а сегменты кода и данных будут общие для всех этих процессов.
Такие процессы получили название легковесных процессов или нитей (threads). Так что некоторым из Вас придётся заниматься "многонитевым программированием" – звучит весьма необычно.2Как мы узнаем позже, на однопроцессорной ЭВМ в каждый момент времени может компилироватьсятолько одна программа, но, по сигналам прерывания от внутренних часов компьютера, можно производить быстрое переключение с одного вычислительного процесса на другой, так что создаётся впечатление, что компилируются (хотя и более медленно) сразу несколько программ.3Такая технология быстрого переключения процессов реализована, например, в процессорах фирмы Intel,начиная с Pentium IV, там она называется HyperThreading.74.5.6.7.8.Что такое повторно-выполнимые модули, и какие ограничения необходимо наложить на Ассемблерную программу, чтобы она была повторно-выполнимой?Какие исполняемые программы называются повторно-входимыми (реентерабельными)? Какоедостоинство имеют такие программы?Какие требования необходимо наложить на Ассемблерную программу, чтобы она была реентерабельной?Что такое вычислительный процесс и как одна программа может порождать несколько вычислительных процессов?Ещё раз прочитайте приведённое выше шуточное сравнение выполнения реентерабельной программы с деятельностью следователя майора Пронина и ответьте на следующий вопрос.
Чтодолжен делать центральный процессор, когда его аналог майор Пронин отдыхает на своей дачеи не занят расследованием преступлений? Подсказка: как и в детективных фильмах, отдыхмайора Пронина (а что это в нашем компьютере?) в любой момент может быть нарушен неожиданным звонком об очередном преступлении..