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