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