- •Системное программное обеспечение Кошкин в. В.
- •Место программных средств в вычислительных системах
- •Состав по
- •Общие требования к программному обеспечению
- •Требования к проектируемому программному обеспечению
- •(2) Основные принципы проектирования программного обеспечения (по).
- •Механизмы выполнения программы
- •Последовательность выполнения программы. Основные положения.
- •2) Понятие процедур.
- •(3) Прерывания
- •(4) Процедура ввода/вывода.
- •Управление реальной памятью.
- •Управление виртуальной памятью.
- •Р абота с файлами.
- •Планирование заданий.
- •Распределение ресурсов
- •Защита пользователей.
- •Синхронизация процессов. (1) Синхронизация. Мониторы как инструмент синхронизации.
- •(2) Синхронизация. Реализация взаимного исключения. Семафоры.
- •Загрузчики.
- •Загрузчик, абсолютный загрузчик
- •Перемещающий загрузчик.
- •Управление процессами загрузки.
- •Связывающие загрузчики.
- •Динамическое связывание.
- •Макропроцессоры. (1) понятия о макропроцессорах.
- •(2 )Варианты построения макропроцессоров.
- •Компиляторы Основные функции компиляторов. Последовательность компиляции.
- •Свойства компиляторов, варианты построения.
- •Интерпретаторы.
- •Компиляторы в р-код.
- •Автоматизация процедуры компиляции.
- •Тестовое по. Основные принципы построения тестового по.
- •Основы методики тестирования.
- •Генерация тестовых последовательностей.
- •Вопросы для подготовки к экзаменам по Системному программному обеспечению
- •Объектный файл 1.Obj
- •Выполняемый файл 1.Exe
- •Если нужны изменения
Общие требования к программному обеспечению
Требования к проектируемому программному обеспечению
Поскольку программное обеспечение представляет совокупность разнородных программ, разработаны некоторые рекомендации к его проектированию. Эти рекомендации могут оказать влияние на построение алгоритмов разрабатываемых программ. Основные требования для отдельных составляющих следующие:
модульность структуры, т.е. необходимо каждую программу оформлять как самостоятельную подпрограмму. При разработке больших программных процедур, их делят на самостоятельные части подпрограммы, оформляя их соответствующим образом. При этом разработку отдельных частей можно вести раздельно. Модульность обеспечивает простое взаимодействие между частями, легкую замену одних программ другими. Основное требование при большом числе составляющих модулей – их систематизация. Имя процедуры должно нести смысл ее применения.
Требования развития ОС. Как правило это касается обрабатывающих процедур (утилит). Кроме того отдельные процедуры из одной ОС могут быть использованы в других ОС – заимствованы.
Требование легкости обслуживания. Персонал, как правило, имеет определенную квалификацию. С усложнением системы квалификации должна быть выше, поэтому стремятся сделать ОС прозрачной, легкой.
Гибкость системы. Как правило, задачи решаемые в вычислительной технике очень разнообразны. В одних примерах необходим один набор модулей, в других он изменился и т.д. Гибкость системы в том, что, изменяя набор программных модулей, одна и та же ОС может быть использована в разнообразных приложениях.
Совместимость ОС между собой. В основном это требования остается на уровне рекомендаций. Т.к. желание пользователя не всегда учитываются разработчиками.
(2) Основные принципы проектирования программного обеспечения (по).
Применительно к выделению основных принципов при разработке ПО существует несколько подходов, суть которых в выделении тех или иных признаков, характерных для группы. Например: параметрическая универсальность, функциональная избыточность, функциональная избирательность. Это достаточно общие понятия, остановимся на более детальных.
Описываемые принципы носят рекомендательных характер. Хотя отсутствие того ли иного принципа снижает качество разработанной программы. Это подходы применяются и для руководства при разработке.
Первый принцип – частный. Его суть в том, что в алгоритме программы и в массивах данных выделяются части или составляющие, которые наиболее часто используются. Эти составляющие размещаются в ОЗУ, тогда как редко используемые программы могут находиться в ВУ. Этот подход привел к многоуровневому планированию. Программа изначально располагается по описанному алгоритму. Кроме того, наиболее часто применяемым программам отдаются динамические ресурсы.
Второй принцип – модульность. Это принцип относится к данным и командам причем как к системным так и прикладным. Модуль наиболее легко заменить на новый, трансформировать без изменения основной программы и даже без изменения процедур вызова этой программы.
Принцип функциональной избирательности. В составе ОС выделяют некоторую часть важнейших модулей, с тем, чтобы они были «под рукой». Эту группу программ называют – ядро системы. Перечень таких программ может динамически изменятся. Но эти программы или ядро обеспечивают основной алгоритм функционирования вычислителя, т.е. поддержку всех организационных процедур при вычислении. В какой-то мере функциональная избирательность перекликается с частотным принципом. Наиболее важные по функциям программы располагаются в динамической памяти.
Генерируемость. Это подход предусматривает такой способ представления системной программы, который позволил бы настраивать ее под конкретные конфигурации и конкретные машины. Это подход так же учитывается и в формировании решаемых задач. Итак, процедура генерации проводится перед началом работы. Генерируемость – настройка ОС на конкретную конфигурацию с выбором параметров частотных, видео.
Функциональная избыточность. В составе ОС как правило, присутствуют составляющие, которые как бы лишние для данной конфигурации вычислительного средства (ВС). НО они используются на других ВС. Но в месте с тем подобная избыточность д.б. разумной, поскольку ее отрицательная сторона – объем памяти.
По умолчанию. Подразумевается, что в программах начальные установки д.б. определены каким-то вариантом. Программист пользователь иногда упускает из вида многие характеристики. Поэтому о них должна позаботиться системная программа.
Принцип перемещаемости. Используемые модули программы должны работать находясь в различных областях памяти. Программа не должна быть привязана к конкретным адресам памяти.
Защита памяти. Существуют различные способы защиты. Наиболее известный пользователю способ – пароли. Это способ ограничения доступа в соответствии с разработанным алгоритмом.
Принцип независимости от ВУ. Позволяет управлять ВУ независимо от конкретных функциональных характеристик (UNIX)
Принцип открытости и наращиваемость. Дополнение существующей системы новыми программами. Наиболее ярко проявляется для группы обслуживающих программ (утилит).
