1. Частотный принцип.
Этот принцип основан на выделении в алгоритмах программ и в обрабатываемых массивах действий и данных по частоте их использования. Действия и данные, используемые часто, располагаются в оперативной памяти, т.к. к ним необходим быстрый доступ. К тому же стремятся наиболее часто выполняемые операции оптимизировать по времени выполнения и по занимаемой памяти.
Следствия от применения частотного принципа – это применение многоуровневого планирования при организации работы ОС. На уровень долгосрочного планирования выносятся редкие и длинные операции управления деятельностью системы. Краткосрочному планированию подвергаются часто используемые и короткие операции.
2. Принцип модульности.
Это принцип в равной степени отражает технологические и эксплуатационные свойства. Наибольший эффект от его использования достигается в том случае, когда принцип одновременно распространен на ОС, аппаратуру и прикладные программы.
Под модулем в общем случае понимают функциональный элемент рассматриваемой системы, имеющей законченное оформление и выполненный в пределах требования ОС, а также средства сопряжения с подобными элементами или элементами более высокого уровня данной или другой системы.
|
|
Модуль предполагает лёгкий способ его замены на другой модуль, при наличии заданных интерфейсов. Чаще всего разделение на модули происходит по функциональному признаку.
Модули могут быть восстанавливаемыми и невосстанавливаемыми. Если модуль после окончания работы не восстанавливается в исходное состояние, то он называется однократным. Если модуль в процессе работы искажает своё состояние, но перед окончанием работы восстанавливается в исходное состояние, то его называют многократным. Особое значение при построении ОС имеют модули, называемые параллельно используемыми или реентерабельными. Каждый такой модуль может использоваться одновременно несколькими программами. Это позволяет хранить в памяти только одну копию такого модуля.
3. Принцип функциональной избирательности.
В ОС выделяется некоторая часть особо важных модулей, которые должны быть в оперативной памяти постоянно для эффективной организации вычислительного процесса. Эту часть обычно называют ядром ОС.
При формировании ядра необходимо удовлетворить двум противоречивым требованиям:
– в состав ядра должны войти наиболее часто используемые модули;
– количество модулей должно быть таким, чтобы не занимать много оперативной памяти;
В состав ядра входят модули по управлению системой прерываний, средства перевода процессов с одного состояния в другое, средства распределения оперативной памяти. Программы, входящие в состав ядра, обычно загружаются в оперативную память и называются резидентными.
|
|
Помимо резидентных программ существуют транзитные модули или программы, которые загружаются только при необходимости и могут перекрывать в оперативной памяти друг друга.
4. Принцип генерируемости.
Определяет такой способ исходного представления ОС, который позволял бы настраивать эту системную программу, исходя из конкретной конфигурации используемой машины и круга решаемых задач.
Процедура генерации проводится достаточно редко, а процесс генерации осуществляется с помощью специальной программы-генератора и входного языка для неё, позволяющего описывать программные возможности системы и конфигурацию машины. В результате генерации получается полная версия ОС. Исходный набор программ ОС, из которого производится генерация называется дистрибутивом.
5. Принцип функциональной избыточности.
Предполагает возможность проведения одной и той же работы различными средствами, т.е. ОС допускает альтернативное выполнение одних и тех же заданий в различных режимах своего функционирования.
6. Принцип по умолчанию.
Принцип основан на хранении в системе некоторых базовых описании, структур процесса, модулей, конфигурации оборудования и данных, определяющих прогнозируемые объемы требуемой памяти, времени счета программы, потребности во внешних устройствах, которые характеризуют пользовательские программы и условия их выполнения.
Эту информацию пользовательская система использует в качестве заданной, если она не будет определена или сознательно конкретизирована. В целом применение этого принципа позволяет сократить число параметров, устанавливаемых пользователем, когда он работает с системой.
7. Принцип перемещаемости.
Предусматривает построение модулей таким образом, что их исполнение не зависит от места расположения в оперативной памяти. Настройка текста модуля в соответствии с его расположением в памяти осуществляется специальными механизмами либо непосредственно пред выполнением программы, либо по мере по мере ее выполнения.
Настройка заключается в определении фактических адресов, используемых в адресных частях команды, и определяется применяемым в конкретной машине способом адресации и алгоритмом распределения оперативной памяти, принятым для данной ОС.
Этот принцип целесообразно распространять и на пользовательские программы.
8. Принцип защиты.
Определяет необходимость разработки мер, ограждающих программы и данные пользователя от искажения и нежелательного влияния друг на друга, а также пользователя на ОС и наоборот. Особенно трудно обеспечить защиту, когда используется разделение ресурсов.
Программы должны быть гарантированно защищены как при выполнении, так и при хранении, хотя попыток испортить и нанести нежелательный эффект пользовательским программам совершается множество.
Реализуется несколько подходов для обеспечения защиты.
Одним из направлений является реализация двухконтекстности работы процессора: в каждый момент времени процессор может выполнять программу из состава ОС либо прикладную или служебную программу, не входящую в состав ОС.
Второе направление состоит в том, чтобы гарантировать невозможность непосредственного доступа к любому разделяемому ресурсу со стороны пользовательских и служебных программ, для чего в состав машинных команд вводятся специальные привилегированные команды, управляющие распределением и использованием ресурсов. Такие команды разрешается выполнять только ОС. Контроль за выполнением привилегированных команд производится аппаратно.
|
|
Для реализации принципов защиты может использовать контекстный механизм защиты данных и текста программ, находящийся в операционной памяти. Для программ пользователей выделяются определенные участки памяти и выход за пределы этих участков приводит к возникновению прерываний по защите. Механизм контроля реализуется аппаратным способом, путем применения ограничительных регистров или ключей памяти.
Третье направление реализует механизм защиты данных, хранящихся в памяти, используются подходы, основанные на разграничении прав доступа, введении паролей, контроле за правильной интерпретацией данных, записанных в файле.
9. Принцип независимости программ от внешних устройств.
Позволяет выполнять операции управления внешними устройствами независимо от их конкретных физических характеристик. Связь программ с конкретными устройствами производится не на уровне трансляции программ, а в период планирования ее выполнения. При подключении новых устройств или замене существующих, текст программ не изменяется, а осуществляется подключение нового устройства к ОС путём подключения специальной программы, обеспечивающей взаимодействие ОС с внешним устройством. Такие программы называются драйверами.
10. Принцип открытой и наращиваемой операционной системы.
Открытая ОС доступна пользователю и специалисту, обслуживающему машину, а возможность наращивания или модификации операционной системы позволяет использовать не только возможности генерации, но вводить в операционную систему новые модули или модифицировать существующие.