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