Cтраница 1
Разработчики операционных систем постоянно вынуждены выбирать между статическими и динамическими структурами данных. [1]
Разработчики операционных систем, безусловно, знали о наличии такой возможности. Это всего лишь один пример, но можно привести и множество других примеров того, как желание сделать систему дружественной по отношению к пользователю ( или защищенной от дурака, в зависимости от вашей точки зрения) значительно снижало производительность системы. [2]
Разработчикам операционных систем приходится решать сложную проблему взаимодействия принятых способов защиты памяти. В аппаратуре при работе системы преобразования адресов происходит контроль доступности сегментов и страниц, не позволяющих выходить за пределы массива таблиц и зй - пределы оперативной памяти. При появлении недозволенных обращений производится прерывание работы схем переадресации и управление передается супервизору. Схемы переадресации можно отключить, выполнив специальную команду, меняющую содержимое некоторых управляющих регистров. Это эквивалентно отключению виртуальной памяти. [3]
Разработчику операционной системы необходимо хорошо представлять себе и даже частично определять способ размещения программ в памяти, последовательность формирования физических адресов, а также структуру прикладных программ, предназначенных для выполнения данной машиной. Разработчик должен до тонкостей разбираться в механизме адресации, заложенном в аппаратуре. Он обязан знать, существуют ли базовые регистры, позволяющие изменить адрес начала программы. В его обязанности входит установление степени использования общих кодов программами, выполняющимися логически одновременно в мультипрограммном режиме. В этом случае ЦП, быстро переключаясь, выполняет то одну программу, то другую. Ему приходится решать вопрос и о том, что предпочтительнее - нахождение в памяти только частей выполняющихся программ или полная загрузка программы перед обращением к ЦП. [4]
Группа разработчиков операционных систем для компании Frugal Computer Company размышляют о способе уменьшения количества резервного пространства для хранения, необходимого в их операционной системе. Ведущий специалист предложил вообще не беспокоиться о сохранении текста программы в области подкачки, а просто загружать его страницами прямиком из двоичного файла всякий раз, когда он требуется. При каком условии, если оно существует, эта идея работает для текста программы. А при каком условии, опять же, если оно существует, она работает для данных. [5]
Поскольку среди разработчиков операционных систем нет единого мнения по вопросу о том, как лучше всего проектировать операционные системы, эта глава будет носить более личный характер, более умозрительный и, несомненно, более противоречивый, чем предыдущие главы. [6]
В среде разработчиков операционных систем ходит множество изустных преданий о том, что такое хорошо и что такое плохо, однако на удивление малое количество из этих историй записано. [7]
Поскольку среди разработчиков операционных систем нет единого мнения по вопросу о том, как лучше всего проектировать операционные системы, эта глава будет носить более личный характер, более умозрительный и, несомненно, более противоречивый, чем предыдущие главы. [8]
В среде разработчиков операционных систем ходит множество изустных преданий о том, что такое хорошо и что такое плохо, однако на удивление малое количество из этих историй записано. [9]
Тем самым разработчикам операционных систем предоставляется возможность управлять выбором объема страницы. Как мы уже знаем, индекс сегмента есть относительный адрес строки в таблице сегментов, которая в свою очередь содержит ссылку на начало таблицы страниц. Кроме указания длины таблицы страниц, связанной с данной строкой таблицы сегментов, в строке таблицы сегментов существует признак доступности - допустимости обращения к данному сегменту. Этот признак осуществляет функции защиты. Такой же признак доступности существует и в строках таблицы страниц. Таким образом защита памяти в Системе 370 осуществляется как по сегментам, так и по страницам. [10]
Чего же хотят разработчики операционных систем. Очевидно, ответ варьируется от системы к системе и будет разным для встроенных систем и серверных систем. [11]
В-шестых, у разработчиков операционной системы на самом деле нет четкого представления о том, как будет использоваться их система, поэтому они должны обеспечить достаточную степень универсальности. При проектировании таких систем, как UNIX или Windows 2000, не предполагалось их использование для работы с электронной почтой или запуск web - браузера под их управлением, однако многие современные компьютеры в основном только для этого и используются. Трудно себе представить проектировщика морского судна, который не знал бы, что он проектирует: рыболовецкое судно, пассажирское судно или военный корабль. [12]
Процесс генерации отражает представления разработчиков операционной системы о том, насколько системные службы должны входить в среду выполнения. Стремление к еще большему увеличению гибкости системы может привести к отсрочке принятия некоторых относящихся к генерации решений до начальной загрузки ( IPL - Initial Program Load), когда оператор вычислительной машины с помощью команд, напоминающих команды генерации, определяет значения аналогичных параметров. [13]
Характеристиками ЦП с точки зрения разработчика операционных систем являются структура адресации, структура прерываний, система команд и механизмы защиты. [14]
Система команд представляет интерес для разработчиков операционной системы по ряду причин. Прежде всего она пишется с помощью именно этих команд. Несмотря на то что в последнее время ( и не случайно) популярность языка Ассемблера заметно снизилась, разработчики программного обеспечения, несомненно, должны лучше знать средства машинного языка, чем прикладные программисты. Поэтому и языки высокого уровня, предназначенные для написания операционных систем, обычно допускают более тесное взаимодействие с аппаратурой, чем проблемно-ориел-тированные языки высокого уровня. Системный программист должен быть хорошо знаком с командами ЭВМ, чтобы без труда оценивать реальные размеры программ и время, требующееся для их выполнения. Это позволит значительно расширить функциональные врзможности соответствующей проекции. [15]