если в больших разделах довольно часто приходится выполнять программы,
требующие незначительных объемов памяти. Например, при прогоне заданий,
занимающих по 32К памяти в разделах размерами в 64К каждый, на описанной
выше вычислительной установке с общим объемом памяти в 192К по крайней мере
треть памяти постоянно будет простаивать. Разумеется, если общий объем памяти
велик, это не беда. Но иногда случается, что памяти не хватает, т. е. центральный
процессор и подсистема ввода-вывода работают не с полной нагрузкой и могли бы
обслуживать дополнительные программы, если их было куда разместить.
Следовательно, в принципе система способна без особого ущерба для каждого
задания в отдельности (не замедляя
обслуживания) обрабатывать большее их число,
которое, к сожалению, уже не помещается в память при использовании данного
метода.
Неудачное деление на разделы приводит к увеличению стоимости прогона
программ и снижению общей производительности программирования. Каждая
прикладная программа должна быть обязательно ориентирована на выполнение в
определенном разделе. Но в связи с тем, что на
вычислительной установке уже
постоянно работают некоторые программы, новую программу, возможно, придется
выполнять в не совсем подходящем для этого разделе, и поэтому либо исказится
структура новой программы, либо возрастут сложности программирования, либо
произойдет и то и другое. Искажение структуры означает, что распределение
функций между отдельными элементами программы начинает отражать не
естественные,
а ограничения, связанные с размерами используемой памяти.
Возрастание сложностей программирования также связано с
необходимостью выполнять программы в областях памяти некоторого
фиксированного объема. Существует множество примеров тому, как при
«втискивании» программ в определенные рамки заметно возрастает стоимость
программирования. Косвенно это приводит к еще более неэффективному
использованию оборудования, поскольку разработчики прикладных программ
стремятся написать их так, чтобы минимизировать вероятность нехватки ресурсов.
Иными словами, если разработчики ориентируются на раздел размером в 32К, то
они стараются занять своими программами объем не более 20К. Если им это
удается, то раздел в 32К оказывается частично незанятым.
Еще один недостаток системы, предопределяющий снижение эффективности
обслуживания заданий, состоит в
том, что последние распределяются по разделам и
затем их выполнение планируется независимо друг от друга. Таким образом, может
оказаться, что задание, реально использующее 32К памяти, должно ждать, пока
освободится соответствующий ему раздел размером в 64К, в то время как другой
раздел размером в 32К простаивает. Поскольку при компиляции программы задания
были настроены на вполне конкретный раздел, осуществлять динамическое
перераспределение заданий для выполнения в других свободных разделах
подходящих размеров невозможно.
Все остальные свойства системы DOS также характеризуют ее как систему,
предназначенную для работы в устойчивой, хорошо определенной среде, в которой
92