- •Раздел 2. Лист 75/75
- •1) Постановка задачи.
- •2) Математическая формализация.
- •3) Построение алгоритма.
- •4) Составление алгоритма на языке программирования.
- •5) Отладка и тестирование программы.
- •6) Проведение расчетов и анализ получаемых результатов.
- •Основные типы алгоритмов. Структуры и формы записи алгоритмов.
- •1) Словесно-формульный (на естественном языке)
- •2) Графический способ (с использованием графических примитивов, блок-схем)
- •Структурированные типы данных (массивы, файлы, записи, множества).
- •X: array [1..5,1..10] of real;
- •Var f :text;
- •Динамические структуры данных.
- •Динамическая память. Управление памятью.
- •Управление файлами.
- •Страничная память
- •Стратегии управления страничной памятью
- •Алгоритм fifo – Выталкивание первой пришедшей страницы – Простейший алгоритм
- •Операции над файлами
- •Организация ввода-вывода.
- •Жизненный цикл программ
- •6. Показатели качества по. Стандарты качества программного обеспечения. Тестирование и обеспечение качества.
- •Основные стандарты качества по гост 28195-89. Оценка качества программных средств. Общие положения
- •Гост 28806-90. Качество программных средств. Термины и определения
- •Гост р исо/мэк 9126-93. Оценка программной продукции. Характеристики качества и руководства по их применению
- •Уровни тестирования
- •Статическое и динамическое тестирование
- •Регрессионное тестирование
- •Тестовые скрипты
- •Тестирование «белого ящика» и «чёрного ящика»
- •Покрытие кода
- •8.Требования предъявляемые к ос. Ресурсы и их распределение в операционной системе.
- •9.Архитектура ос. Микроядерная архитектура.
- •11.Механизм прерываний. Способы выполнения прерываний. Приоретизация и маскирование прерываний. Диспетчеризация прерываний в операционной системе.
- •12.Специфика и свойства осрв. Технические свойства осрв.
- •13.Задачи, процессы, потоки. Связь между процессами в осрв.
- •Операции над процессами
- •Иерархия процессов
- •Преимущества многопоточности
- •17.Понятие безопасности информации и виды безопасности
- •18.Статьи затрат на разработку асоиу. Состав и структура асоиу: функциональные подсистемы, обеспечивающие и управляющие системы
- •19.Концепции системы: цели предприятия, цели асоиу. Содержание тз на проектирование асоиу.
- •20.Требования к технологии проектирования систем. Стандарты проектирования, оформление проектной документации, использование интерфейса.
- •21.Моделирование потоков данных. Накопительные процессы данных, потоки данных
- •1 Название подсистемы
- •1.1 Название процесса
- •22.Понятие пилотного проекта, его характеристики. Планирование и выполнение пилотного проекта
- •23.Оценка пилотного проекта
- •24.Внедрение пилотного проекта
- •25.Практическое использование пилотного проекта: план перехода и его реализация
Покрытие кода
Покрытие кода, по своей сути, является тестированием методом белого ящика. Тестируемое ПО собирается со специальными настройками или библиотеками и/или запускается в особом окружении, в результате чего для каждой используемой (выполняемой) функции программы определяется местонахождение этой функции в исходном коде. Этот процесс позволяет разработчикам и специалистам по обеспечению качества определить части системы, которые, при нормальной работе, используются очень редко или никогда не используются (такие как код обработки ошибок и т.п.). Это позволяет сориентировать тестировщиков на тестирование наиболее важных режимов.
Тестировщики могут использовать результаты теста покрытия кода для разработки тестов или тестовых данных, которые расширят покрытие кода на важные функции.
Как правило, инструменты и библиотеки, используемые для получения покрытия кода, требуют значительных затрат производительности и/или памяти, недопустимых при нормальном функционировании ПО. Поэтому они могут использоваться только в лабораторных условиях.
7. Назначение и функции ОС. Классификация операционных систем по поддержке многозадачности, многонитевости, многопользовательского режима, реализации многозадачности и организация вычислительного процесса в системе с многопроцессорной архитектурой.
Назначение и функции ОС.
Операционная система (ОС) - это упорядоченная последовательность системных управляющих программ совместно с необходимыми информационными массивами, предназначенная для планирования исполнения пользовательских программ и управления всеми ресурсами вычислительной машины (программами, данными, аппаратурой, и др.) с целью предоставления возможности пользователям эффективно (в некотором смысле) решать задачи, сформулированные в терминах вычислительной системы.
Т.О. назначение ОС:
1) Предоставление польз-лю или прогр-сту вместо реальной аппаратуры ПК расширенную интеллектуальную машину.
2) Улучшение эфф-ти использования ПК путем рационального управл его ресурсами в соответствии с его критериями.
Функции ОС:
обеспечивать загрузку пользовательских программ в оперативную память и их исполнение
обеспечивать работу с устройствами долговременной памяти, такими как магнитные диски, ленты, оптические диски и т.д. Как правило, ОС управляет свободным прост-вом на этих носителях и структурирует пользовательские данные
предоставлять более или менее стандартный доступ к различным устройствам ввода/вывода, таким как терминалы, модемы, печатающие устройства
предоставлять пользовательский интерфейс.
Существуют ОС, функции которых этим и исчерпываются. Одна из хорошо известных систем такого типа - дисковая операционная система MS DOS.
Более развитые ОС предоставляют также следующие возможности:
параллельное исполнение нескольких задач
распределение ресурсов компьютера между задачами
организация взаимодействия задач друг с другом
организация межмашинного взаимодействия и разделения ресурсов
защита системных ресурсов, данных и программ пользователя, исполняющихся процессов и самой себя от ошибочных и зловредных действий пользователей и их программ
Классификация операционных систем по поддержке многозадачности, многонитевости, многопользовательского режима, реализации многозадачности и организация вычислительного процесса в системе с многопроцессорной архитектурой.
Операционные системы могут различаться особенностями реализации внутренних алгоритмов управления основными ресурсами компьютера (процессорами, памятью, устройствами), особенностями использованных методов проектирования, типами аппаратных платформ, областями использования и многими другими свойствами.
Особенности алгоритмов управления ресурсами. От эффективности алгоритмов управления локальными ресурсами компьютера во многом зависит эффективность всей сетевой ОС в целом. Поэтому, характеризуя сетевую ОС, часто приводят важнейшие особенности реализации функций ОС по управлению процессорами, памятью, внешними устройствами автономного компьютера. Так, например, в зависимости от особенностей использованного алгоритма управления процессором, операционные системы делят на многозадачные и однозадачные, многопользовательские и однопользовательские, на системы, поддерживающие многонитевую обработку и не поддерживающие ее, на многопроцессорные и однопроцессорные системы.
1). Поддержка многозадачности. По числу одновременно выполняемых задач операционные системы могут быть:
однозадачные (например, MS-DOS, MSX);
многозадачные (OC EC, OS/2, UNIX, Windows 95).
Однозадачные ОС в основном выполняют функцию предоставления пользователю виртуальной машины, делая более простым и удобным процесс взаимодействия пользователя с компьютером. Однозадачные ОС включают средства управления периферийными устройствами, средства управления файлами, средства общения с пользователем. Многозадачные ОС, кроме вышеперечисленных функций, управляют разделением совместно используемых ресурсов, таких как процессор, оперативная память, файлы и внешние устройства.
2). Поддержка многопользовательского режима. По числу одновременно работающих пользователей ОС делятся на:
однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2);
многопользовательские (UNIX, Windows NT).
Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей. Следует заметить, что не всякая многозадачная система является многопользовательской, и не всякая 1пользовательская ОС является 1задачной.
3). Вытесняющая и невытесняющая многозадачность. Важнейшим разделяемым ресурсом является процессорное время. Способ распределения процессорного времени между несколькими одновременно существующими в системе процессами (или нитями одного процесса) во многом определяет специфику ОС. Среди множества существующих вариантов реализации многозадачности можно выделить две группы алгоритмов:
невытесняющая многозадачность (NetWare, Windows 3.x);
вытесняющая многозадачность (Windows NT, OS/2, UNIX).
Основным различием между вытесняющим и невытесняющим вариантами многозадачности является степень централизации механизма планирования процессов. В первом случае механизм планирования процессов целиком сосредоточен в операционной системе, а во втором - распределен между системой и прикладными программами. При невытесняющей многозадачности активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление операционной системе для того, чтобы та выбрала из очереди другой готовый к выполнению процесс. При вытесняющей многозадачности решение о переключении процессора с одного процесса на другой принимается операционной системой, а не самим активным процессом.
4). Поддержка многонитевости. Важным свойством операционных систем является возможность распараллеливания вычислений в рамках одной задачи. Многонитевая ОС разделяет процессорное время не между задачами, а между их отдельными ветвями (нитями).
5). Многопроцессорная обработка. Другим важным свойством ОС является отсутствие или наличие в ней средств поддержки многопроцессорной обработки - мультипроцессирование. Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами. В наши дни становится общепринятым введение в ОС функций поддержки многопроцессорной обработки данных. Такие функции имеются в операционных системах OS/2 фирмы IBM, Windows NT фирмы Microsoft и NetWare 4.1 фирмы Novell.
Многопроцессорные ОС могут классифицироваться по способу организации вычислительного процесса в системе с многопроцессорной архитектурой:
симметричные ОС;
не симметричные ОС
Асимметричная ОС целиком выполняется только на одном из процессоров системы, распределяя прикладные задачи по остальным процессорам.
Симметричная ОС полностью децентрализована и использует весь пул процессоров, разделяя их между системными и прикладными задачами.
