Cтраница 3
Запуск осуществляется путем простой загрузки программ в память, так как компилятор уже преобразовал их в необходимую абсолютную машинную форму. В первых системах широко применялись самозагружающиеся колоды карт и файлы. Из рис. 4.1 видно, насколько просты были такие системы. Их основной недостаток состоит, конечно, в отсутствии гибкости, а кроме того, в невозможности объединения программ, написанных на различных языках. Излишняя жесткость этих систем объясняется слишком ранним распределением основной памяти и внешних устройств. Попытки преодоления указанных трудностей привели к созданию концепции отдельных стадий в том виде, в каком она известна сегодня. Интересно представить себе, как бы структурно развивались операционные системы, если бы механизмы страничной организации появились чуть раньше. Если бы разработчики первых систем понимали, что механизмы, обслуживающие программы на этапе их выполнения, способны обеспечивать перемещение в памяти загрузочных модулей, создаваемых компилятором, мультипрограммирование и даже разделение времени могли бы стать реальностью в отсутствие современного распределения функций и связанного с ним выделения стадий обработки. [31]