Презентация "Основные принципы построения операционных систем"

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