ОС. Функции ОС.
Информационно вычислительная система (ИВС)-это совокупность технических и програмных средств которые предназначены для решения задач связаной с автоматизацией обработки информации. Взаимодействие таких систем с внешним миром осуществляется с помощью датчиков обеспечивающие связь с пользователями или приборами с целью обработки данных и управления. ОС реального времени UNIX поддерживает работу интеллектуальной оболочки.
Основная ф-я информационно вычислительной системы представление услуг для решения традиционных задач: 1Управление инфой (хранение,введение, поиск, организация связей и т.д.)2разработка и отладка программ 3 эксплуатация программ. Можно считать что савокупность таких услуг представляет для пользователя некоторую абстракцию или виртуальную машину в противоположность реальной машине существующей физически. Описание этих услуг и правил конкретного пользователя в этих условиях образует интерфейс ОС. С развитием технических средств уровень абстракции в окружении ОС (входной язык)повышается. Объекты или операции расмотреные в качестве эл-х для конкретной абстр-й машины реализуется с помощью более сложных операций реальной физической машины. Кроме того пользователи одной и той же ИВС должны иметь возможность общатся с различными абстрактными машинами.
Концептуально сист. удобно расм-ть с помощью 2-х ф-й : 1 Ф-ии общие для широкого круга применения, реализуемые системными программами, 2 Ф-ии необ-е для решения конкретных задач (утилиты) реализуемые конкретными программами. При этом в прикладных программах исп-ся возм-ти обращения к системным программам.
Windows.
MS в 1985 г. разработал первую версию Windows. Начиная с 1990 г. появилось несколько новых модификаций. Обеспечивается возможность одновременного выполнения нескольких программ и переключение с одной на другую.
Обмен данными Windows: 1) Буферная передача данных; 2) Динамический обмен данными; 3) Механизм связи и внедрения объектов (OLE-технологии); 4) Проектирование программных продуктов и систем (CASE-технологии).
Возможности для разработчиков.
Основная идея оболочки Windows — естественность представления информации, которая должна представляться в той форме, которая обеспечивает наиболее эффективное усвоение этой информации человеком.
Windows — замкнутая рабочая Среда. " операции Windows могут заканчиваться без выхода из нее. Это ОС графического типа, где юзеру не нужно вводить директивы в виде текстовых строк. Все операции поддерживаются мышью. Обеспечивается независимый запуск и выполнение нескольких программ. Очень хорошая интеграция (встраиваемость программ). Windows — мультиагентная Среда.
Режимы работы: 1) Стандартный; 2) Расширенный. Реализуются параллельные процессы с автоматическим разделением во времени; 3) Работа в режиме MS-DOS; 4) Режим виртуальной памяти.
Значение данных.
Значения данных представляют действительные данные, содержащиеся в каждом элементе данных. В зависимости от того, как элементы данных описывают объект, их значения могут быть количественными, качественными и описательными. Информацию о некоторой предметной области можно представить несколькими объектами, каждый из которых описывается несколькими элементами данных.
Данные — принимаемые элементами значения.
Экземпляр, объект — единичный набор, принимаемый элементами данных значений.
Концептуальная модель — соответствующая модель объектов со составляющими их элементами данных и их взаимосвязями. Объекты связаны между собой. Концептуальная модель дает общее представление о потоке данных в предметной области.
Ключевые элементы данных (идентификаторы) — элементы данных, по которым можно определить другие элементы данных.
Кандидаты в ключевые элементы данных — иногда на практике однозначно идентифицировать объект могут 2 или более элемента данных.
Выбирать ключевые элементы данных следует с определенной тщательностью, так как это способствует созданию концептуальной модели данных.
Запись данных — совокупность значений связанных элементов данных. Значения, которые принимают элементы данных образуют запись.
СУБД
Для интеграции файлов в БД и обеспечения различным юзерам различных представлений от данных необходима система.
СУБД — Hard & Soft, программная логика и процедуры обеспечивающие управление БД.
" СУБД создает возможность доступа к интегрированным данным, которые пересекают операционные, функциональные организационные границы в предметной области.
Недостатки интеграции данных:
Из-за интеграции отдельных данных в БД, юзеры теряют право единоличного владения этими данными Þ уменьшается достоверность данных. Если не предусмотреть повышение мер недостоверности данных Þ проблемы с защитой в БД. " интеграция в БД уменьшает секретность хранимой информации.
Требования к СУБД: 1) Эффективность выполнения различных функций предметной области; 2) Минимизация избыточности; 3) Предоставление для процесса принятия решений непротиворечивой информации; 4) Обеспечение безопасности; 5) Отсутствие повышенных требований к персоналу, связанное с разработкой прикладных программ; 6) Реорганизация БД; 7) Централизованное управление; 8) Упрощение эксплуатации ЭВМ.
БД должна: 1) Удовлетворять актуальным требованиям внешних юзеров, обеспечивать хранение и модификацию больших объемов информации; 2) Обеспечивать заданный уровень достоверности хранимой информации и ее непротиворечивость; 3) Обеспечивать доступ к секретным данным только спец. юзерам; 4) Возможность поиска информации по ключу; 5) Удовлетворение требованиям по производительности обработки запросов; 6) Возможность реорганизации и расширения при замене границ ПО; 7)Различные виды выдачи информации; 8) Простота и удобство обращения к инф.; 9) Обеспечивать возможность одновременного обслуживания большого числа юзеров.
Администратор БД (АБД).
АБД — лицо, ответственное за выполнение функции администрирования БД.
АБД не обладатель БД, а ее хранитель. С усложнением предметной области усложняются процессы формирования инф. и принятия решения Þ расширение спектра функций аминистрирования БД. Главный принцип — непротиворечивость данных.
АБД должен: координировать все действия по сбору инф. Ее проектирование и ведение в целом. А также ЗИ.
Независимость данных.
Прикладному программисту для организации доступа к данным надо знать: 1)каков формат; 2) где распологаются; 3) как обратиться к ним.
Используя ту или иную БД и не зная ее внутреннего представления, этим достигается независимость данных. Возникают модернизации, связанные с экспортом и импортом файлов в БД (добавление и усечение БД).
Причины, порождающие необходимость независимости данных: 1) АБД должен проводить изменения содержания, расположения БД; 2) поставщик Hard & Soft обработки данных должен вводить новые технологии не требуя перепрограммирования программ клиента.
Необходимо обеспечить разделение данных представляя их по разному ограниченно прикладным программистам.
Защита АБД.
Два уровня независимости данных. Процесс проектирования БД начинается с установления концептуальных требований ряда юзеров. Эти требования интегрируются как единое обобщенное представление, из которого образуется концептуальная модель предметной области.
Транслирование концеп. модели (адаптация) в " совместимую область с выбраннной СУБД.
Логическая модель — версия концеп. модели, которая может быть обеспечена конкретной СУБД. Логич. модель отбражается в физическую память.
Внешние модели — юзерам выделяются подмножества этой логич. модели.
Внутренняя модель — физмческая модель, специфицирующая размещение данных, методы доступа, технику индексации.
Логич. модель обуславливается требованиями к СУБД, поэтому при замене СУБД она также изменяется.
(схема №1)
Концеп. модель — требования отдельных юзеров. Логич. модель — версия концеп. модели, которая может обеспечивать СУБД. Внут. модель — физическая модель, учитывающая размещение данных, методы доступа, индексирование.
Словарь данных (СД).
СД — централизованное хранилище сведений об объектах, составляющих их элементов данных, взаимосвязями между объектами, их источниках, значениях, использованиях и форматах представления. Служит средством, которое представляет единообразную инф. обо всех ресурсах данных. СД — стандарт БД.
СД включает функции: 1) устанавливает связи с другими юзерами; 2) осущ. эффективное управление данными при изменении последних; 3) уменьшает избыточность и противоречивость данных; 4) определяет степень влияния изменений в элементах данных на всю БД; 5) централизованное управление элементами данных.
СД содержит сведения о других категориях данных (группы элементов данных, БД и перекрестные ссылки на элементы и группы данных). Отслеживает каждую программу, которая в каждый момент использует какие-то данные.
Требования к БД с точки зрения конкретного юзера: 1) должна удовлетворять актуаль. инф. потребностям; 2) должна работать в реальном времени производительности; 3) должна удовлетворять требованиям конечных юзеров; 4) должна легко расширяться при реорганизации и при расширении предметной области; 5) должна легко модифицироваться при изменении Hard & Soft Среды (адаптивность); 6) данные должны до их загрузки в БД проверяться на достоверность; 7) доступ к данным по приоритету.
Языковые средства БД.
(схема №3)
Языковые средства предназначены: 1) для общения юзеров разных классов с БД; 2) служат для описания различных компонентов БД, а иногда и внешних по отношению к банку элементов, находящихся с ними в взаимодействии, а также обращение к нужным частям БД.
Языки описания данных (ЯОД) классифицируют в зависимости от своего значения.
Схема — описания состава и логич. организации БД, а соответствующий язык — язык описания схем.
Подсхема — описание части БД, представляющей интерес для определенного юзера (различные приложения).
Язык описания хранимых данных — среда хранения БД и соответствующая отображаемой схемы в память и описанная на данном языке.
Кроме языковых средств, предназначенных для описания БД, в состав некоторых БД входят специальные языковые средства для описания внешних к БД инф-ных совокупностей (языки описания входной информации, языки описания выходных сообщений). Особое место в языках общения с БД занимают языки общения с БД. В зависимости от сосбенностей БД языковые средства, их синтаксические и семантические свойства, способы реализации, круг лиц, на который они ориентированны могут изменяться в широком диапазоне ( от языков программирования высокого уровня до языков, ориентированных на конечного юзера “псевдо-языки”). СУБД, требующие написания прикладных программ на универсальных языках программирования включают в свой состав языки манипулирования данными (ЯМД), которыми программист пользуется для организации передачи данных между его собственным процессом и БД. ЯМД является полным языком, он опирается на включающий язык (базовый язык программирования “входной язык”), то есть из различных программ, написанных на процедурных языках программирования. Для юзеров в БД разработаны специальные языки запросов. БД обеспечивает различные режимы работы с информационной системой. При общении с БД широко используется режим диалога, для поддержания которого предназначены языки ведения диалога (постоение сценариев, запросов и так далее).
Схема взаимодействия компонентов БД:
(схема №4)
Схемы, подсхемы и схемы хранения проектирования и описания на ЯОД в соответствии с методическими указаниями, приоритет (1). Эти описания переносятся на HDD, вводятся в систему (2) и переводятся в объект и загрузочные представления (3), которые хранятся в соответствующей библиотеке. После этого подготавливаются и вводятся в систему входные данные (4) и производится загрузка БД (5). Запросы БД формируются на языке общения с БД (6) и вводятся в систему (7). Выходом из БД (8) являются выходные данные в процессе запроса, диагностические сообщения о работе базы (сбои, отказы, устранение их). Архивы — сохранение и комплексный анализ предшествующих наработок, статистика общения с базой.
Классификация БД.
БД являются сложными системами, объединяющими разнотипные компоненты и выполняющие различные функции. Классификация БД производится как с точки зрения системы в целом, так и по отдельным характеристикам подсистем в отдельности. По используемому языку общения юзера с БД различают системы с базовым языком (открытые системы) и с собственным языком (замкнутые системы).
В открытых системах для обращения к БД используется язык программирования, расширенный операторами ЯМД, что требует непосредственного знания языка при общении с БД. Основной целью на этом этапе Þ автоматизация процесса написания программ для общения с БД (автоматический синтез программ для общения с БД). Связи с применением открытых систем при большом разнообразии типов запросов эффективным является реализация не регламентированных по содержанию запросов. Системы с базовыми языками требуют от программиста знание логической структуры той части БД, к которой он имеет непосредственный доступ.
Замкнутые СУБД имеют собственные самостоятельные языки общения юзеров с БД. Они позволяют обходиться без прикладных программистов и обеспечивать непосредственное общение с БД в режиме вопрос - ответ или в диалоговом режиме. Жесткой границы между открытыми и замкнутыми системами не $. В настоящее время в связи с широким развитием работ по автоматизации проектирования инф-ных систем с реализацией тенденции программирования без программистов все разработанные системы все больше наделяются свойствами замкнутых систем.
В зависимости от особеностей моделей поддерживаемых БД различают следующие системы: системы со структурированными, неструктурированными и частично структурированными БД. Системы со структурированной БД ориентированы на предварительную классификацию объектов реального мира на установление свойств и связей, которые будут фиксироваться в БД, а также на предварительное определение форматов для хранения данных. Структурированные БД называются также форматированными или БД с детерминированной схемой. БД с детерминированной схемой удается представить как массовые предсказуемые события в предметной области. В системах с неструктурированной БД совокупность видов свойств и видов взаимосвязей объекта с другими объектами определяется только в момент появления каждого реального объекта в поле знания СУБД.
Среди детерминированных систем в зависимости от типа модели данных, поддерживаемых БД различают: 1) иерархические БД; 2) сетевые БД; 3) реляционные БД.
Некоторые системы сочетают в себе особенности систем различных классов. Например, возможность связывания между собой деревьев делает структуру, ограниченной сетью в то время как идеология обработки данных и особенности использования языковых средств сохраняют черты, присущие иерархическим системам. Такие системы относятся к классу смешанных систем. Кроме того имеются системы, позволяющие поддержать одновременно несколько разнотипных моделей — мультимодельные системы.
Модели неструктурированных данных условно разделяются: 1) дескрипторные; 2) дескрипторные с грамматикой; 3) модели на семантических сетях; 4) фреймовые модели.
По числу поддерживаемых СУБД уровней моделей данных различают: 1) одно-уровневые системы; 2) двух-уровневые системы; 3) трех-уровневые системы.
То есть концептуальный, внешний и внутренний уровни. Несмотря на широкое использование этой концепции в теоритических исследованиях, на практике СУБД часто объединяют концептуальный и внутренний уровни представления, иногда может отсутствовать аппарат подсхем как внешний уровень. Однако имеются системы, поддерживающие более чем 3 уровня представления данных: 1) информационные (такие СУБД, которые позволяют организовать поиск, выдачу нужных данных из БД поддерживая их целостность, актуальность. Если в БД осуществляется кроме того иная обработка по получению информации, не хранящейся в явном виде в БД — операционные системы); 2) операционные системы (свойства операционности могут быть заложены в СУБД, например, могут обеспечиваться прикладными программами (модулями) общего или функционального назначения).
Распределенные БД (РБД).
Первоначально РБД отождествлялась с рапределенной БД по узлам сети, однако распределяться могут и другие компоненты БД, поэтому здесь используется понятие РБД, которое в процессе ипользования (ее компоненты) должны быть разделены только физически, но не логическом уровне. Логическая интеграция РБД означает, что вся РБД потенциально доступна из " узла. В системах с РБД кроме понятия “схема” вводится понятие “супер-схема” — описание РБД как логически целой информационной совокупности. В РБД функции АБД распределены между администратором интегрированной БД и администраторами локальных БД. ПО каждого узла сети кроме компонентов, используемых в локальных БД содержат 2 дополнительных компонента: средства управления связью, сетевую систему управления БД. С помощью сетевого компонента выявляются сведения о нахождении данных в системе, определяется, куда послать запрос на обработку.
Бинарные связи.
Отображение 1:1 Это отображение представляет такой тип связи между элементами а и в. Когда каждый экземпляр элемента а соответствует экземпляру в и наоборот.СХЕМА1. Один ко многим (1:М). Под этим отношением подразумевается такой тип связи между элементами а и в когда одному экземпляру элемента а соответствует 0,1 или несколько экземпляров элемента в. Однако каждому экземпляру элемента в соответствует только один экземпляр элемента а. СХЕМА2. Отображение многие к одному (М:1). СХЕМА3. Многие ко многим (М:М) С помощью отображения многие ко многим определяются такой тип связи при которых каждому экземпляру а может соответствовать 0,1 или несколько экземпляров элемента в и наоборот. СХЕМА4. Ассоциация типа 1(простая). Ассоциация этого типа определяет однонаправленную связь от элемента а к элементу в при которой одному тому же экземпляру а соответствует один и тот же экземпляр элемента в. При этом обратная связь не определена. СХЕМА5. Ассоциация типа М (сложная). Определяет однонаправленную связь от элемента а к элементу в при котором одному и тому же экземпляру а соответствует 0,1 или несколько экземпляров элемента в, при этом обратная связь не определена. СХЕМА6. Структура данных. Структурирование данных базируется на использовании концепции агригации и обобщения. Например: в файловой структурах реализующих модель (“плоский фаил”). Понятие базиса подразумевает 4-х типов логических структур данных. Поле (поименованая единица данных), запись (поименованая савокупность полей), фаил (поименованая савокупность экземпляров записей одного типа), набор файлов (поименованая савокупность фаилов), элемент данных- наименьшая поименованая единица данных. к которой СУБД может непосредственно адресоватся. СХЕМА. Агрегат данных- поименнованая савокупность элементов данных внутри записи которую можно рассматривать как единое целое. Агрегат данных может быть как простым так и составным. СХЕМА. Запись-поименованая савокупность элементов данных или элементов данных и агрегатов. Запись – это агрегат не входящий в состав ни какого другого агрегата. Набор- поименованая савокупность записей образующих 2-х уровневую иерархическую структуру. Групповое отношение- используется для задания связей между группами в БД(1:1,1:М,М:1, М:М)
Операции над данными включают в себя селекцию данных, т.е. выделение из всей совокупности именно тех данных, над которыми должна быть выполнена требуемая операция. Селекция выполняется любым из способов с учётом логической позиции данного, значения данного (абсолютного), связи между данными. При селекции по значению данных, критерий селекции может определять простые или булевые условия отбора. Простые условия имеют вид: <Имя атрибут Оператор условия Значение атрибута> (Оператор условия: <, >, =, …). На основе простых условий можно построить более сложные булевые условия (и, или, не, …). (Например: Образование = Высшее AND стаж > 1года).
Виды операций по характеру действия: --идентификация данного и нахождение его в позиции БД --(чтение) выборка данного из БД --включение (запись) данного в БД --удаление данного из БД (или группы данных) --(изменение) модификация данных в БД.
Процедуры БД. Это последовательнсть операций, позволяющих реализовывать определённые алгоритмы обработки данных. Особенность любой процедуры БД – неделимость её действий (подобно макрооперации). Прцедуры БД – мощные и гибкие средства, позволяющие существенно расширять свойства модели данных.
Моделирование знаний и данных. Это ключевой вопрос предметной области в теории автоматизированных БД. Виды моделей: --модель предметной области --модель данных --модель БД --модель Базы Знаний. Каждая модель хранит знания о моделируемом фрагменте предметной области (информационная функция модели). Содержание знаний является семантической стороной.
Смантика модели – то, что отвечает за смысловое содержательное сходство модели с оригиналом.
Синтаксис модели – совокупность формальных выразительных средств модели для представления её структуры. Основные синтаксические элементы – это знаки, из которых путём пространственного расположения строятся графы как синтаксическое представление модели, т.е. теоретическое представление об объекте, что предполагает использование имеющейся априорной информации в качестве теоретических знаний, накопленных в научно-технической документации и в памяти специалистов. Для таких моделей существенны математический и инструментальный аспекты.
В математическом аспекте модель данных представляет собой результат процесса моделирования, в качестве объекта выступают модели: предметная область, БД и знания.
В инструментальном аспекте модель рассматривается не как результат моделирования, а как средство (инструмент) конструирования этого результата, т.е. модель, реализованная на ЭВМ становится инструментальным средством моделирования.
Модель предметной области БД подразделяется на: --концептуальную (инфологическую) --даталогическую. Инфологическая модель ориентирована на пользователя, даталогическая на реализацию в конкретной вычислительной среде.
Проектирование БД .
Этапы: Схема. 1.Проектирование. 2.Материализация. 3.Конвертирование. 4.Интеграция. 5.Эксплуатация. 6.Развитие, совершенствование и сопровождение.
1.Проектирование БД. Структура БД является моделью предметной области, она должна точно представлять и удовлетворять её требованиям. Поэтому необходимо, чтобы проектирование поддерживалось всеми функциональными подразделениями предприятия, которые обязаны описать и определить элементы данных с точки зрения управляющего и пользователя. На этом этапе АБД должен устранить все противоречия и двусмысленности в определениях. Фактически проектирование сводится к описанию области проектируемой в терминах её наиболее важных объектов и внутренних связей. На этом этапе особую роль играет словарь данных. Проект БД должен быть легко расширяемым (модифицируемым) и программно модернизируемым.
2.Материализация БД. Более сложно. После определения физической структуры, удовлетворяющей эксплуатационным требованиям (паспорт БД). Описание структуры физической БД необходимо передать СУДБ. Чаще, такие описания заносятся в библиотеку описания БД, куда по необходимости могут заноситься и логические представления (взаимосвязи) (внешние модели). До загрузки среды БД желательно реализовать её экспериментальный прототип, или построить её модель. На основе прототипа можно получить приемлемую оценку эксплуатационных характеристик БД, в том числе заранее спрогнозировать увеличение увеличение объёма БД и числа её функций. Применение полной БД без предварительного тестирования недопустимо. С увеличением объёма данных (числа связей) в БД время обработки запросов увеличивается и может стать очень большим (критически) при неправильном представлении структуры БД.
Шаги (подуровни) проектирования БД: Схема. 1.Идентификация основных объектов предметной области + Идентификация использующих прикладных программ (утилит) для внедрения. 2.Определение объектов и их взаимосвязей. 3.Построение собственного словаря данных (тезаурус). 4. А) Построение концептуальной модели предметной области. Б) Построение логической (инфологической) модели. В) Моделирование – создание реальной модели. 5.Анализ и оценка.
Физика внутренних процессов в процессе проектирования: Схема. 1.Создание скелетных структур для физической БД и внешних моделей. 2.Загрузка прототипа БД. 3.Проверка соответствия прототипа эксплуатационным требованиям. 3.1.Утилиты (прикладные программы). 4.Проверка: отвечает ли прототип эксплуатационным требованиям (если да, то 5., если нет то 4.1.). 4.1.Вернуться на этап 1.Проектирование. 5.Проверка: выполнены ли требования по безопасности, секретности, разграничения доступа (если да, то 6., если нет, то 5.1.). 5.1.Совершенствовать систему безопасности, секретности и разграничения доступа. 6.Загрузка полной БД. 7.Проверка на соответствие эксплуатационным требованиям. 8.Проверка: получены ли требуемые характеристики БД (если нет, то вернуться к 1.Проектированию, если да, то перейти к 3.Конвертирование.
3.Конвертирование данных во вновь созданную БД. БД часто развиваются из уже существующей БД обработки данных. Схемка. 9.Проверка: все ли существующие наборы данных подлежат конвертированию (если нет, то 9.1., если да,то 10.) 9.1.Выделить не подлежащие конвертированию наборы данных. 10.Перейти к созданию физической БД на этапе 2. И включить БД для прикладных пограмм в единую БД.
4.Интеграция конвертированных данных и новых прикладных программ для работы в среде вновь созданной БД. Этот этап может сильно пересекаться с этапом 3., поэтому на этом этапе необходимо обеспечить возможность простого изменения физической структуры БД, т.е. поддержку разработки прикладных программ, предназначенных для управления БД.
5.Эксплуатация. Здесь, все использующие БД прикладные программы работают с полной загрузкой, поэтому здесь задействуют структуры, которые обеспечивают секретность, безопасность и разграничение доступа. Необходимо предусмотреть процедуры восстановления данных с контрольной точки (точки повреждения).
6.Сопровождение – последний этап жизненного цикла системы с БД. Практически в любой области постоянно поисходят изменения. Это означает приспосабливание к изменениям. В большинстве случаев современные БД не требуют больших трудозатрат, это связано с мобильностью, адаптивностью БД и т.д.
Состав группы АБД . Эксперт по вопросам эксплуатации – эксперт-менеджер, до 2-ух человек (эксперт по связям с группой эксплуатации). Эксперт по системным вопросам (до 4-ёх человек) (эксперт программного обеспечения). Эксперт по прикладным программам (до 4-ёх человек) (системные аналитики). Эксперты по сопровождению словаря данных – библиотекари (2 человека). Эксперты по языку запроса (до 2-ух человек) (поддерживают диалоговые режимы работы). Ревизор – 1 человек (выявляет недостатки в работе созданной системы).
Функции словаря данных: --Ревизор системы обработки данных –Компиляторы и библиотеки программ –АБД –Генератор отчётов –Любые прикладные программы –БД –СУБД. Это схема.
Иерархическая модель данных
Древовидные иерархические структуры широко используются в повседневной человеческой деятельности Древовидные структуры—всевозможные классификаторы, ускоренный поиск информации, иерархические функциональные структуры управления.
Иерархические модели данных базируются на использовании графовой и табличной форм представления данных.
В графической диаграмме схема БД: вершина графа—используется для интерпретации типов сущностей , а дуги – для интерпретации типов связей между типами сущностей . При реализации , вершины представляются таблицами описаний экземпляров сущностей соответствующего типа.
Основные внутренние ограничения иерархической модели данных :
1 все типы связей должны быть функциональными: 1:1 1:М М:М
2 структура связей должна быть древовидной (графовой)
3 Процесс структурирования данных в иерархической модели имеет особенности: древовидная структура или дерево – это связанный ориентированный граф, который не содержит цикла . Обычно при работе с графом выделяют конкретную вершину и определяют ее как корень графа, в который не должно заходить ни одно ребро, т.е. дерево становится ориентированным. Ориентация определяется от корня , корневое дерево как ориентир графа может определяться сдедующим образом: имеется единственная вершина, называющаяся корнем , в которую не заходят ребра, а во все остальные вершины заходит только одно ребро, или нет циклов.
С точки зрения программирования , граф рассматривается как структура , состоящая из меньших деревьев (поддеревьев) , как рекурсивная структура. Рекурсивно дерево определяется как конечное множество Т , состоящее из одного , двух или более узлов, таких , что существует один специально выделенный узел, называемый корнем. Остальные узлы разбиты на n непересекаемых подмножеств Т1...Тn , каждое из которых является деревом.
Из определения дерева следует , что любой узел дерева –корень некоторого поддерева , принадлежащего полному дереву. Число поддеревьев – степень узла . узел называется концевым, если имеет 0 степень. Иногда концевые узлы называют листьями, а ребра ветвями. Узел не являющийся ни корневым ни концевым , называется узлом ветвления.
Иерархическая древовидная структура ориентирована от корня и удовлетворяет условиям: иерархия всегда начинается с корневого узла ; на первом уровне иерархии может находиться только корневой узел ; на нижнем уровне находятся порожденные узлы. Каждый порожденный узел , находящийся на i-ом уровне , связан только с одним непосредственно исходным узлом, находящемся на i-1 уровне иерархии ; каждый исходный узел может иметь 1 или несколько порожденных узлов, называющихся подобными ; доступ к каждому порожденному узлу выполняется непосредственно через его исходный узел; существует единственный иерархический путь доступа к узлу начиная от корня дерева.
Таблица1. Более чем 15-м уровнем вложенности не пользуются.
Если между узлами нет других узлов , то тогда это будут непосредственно исходный и порожденные узлы.
Графическая диаграмма схемы БД для иерархических БД называется деревом определения .
Вершина дерева определения БД соответствует введенным типам групп записей, с помощью которых выполняется интерпретация типов сущностей. При этом в корневой вершине дерева определения соответствует тип корневой группы , а остальным вершинам типы зависимых групп.
Дуга дерева отношений соответствует групповому отношению. Дуги обычно называют связью исходной – порожденной .
На внутреннем уровне древовидные структуры могут быть представлены различным способом. (пример: отдельные экземпляры структуры м/б представлены как экземпляры записи файла )
Многие иерархические СУБД (реляционные) могут поддерживать несколько различных БД , в этом случае каждая БД на внутреннем уровне представляется одним файлом, который объединяет экземпляры записей одного типа со структурой,
соответствующей схеме этой БД.
Прародитель всех иерархических БД является 1 модель СУБД Ака. Структурными единицами в этой БД являлись: поле, сегмент, физическая связь, логическая связь, физическая БД.
Поле—поименованная наименьшая единица данных. Поле принимает символические и числовые значения. Сегмент—поименованная совокупность полей Физическая/логическая связь—понятия групповых отношений.
Главным сегментом группового отношения объявляется исходный, детальный сегмент—порожденная физическая БД—поименованная совокупнсть экземпляров сегментов и физических связей , образующих иерархическую структуру максимум 15 уровня. Количество сегментов в иерархической БД ограничено числом 255, количество полей 1000. Таблица2.
Сетевая модель данных.
СМД базируется на графовой форме представления данных. Вершина графа используется для интерпретации типов сущностей., а дуги – типов связей.
При реализации моделей в различных СУБД , можно применять различные способы представления в памяти системы данных, описывающих связи м/у сущностями.
Доминирующее влияние на развитие СМД в соответствии со стандартами СУБД оказала группа Кодасил (стандарт ISO) Модель Кодасил постоянно развивается , по мере совершенствования вычислительной техники. По мере появления новой версии , появляется новый стандарт.
Типы структур в модели Кодасил.: элемент данных, агрегат, запись, набор, БД. Таблица3.
Вершинам графа соответствуют составные единицы информации , которые называются записями. Экземпляры записей образуют файлы.
Допустим структура записей в различных системах БД различны ( в одних—это линейная последовательность полей , в других структурах возможна иерархическая структуризация записей)
Почти во всех СУБД , поддерживающих сетевые модели, м/у парой типов записей м/б объявлены несколько типов связей. Направление и характер связей в сетевых моделях не являются очевидными, по сравнению с иерархическими моделями. Поэтому имена и направления связей должны указываться как при графическом изображении БД , так и при ее непосредственном описании на языке обработки данных. В большинстве современных СУБД беспроблемно реализуется сетевая модель.
М/у каждой парой типов записей поддерживается отношение 1:М.
Структуры сетевых БД строятся на основе следующих правил: БД может содержать любое количество типов записей и типов наборов; м/у двумя типами записей м/б определено любое количество типов наборов; тип записи м/б одновременно и владельцем и составным элементом нескольких различных типов наборов.
Основные ограничения сетевой модели с т/з реализации ее, является реализация трех типов отношений : 1:м , 1:1 , М:1. Вводят вспомогательный тип записи для поддержания отношения М:М и две связи 1:М и М:1. Таблица 4.
Системы с разнородными файлами.
В принципе в сетевую структуру возможен вход ч/з любую ее вершину , однако не все СУБД поддерживают такие сети. Существует ряд систем в которых файлы несут разную функциональную нагрузку.
В таких системах файлы БД разделяются на 2 типа: основные (главные) и зависимые. Причем каждый файл может выступать в одном из этих качеств .
Вход в систему м/б осуществлен только ч/з главные файлы . Различие м/у фалами оговаривается и указывается как при графическом изображении БД , так и при написании на ЯОД .
В сетевых системах с разнородными файлами существуют различия на устранение связей м/у ними. А именно: можно соединить м/у собой файлы разных типов.Табл5
Ограничения затрудняют прозрачность отображения предметной области в даталогической модели . При использовании сетевой модели с разнородными файлами , доступ к записи главного файла возможен как непосредственно , так и с зависимого файла. Доступ же к записи зависимого файла возможен только ч/з главный файл.
Системы на основе инвертированных файлов.—они поддерживают сетевые модели данных. Особенностью организации данных в этих системах заключается в том, что собственно хранимые данные и информация о связях логически и физически отделены друг от друга. Основной тип отношений м/у файлами—это М:М Вся управленческая информация сосредотачивается в ассоциаторе—файле генераторе.
Реляционная модель данных.
Рмд широко используется при построении БД . Они выступают не только в роли даталогических моделей , непосредственно поддерживающих конкретную СУБД , но и качестве вспомогательных промежуточных моделей при проектировании БД .
Рмд находят активное применение в качестве виртуальных моделей при построении мультиагентных – мульимодельных систем (internet – технологии)
Информационные единицы в реляционной модели : домены, атрибуты, отношения
Атрибуты—элементарные информационные единицы. Домен представляет собой ПУЛ (составная единица) значений из которых извлекаются фактические значения атрибутов. Отношение в рмд – двумерная таблица, граф которой является наименьшим атрибутом , а значение элементов каждого из столбцов данной таблицы извлекается из соответствующих доменов.
Т.о. со структурной точки зрения, рмд являются более простыми и однородными чем сетевые и иерархические модели.
Отношения в реляционной модели д/б нормализованы . Существует 5 нормальных форм. Домены не всегда фиксируются в БД в явном виде.
Характерная особенность реляционной модели: связи м/у отношениями устанавливаются не явном виде , а динамически , по равенству значений соответствующих атрибутов.
В реляционной модели каждому объекту предметной области соответствует одно или несколько отношений.
Если необходимо в явном виде зафиксировать связь м/у объектами , то она тоже выражается в виде отношения, в котором в качестве атрибутов присутствуют идентификаторы взаимосвязанных объектов. Т.о. и объекты предметной области и связи м/у ними отражаются в рмд посредством одинаковых информационных конструкций, что значительно упрощает модель.
Система называется полностью реляционной , если она : 1 поддерживает структурные аспекты реляционной модели ; 2 выполняет соответствующие ей правила включения , коррекции , исключения; 3система обладает подъязыком данных , по меньшей мере таким же мощным как алгебра отношений. Система в которой выполняются 1,2 условия , но не выполняется 3 называются полуреляционными.
Различают бинарные рмд и рмд допускающие отношения произвольных степеней—более известны.
В реляционных системах используются языки манипулирования различных типов: языки основанные на реляционной алгебре , реляционных исчислениях, языки , базирующиеся на концепции отображения.
Могут широко применятся процедурные языки, которые манипулируют отдельными картежеми отношений.
Пусть существует декартово произведение доменов Д1...Дк его можно представить Д1...Дк=Д1*Д2...Дк , где Д1={a11, a12,...,a1i,...,a1n}...
Дк={ak1,ak2,...,aki,...,akn}
Они образуют множество кортежей длинны к , состоящих из к-элементов по одному из каждого домена di , имеющего вид: (d1i,d2i...dkik)
Например: Д1={A,2} Д2={B,C} Д3={4,5,D}. Задача: требуется найти декартово произведение доменов. Д=Д1*Д2*Д3={(A,B,4) , (A,B,5), (A,B,D), (A,C,4), (A,C,5), (A,C,D), (2,B,4), (2,B,5), (2,B,D), (2,C,4), (2,C,5), (2,C,D)}
Отношение R называется подмножеством декартового произведения Д1...Дк (R->Д1 ,Д2...Дк) Отношение R, определенное на множествах Д1...Дк , есть некоторое множество кортежей арности к, т.е. элементарных отношений являющихся кортежами.
Схема кортежного отношения на доменах. Таблица6.
В ряде случаев отношение удобно представлять как таблицу, где каждая строка есть кортеж, а каждый столбец соответствует тому же компоненту декартового произведения.
Такие таблицы обладают следующими свойствами : 1 порядок столбцов фиксирован 2 порядок строк безразличен 3 любые 2 строки различаются хотя бы одним элементом 4 строки и столбцы таблицы могут обрабатываться в любой последовательности .
Список имен атрибутов отношений называется схемой отношения.
Если отношение является R и его схема имеет атрибуты А1...Ак , то схема отношения обозначается в БД следующим образом: R(A1,...,Ak)
Существует аналогия м/у схемой отношения и ? , м/у кортежем и записью , м/у отношением и файлом.
Одной из возможных реализаций отношения является файл записи , формат которого соответствует схеме отношения .
Реляционные БД содержат конечное множество отношений экземпляров:
R1(A11,A12,....,A1k1) ,R2(A21,A22,...,A2k2) ,..., Rm(Rm1,Rm2,...Rmk)
Выполнение операций над отношениями.
Для получения информации из отношения необходим язык манипулирования данными , выполняющий соответствующие операции над отношениями.
Наиболее важным в ЯМД является раздел формирования запросов . Т.к. запросы в общем случае представляют собой произвольные функции над отношениями , необходимо решить вопрос о требуемой выразительности языка запросов.
Для этих целей были разработаны 3 абстрактных теоретических языка: 1 реляционная алгебра ;2 реляционное исчисление с переменными кортежами; 3 реляционное исчисление с переменными доменами.
Языки запроса 1-о типа –алгебраические языки . Они позволяют выражать запросы средствами специализированных операторов, применяемых к отношениям.
Языки 2-о и 3-о типов—это языки исчисления, которые позволяют выражать запросы путем спецификации предиката , которому должны удовлетворять требуемые кортежи (домены). Эти языки служат эталоном для оценки существования реальных языковых запросов.
Самым распространенным языком запросов является SQL , разработан Кодасил в 1970 г. Также есть ISBL и QBE (по структуре похожие на SQL)
Эти языки обеспечивают не только функции соответствия теоретического языка или их комбинаций, но и реализуют некоторые дополнительные комбинации –операции, а именно: арифметические операции , команды присваивания и печати.
Реляционная алгебра.
При определении реляционной алгебры и ее операций предполагается , что порядок столбцов в отношении фиксирован, а сами отношения конечны.
Основные операции:
1 объединение отношений R=R1uR2. Операция применяется к отношениям той же арности . Таблица 7.
2 разность отношений R=R1-R2 разностью R1-R2 называется множество кортежей принадлежащих только R1 и не принадлежащих R2 Отношения R1 R2 R д/б одинаковой арности.
3 декартово произведение отношений R=R1*R2 . Если отношение R1 имеет арность к1, а отношение R2 арности к2 , то декартовым произведением R1*R2 называется множество кортежей арности к1+к2 , причем первые к1 –элемент образуют кортежи из отношения R1, а последние к2 –элементов образованы кортежами из отношения R2. R1*R2à(k1+k2)
4 проекция отношения R1 на компоненты i1,i2,...,ir (R1ài1,...,ir) Запись: R=п i1,i2, ...,ir (R1) , где i1...ir- номера столбцов отношения R1 . Операция проекции отношения заключается в том ,что из отношения R1 выбираются указанные столбцы и компоненты в указанном порядке.
5 селекция отношения R1 по формуле R , R= d f(R1) , где F –это форма , которая м/б образована а) опероидами , являющиеся номерами столбцов б) логическими операторами : и , или , не . в) арифметическими операторами сравнения.. В формуле м/б использованы скобки .
6 пересечение отношений R=R1 Ç R2 =R1-(R1-R2)
СХЕМА .
Если находится в 4 НФ, то и находится в 3 УНФ, 3 НФ, 2 НФ, 1 НФ.
1 НФ.
Схема R находится в 1 НФ тогда и только тогда, когда все входящие в нее атрибуты являются атомарными.
2 НФ.
Если X-ключ отношения R, Y принадлежит X, А является непервичным атрибутом отношения R, то говорят что в отношении R имеет место частичная зависимость (неполная функциональная зависимость) X->A и Y->A. Схема отношения R находится во 2 НФ, если она находится в 1 НФ, и каждый ее непервичный атрибут функционально полно зависит от первичного ключа отношения, находящегося во 2 НФ.Может обладать аномалиями для операции включения, удаления и модификации БД.
3 НФ.
Схема R находится в 3 НФ, если не существует ключа X для R множества, атрибута Y принадлежит R и непервичного атрибута А из R таких, что выполняется следующее: X->Y, Y->A, Y-/>X (для R).
Схема R находится в 3 НФ, если она находится во 2 НФ, и каждый непервичный атрибут нетранзитивно (не напрямую) зависит от первичного ключа. В тех случаях, когда отношение имеет только 1 ключ и в нем отсутствуют многозначные зависимости, 3 НФ освобождается от избыточности и освобождается от аномалий включения, удаления и модификации БД. В тех случаях, когда в отношении отсутствует многозначные зависимости, но существует 2 и более возможных ключа. 3 НФ может иметь аномалии операций. В этом случае для снятия их рассматривается 3 УНФ (НФ Бойса-Кодда).
4 НФ.
Если в отношении R присутствуют многозначные зависимости, то схема отношения должна находится в 4 НФ. От 3 НФ отличается тем, что существует многозначная зависимость из X->->Y {0}, Y-подмножество X, но X содержит какой-либо ключ отношения R.
5 НФ (Проекционно-соединительная).
Отношения находятся в этой форме тогда и только тогда, когда каждая зависимость соединения R подразумевается потенциальными ключами отношения R. Декомпозиция схем отношений на ряд подсхем. Нормализация выполняется декомпозицией схем отношений.
Если R={A1..An} P={R1..Rk}
Композиция R1 U R2 U..U Rk={A1..An}
ИНДЕКСНАЯ СТРУКТУРА .
Цель использования индекса – ускорение поиска. В сложных структурах данных индексы могут использоваться в других целях: для повышения устойчивости структуры, сокращения дублирования, для обеспечения быстрого доступа по разным путям к одним и тем же хранимым данным. Различают структуры с плотной и разряженной индексацией.
ТАБЛИЦА .
Проектирование БД - переход от исходного описания модели предметной области к схеме БД. Для задания моделей употребляются языки высокого уровня и внутренние языки СУБД.
Построение датологической модели БД .
Глобальная датологическая модель (ДМ) представляет собой отрожение общего содержания БД, структурированную на логическом уровне и ориентированную на конкретную СУБД. Любая СУБД оперирует с допустимыми для нее типами логических структур. Все ДМ различаются наименованиями используемых информационных единиц, правилами композиции структур (более высокого уровня из состоящих структур младшего уровня) и возможностями просмотра модели. Любая СУБД накладывает количественное ограничение на логическую структуру БД, а это в свою очередь оказывает влияние на проект ДМ. Поэтому прежде чем приступить к посроению ДМ надо тщательно изучить СУБД, уточнить ее ограничения, определить основные факторы, влияющие на выбор логических структур данных ознакомиться с существующими методиками проектирования в конкретной СУБД.
Если для данной СУБД имеется система автоматизации СУБД CASE-ALLE – Средство проектирования БД, то с целью оценки качества проекта и целенаправленности воздействия на созданную структуру БД, желательно сформировать алгоритм проектирования положенный в ее основу.
При проектировании ДМ БД используется графическая (диаграммо - логическая) структура и аналитическая (описание на ЯОД схем, подсхем, форм ее представления БД).
При ручном проектировании построение ДМ начинают с графического построения структуры БД со всевозможными внутренними и внешними связями.
При автоматизированном проектировании, наоборот получается аналитическое представление структуры, а затем по этому представлению по желанию и требованию пользователя воссоздается графическое представление.
На проектирование ДМ кроме ограниченных СУБД, накладываемых на логическую структуру, большое влияние оказывают возможности системы по физической организации данных. Так если в СУБД с иерархической логической структурой данных допускались только физически последовательные структуры хранения, то при необходимости выборки отдельных ветвей дерева для ускорения доступа к данным следовало бы выделять такие ветви в отдельные деревья.
Алгоритмы построения логической структуры БД для сетевых систем, в которых доступ к данным возможен через любую вершину, и систем, в которых доступы разнородны (выделяет основные и зависимые типы данных и доступ) к записям зависимых файлов возможен только через основные файлы. Часто логическое и физическое проектирование БД выполняется в интерактивном режиме.
При проектирование логические структуры БД следует учитывать общую семантику ЯОД используемую в конкретной системе.
Кроме факторов обусловленных особенностью конкретной СУБД необходимо особо рассматривать отображаемую в СУБД предметную область и характеристики самого пользователя. Алгоритм проектирования логической структуры БД зависит от вида инфологической модели подхода к проектному использованию СУБД. Более того, для одной и той же СУБД могут быть предложены различные алгоритмические проектирования БД.
Проектирование структурных БД имеет особенности:
1.Минимум логической единицы: элементу данных, поле и т. д. Семантика для всех систем одинакова и, как правило, соответствует либо идентифицированному объекту, либо свойству процесса.
2. Группировка элементов в более высоких уровней и определение связей между ними производится в результате совместного анализа ограниченной СУБД, особенности предметной области потребности пользователя с учетом ограничений на ресурс.
3. Совместимость типов объектов подлежат отражению в БД и совместимость их свойств, которые фиксируются для конкретного объекта в отдельности должны быть заранее определены, в процессе проектирования на этом этапе может быть приведена предварительная классификация.
4. При проектирование логической структуры БД присутствуют этапы преобразования исходной инфологической модели в модель, допустимую для СУБД и проверки адекватности получения ДМ в исходные модели.
5. Для каждого конкретного СУБД может быть задан набор правил и приемов, устранения высоких аномальных с точки зрения системы ситуаций. Число допустимых для заданных исходных данных обычно бывает сравнительно велико, поэтому необходим аппарат, оптимизирующий данные, решающий структуру данной модели.
6. Отображение связи между элементами на уровне ДМ может выполняться либо путем совместного расположения взаимосвязанных элементов, либо путем объявления связей, путем введения дополнительного связующего элемента. Последняя ситуация подкрепляет структуру БД обходя те ограничения накладываемые конкретным СУБД.
7. Логическая структура БД может передавать не только связи между соответствующими сущностями в предметной области, но и связей возникших в процессе обработки информации в БД, что может являться препятствием для проектирования ДМ БД.
Особенность организации распределенных БД (РБД).
Наиболее интересным в РБД является размещение данных в узлах сети (без дублирования, с частичным и полностью избыточным). Стоимость хранимых данных минимальна для РБД без дублирования. Однако если учитывать не только затраты на хранение, но и суммарные затраты на передачу и хранение данных, то наиболее приемлемые частично дублированные РБД и вызванные теми обстоятельствами, что необходимо уменьшить время ответа на запросы, повысить надежность и защищенность системы. Как полностью, так и избыточно системы должны иметь определенный механизм, обеспечивающий равенство всех копий описания одинаковой сущности.
Для таких систем должна быть выработана стратегия поиска, учитывающая наличие дублей в системе, а также стратегия обновления, определяющая в лучшем случае - за кем закреплена функция в каждом из дублей, а также каким образом учитываются временные задержки при внесении изменений в копии, каким образом выбирается оптимальный поток информации.
Задача выбора информационной структуры может для РБД решаться на различных этапах ее жизненного цикла при первоначальном проектировании системы, при наличии сформировавшейся сети пользователей, при сложном составе структуры РБД. В первом случае ставится глобальная задача определения конфигурации сети и размещения данных по ее узлам.
Чаще всего РБД создается на базе сложившейся сети, что является сильным ограничением при решении различных прикладных задач. Время реакции системы сильно тормозит. На распределенные данные по узлам сети влияют следующие факторы: объем, частота и место возникновения информации.
Характеристика запросов (частота, сложность, время возникновения, ограничение доступа, объем передаваемой информации, типы запросов и т.д).
Характеристика технических средств обработки и передачи данных, и топология сети. Стратегия обработки запросов определяет конфигурацию сети.
Задача распределения данных сильно усложняется, если она решается совместно по распределенным узлам сети и связана напрямую с программой запросов. Сложность возникает, когда неоднородные ЭВМ
Распределение данных может быть проведено либо в соответствии со структурой, либо в соответствии со значениями данных, при чем структура данных во всех узлах сети одинакова. Различают значения данных, например, однотипные отчетные данные могут храниться в локальных БД, имеющих эдентичную структуру и распределение.
Такое распределение может быть при использовании однотипных СУБД в разных узлах РБД. При распределении в соответствии со структурой данных в локальные БД различают и по составу, и по структуре.Например, каждая из служебных предприятий может иметь локальные БД соответствующего содержания, которые могут быть объединены в единую структуру и образовывать единую систему. Основные вопросы при проектировании РБД являются, выбор общей стратегии поиска и размещение структурной информации в системе.
Возможны следующие варианты поиска:
1. Пользователь взаимодействует с ближними БД. Если требуемая информация в ней отсутствует, осуществляется опрос остальных, до тех пор, пока информация не будет найдена. Этот вариант отличается большими потоками запросов информации и требует большое время на поиск.
2. Пользователь взаимодействует со соответствующей БД. Если информации нет, то по структуре информации описывает размещение данных в РБД, находит необходимый узел, в котором размещены исходные данные и происходит обращение к этому узлу. В этом случае предполагается хранение структурной информации в каждом узле. Объем структурной информации можно уменьшить, если в каждой БД хранить сведения не о всех массивах в РБД, а только лишь о тех, которые могут обращаться к опонентам прикрепленных к данному узлу. Этот вариант характеризуется большим объемом информации, которая дублируется в узлах сети, но потоки запросов информации минимальны.
3. Одна из БД выделяется как главная или управляемая (в ней содержится вся структурная информация). Пользователь обращается в ближние БД, если информации не обнаружено, то информация идет либо в управляемую БД, либо управляемый узел. После нахождения адреса хранимой информации происходит обращение к соответствующей БД.
По сравнению с другим вариантом объем структурной информации уменьшается, но удлиняется путь обработки запросов, повышается требование надежности, усиливается роль управляемой БД.
Структурная и другая служебная информация содержится в сетевом словаре-справочнике. В нем должна быть информация о размещении данных в узлах сети, общая логическая структура БД,стандарт БД В каждом из узлов содержится информация характеризующая структуру данных, частоту и режим доступа, особенности запроса, место его возникновения и утилиты пользователей. В зависимости от принятой в РБД стратегии поиска различают соответствующие им справочные структуры (местная локально - распределенная, центральная, распределено – центральная или комбинированная).
ОС. Функции ОС.
Информационно вычислительная система (ИВС)-это совокупность технических и програмных средств которые предназначены для решения задач связаной с автоматизацией обработки информации. Взаимодействие таких систем с внешним миром осуществляется с помощью датчиков обеспечивающие связь с пользователями или приборами с целью обработки данных и управления. ОС реального времени UNIX поддерживает работу интеллектуальной оболочки.
Основная ф-я информационно вычислительной системы представление услуг для решения традиционных задач: 1Управление инфой (хранение,введение, поиск, организация связей и т.д.)2разработка и отладка программ 3 эксплуатация программ. Можно считать что савокупность таких услуг представляет для пользователя некоторую абстракцию или виртуальную машину в противоположность реальной машине существующей физически. Описание этих услуг и правил конкретного пользователя в этих условиях образует интерфейс ОС. С развитием технических средств уровень абстракции в окружении ОС (входной язык)повышается. Объекты или операции расмотреные в качестве эл-х для конкретной абстр-й машины реализуется с помощью более сложных операций реальной физической машины. Кроме того пользователи одной и той же ИВС должны иметь возможность общатся с различными абстрактными машинами.
Концептуально сист. удобно расм-ть с помощью 2-х ф-й : 1 Ф-ии общие для широкого круга применения, реализуемые системными программами, 2 Ф-ии необ-е для решения конкретных задач (утилиты) реализуемые конкретными программами. При этом в прикладных программах исп-ся возм-ти обращения к системным программам.
Рассмотрим иерархическую структуру системы
прикладные программы, сист-е прогр-ы, физическая машина Здесь каждый “слой “ использует ресурсы слоя расположенного под ним, и формирует интерфейс для предоставления . своих ресурсов верхнему слою (автомат настройки). Интерфейс самого верхнего слоя является интерфейсом всей системы. Эта схема описывает декомпозицию системы очень приближенно. Границы между слоями могут быть подвижными динамическими(например, программа разл-я как прикладная может быть включена как системная если она постоянно используется ) . Некоторые ф-ии представленые в виде сист-й программы могут быть реализованы микропроцессором если это необходимо и оправдано экономией и удобством. Савокупность сист-х программ обычно имеют 2 уровня. Ср-ва и услуги (компиляторы, загрузщики, редакторы, служеб-е програм-ы , компиляторы, системное ПО ), компоненты системного ПО или сама ОС.Жесткой границы здесь нет.
Основные ф-ии ОС можно класифицировать по 2-м признакам : 1)Ф-ии реализуемые виртуальными машинами : а)управление инфой (структурирование , обеспечение сохранности, использование имен (виртуальная память),передача данных (ввод/вывод)), б) выполнение(последовательное или паралельное выполнение программ, компоновка прог и т.д.) , в) дополнительные услуги (помощь при отладке, обработка и прерывания аварийных ситуаций, изменение таймера ) .2) Ф-ии контроля и распределения ресурсов : управление физическими ресурсами (выделение оперативной памяти, внешней памяти, устройств ввода/вывода), распределение и обмен инфой между пользователями , защита от несанкционированого доступа, дополнительные услуги (выдача счетов за использованые ресурсы, сбор статистики, тестирование )
Развитие ОС. 1-е ОС имели пошаговое выполнение программ с непосредственным изменением ячеек памяти(асемблеры, компиляторы, отладчики и программы ввода вывода) эти программы созданы с целью выполнения всей последовательности работ ( организация данных и выполнение прикладных программ, подготовленных заранее и учитывающих переход от одной задачи к непосредственно другой .Основная ф-я ОС этого поколения – управление ресурсами(памятью, процессором, вводом/выводом ). Автоматизация управления позволяло наделить ОС ф-ми защиты от порчи и ошибок. Ограничение времени доступа к процессору чтобы устранить блокирование всей работы(зацикливание в одной проге ), надзор за вводом/выводом, чтобы избежать цикл. обращ переферийных устройств.,защита зоны памяти от ошибок пользовательских программ.
МУЛЬТИПРОГРАМИРОВАНИЕ И РАЗДЕЛЕНИЕ ВРЕМЕНИ 1)Введение автономных специализированных процессоров для передачи инфы(каналов или устройств обмена ) позволяющие освободить центральный процессор от полного обесп-я ввода/вывода 2) мультипрогр-е связанное с разделением памяти сразу для нескольких работ(Повысило производительность процессора за счет нескольких систем ввода/вывода) 3) Работа в режиме реального времени восстановила возможность интерактивного общения с машиной , предоставив возможность пользоваться общими услугами.
Рассмотрим влияние этих 3-х компонентов на ОС а) буферный ввод/вывод(канал или устройство обмена представляет собой процессор выполняющий автономно(паралельно с обработкой инфы)операции ввода/вывода ) .Ц.П. и каналы имеют доступ к общей информации в памяти. Поэтому одним из важных значений ЦП –скорость обработки, а каналов-скорость передачи.
Мульти програмирование Для обеспечения ввода/вывода память разделена на зону для буфера ввода/вывода и на рабочую зону, при этом задания обрабатываются последовательно,а ввод/вывод и выполнение задания происходит паралельно.
Отмечают 2-а случая : а)Если во время выполнения задания необходимо прочесть нужные данные, то во время чтения ЦП находится в пассивном состоянии, б) выполнение короткого задания поставленого во время выполнения длинного задания отключается до выполнения последнего. Из этих замечаний вытекают режимы работы ОС : а)Задание ожидает выполнение (может использовать ЦП который освобожден другим заданием), б)выделеное ЦП задание может быть прервано если превышаются ограничения по времени.
Достоинства и недостатки Мульти програмирования : а) сложность систем с МП явл. более сложной т.к обеспечивает разделение памяти и взаимную защиту программ друг от друга б) технические характеристики-МП требует специальные устройства для перемещения програм и защиты памяти в) использование ресурсов : более равномерно загружаются ресурсы (ЦП,память,устройства ввода/вывода). Удобства для пользователя : Уменьшается время обработки коротких заданий в общей последовательности работ. Время реакции ОС минимальна за счет оптимального распределения лишних ресурсов.
Система с распределением времени Основная ф-я предоставить каждому пользователю эквивалент индивидуальной машины и одновременно сохранять возможность пользоваться общими услугами. Система должна гарантировать доступное время ответа, за счет представления процессору программы на короткие промежутки времени(кванты).
МЕХАНИЗМЫ ВЫПОЛНЕНИЯ ПРОГРАММ Процедуры, активность и контекст. Посл-я программа состоит из савокупности процедур обращающихся друг к другу. С каждой из этих процедур связана отдельная- сегмент процедура. Сегмент данных может относится как к одной процедуре так ик нескольким. Активным состоянием называется процесс непрерывного выполнения одной процедуры . Таким образом выполнение послед. проги состоит из ряда активных состояний.
Контекстом активности-наз та часть инфы которая доступна ЦП во время данного активного состояния. Этот контекст таким образом контекст ЦП (програмные и внутренние регистры) и контекст памяти. Сегмент процедуры и сегменты данных. Переход от одной активности к другой реализуются с помощью спец инструкций-вызова из процедуры и возв-т из пр-ры который производит замену контекста.
Вызов и возврат процедурыПроцедура R (вызыв-я) вызывает процедуру У с помощью последовательности действий вызов. Которая включает следующие этапы : а) Подготовка параметров передаваемых из R в У, б)сохранение части контекста R до возврата из У, в)замена контекста R на контекст У.
Функционирование сопрограмм В случае управления сопрограммами вызывающая и вызываемая процедура играют симметричные роли (последовательность возврата идентична последовательности вызова). Активное состояние возникшее при вызове R получает в качестве исходного тот контекст который сохранился со времени последнего вызова процедуры R. Последовательность замены вкл следующие этапы а) подготовка парам-в из R вУ , б)сохранение части контекста R котор-я должна быть использована при последующих возобновлениях, в) вост-е контекста хранимого со временем последнего обращения к У.
Механизм посл-го выполнения содержащий процедуры или сопрограммы как последовательность активных состояний, соотв-х этим процедурам или сопрограммам и обеспечивающих : а) сохранение и востановление контекстов при вызове и возврате , б)передача параметров между вызываемой и вызвовшей программой , в) управление рабочими зонами памяти.
Процедуры ОС
.В качестве исполнительной структуры данных применяется стек выполнения . Возможны различные варианты стеков. Отлича-ся деталями спецификации контекста и его динамическими измененими при вызове и возврате процедуры. Схема выполнения может быть запрограмирована непосредственно на языке асемблера или представлена выполняемой структурой на обычном языке програмирования. Рассмотренная модель опирается на 2 гипотезы : а) параметры процедуры передаются по значению при возврате из процедур передается последний результат. Б) процедуры могут вызыватся рекурсивно. В вершине стека выполнения , при каждом вызове процедуры создается специальня структура данных, образующая область среды . Стек управляется с помощью 2-х указателей –база и вершина. БАЗА- указ на базу стека (адреса )среды активной процедуры. Вершина- указ на 1-ю свободную ячейку для создания новой среды. Состояние стека до и после вызова . JJJ СХЕМА JJJ .Среда содержит следующую информацию –сведения об участках хранения и связях (указатель базы+смещение), параметры (n+1 ячейка), локальные переменные и рабочее пространство процедуры.
Операции : а) вызов:1) выделить в стеке зону для среды (ее размер) за исключением рабочего пространства,2) время t:=база ;база:=вершина; вершина:=вершина+размер среды ; 3) сохранить инфу для возврата . Для сохранения используется: предыдущая база := ВРЕМЯ; размещение адреса возврата; 4)размещение параметров 5)выполнить переход к вызываемой процедуре. б) Процедура возврата: 1) Разместить результат в предусмотреных ячейках,2)востановить инфу возврата и очистить среду . Время(t):=адрес возврата; Вершина:=адрес база;База:= предыдущая база. 3)возврат реализует процедура— произведение переход навремя.
Состояние процессора. К регистрам определяющим состояние ЦП относятся: адресуемые регистры, управляемые программами,специализ-е регистры, предназначеные для некоторой синтаксической инфы(синтетической)-слово. . Инфа содержащаяся в слове сост проц-ра характеризует следующие : состояние выполнения (активное или ожидание),режим (распоредителя или исполнителя), маски прерывания,информация о доступном контексте в памяти ЭВМ и соотве-х правах доступа (таблица сегментов , указатели защиты памяти), инфа о текущем активном состоянии (условный код, порядковый счетчик).
Прерывания-представляют собой перестановку контекста процессора вызываемую внешними по отношению к выпол-ю инструкцией причиной. Физически прервания представляются сигналом о прерывание работы посылаемой не посредственно процессору этот сигнал вызывает изменение состояние указателя проверяемого в ходе выполнения каждой инструкции. Этот сигнал может послать другой процессор, внешнее устройство, ввода/вывода или пользователь . Прерывания вынуждают процессор приостановить в ближайшей точке прерывания выполнение текущей проги и приступить к выполнению другой спец программы . Эта прога наз обработчиком прерываний. Общая СХЕМА программы прерывания : Прерваная прога —обработчик прерыванийàсохранение контекста прогиà àобработка прерываний программы àвост-е программыàпереход к новой проге .
Захваты и обращение к супервизору. Вызываются причинами связаными с ходом выполнения инструкции. Захват сигнализирует ОС об аномалии при выполнении инструкций. Причины- неправильные данные приводящие к нарушению правил хода выполнения инструкции, попытка выполнения операции запрещеной защищающим устройством, невыполняемая инструкция (адресс вне поля памяти, обращение к несущему устройству) .
КРАТКИЙ ОБЗОР ОС.
ОС в большой степени опрелеляет представления пользователя об ЭВМ, чем аппаратура ЭВМ. ОС- набор пограмм, обеспечивающих возможность использования аппаратуры компьютера. Любая ОС реализует множество различных ф-ий. Определяет интерфейс пользователя , обеспечивает разделение аппаратных ресурсов между пользователями, дает возможность работать с общими данными в режиме колективного пользования, планирует доступ пользователя к ресурсам, обеспечивет эффективное использование операций ввода/вывода , осуществляет востановление инфы и вычисление процесса в случае сбоев и ошибок. ОС управляет : процессорами, памятью ,устройствами ввода/вывода ,и данными. ОС взаимодействует с пользователем , системными прикладными программами ,программами и АППАратными средствами. ПОКОЛЕНИЯ ОС .
1)нулевое поколение(40г.) в 1-х ЭВМ ОС не было. Пользователи имели полный доступ к машинному языку и все проги писались в исходных кодах. 2)1-е поколение (50-е г.) Ос 50-х годов были разработаны с целью ускорения и упрощения перехода с задачи на задачу. До создания этих ОС много машинного времени тратилось в промежутках м/у завершением одной проги и началом другой. Это было начало систем пакетной обработки, которые предусматривали объединение отдельных пакетов в группы 3) 2-е поколение начало 60-х годов. Были задуманы как ОС колективного пользования с мульти програмным режимом работы и как 1-е системы мультипроцессорного типа.В этих ОС несколько полезных программ одновременно находится в основной памяти компьютера ,а центральный процессор переключается от задачи к задаче. Появляются методы обеспечивающие независимое програмирование от внешних устройств. Появляются сист с разделением времени ,которые позволяли пользователю взаимодействовать с компьютором при помощи пультов терминалов. В системе разде-го вр-ни работающих в диалоговом режиме. Появл-ся 1-е системы реального времени. 4) 3-е поколение (середина 60-х до70-х) Многорежимные системы. Некоторые из этих ОС осуществ-т работу в нескольких извесных режимах-пакетная обработка, разделение времени, Real Time ,мультипроцессорный режим . Минус -они были громозкими и дорогостоящими. Привели к сильному усложнению вычислительной установки. 5) 4-е поколение (середина 80-х до 90-х ) наиболее совершенные системы настоящего времени. Интернет технология, глобальные и локальные сети, технология удаленого доступа при помощи различных терминалов различных ОС, появление микропроцессора. Усложнились проблемы защиты инфы(хакерство). Появились виртуальные машины с распр-ми БД. АППАРАТУРА, ПО, МИКРОПРОГРАММЫ.
Расслоение памяти или interliving этот метод применяется для увеличения скорости доступа к основной памяти в реальной ситуации. При обращении хотя бы к одной из ячеек памяти ни каких операций с памятью производить нельзя. При интерливинде соседние по адресам ячейки размещены в различных модулях памяти. Появляется возможность паралельной работы с памятью.
Регистр перемещения обеспечивает возможность динамического перемещения программ в памяти. В этот регистр заносится базовый адресс проги хранящейся в основной памяти. После обращения к регистру , содержимое регистра+ каждому указ в вып-ой прог-ме адресу(база +смещение). Прерывание и опрос состояния. Одним из способов позволяющих некоторому устройству проверить состояние другого устройства которое работает часто независимо называется элементарный опрос этого устройства (опрос ячеек памяти).1-е устройство может периодически проверяет находится ли второе устройство в определенном состоянии и если нет то продолжать свою работу. Состояние устройства работа которого прерывается должно быть сохранено только после этого производится обработка прерывания .
БУФЕРИЗАЦИЯ. БУФЕР- область основной памяти предназначеной для промежуточного хранения данных при выполнении операций ввода/вывода . Скорость выполнения операций ввода/вывода зависит от многих факторов: главная -характеристика устройства вв/в. Различают простую и 2-ю буферизацию. При простой канал помещает данные в буфер . Процессор обрабатывает эти данные . Последовательный процесс обработки. Метод 2-й буферизации позволяет совмещать операцию ввода/вывода с обработкой данных. Когда канал заносит данные в один буфер процессор может обрабатывать данные другого буфера.
Защита памяти. Очень важна –условие для нормальной работы многоабоненских вычислительных систем колективного пользования. Защита памяти ограничивает диапазон адресов в котором разрешены обращ к проге. Защиту памяти для проги занимающей непрерывный блок ячеик памяти можно реализовать при помощи граничных регистров где указываются старшие и младшие адреса этого блока памяти. Защиту памяти можно реализовать с помощью ключевой защиты памяти . Чаще делают 2-м ключом: программным и аппаратным.
Захват цикла. Узкое место где может возникнуть конфликтная ситуация м/у каналами ЦП -это доступ к основной памяти. В каждый конкретный момент времени может происходить одна операция обращения к некоторому модулю основной памяти, тк каналу и процессору одновременно может потребоватся обращение к основной памяти , а в этом случае приоритет представляется каналам. Этот процесс наз-ся захватом цикла памяти, в процессе которого канал активно захватывает цикл обращения у процессора. Все современные ОС без исключения с их основными компонентами и планировщиками отдают предпочтение прогам с большим обьемом инфы ввода/вывода по отношению к прогам с большим объемом вычисления.
Режим задачи,супервизора,приоритетные команды. В вычислительных машинах предусматриваются несколько режимов работы: динамический выбор режима позволяет лучшим образом организовать защиту прог и данных . В обычном режиме работающая прога может выполнить только некоторое подмножество команд. Так программам пользователя неразрешаются все операции ввода/вывода т.к он мог бы вывести главный список паролей системы, или инфу любого другого пользователя. ОС присваивается статус высшего приоритета и она как правило работает в режиме супервизора имеющая доступ ко всем командам машины. Для большинства современных ЭВМ этого разделения на 2 режима вполне достаточно. Однако в случае машин с высокими требованиями по защите от несанкционированного доступа желательно иметь более двух режимов работы. За счет этого можно увеличить степень защиты на программном уровне . Можно обеспечить доступ где каждому пользователю предоставляется минимальный приоритет права доступа к тем ресурсам которые нужны для решения его задач . В процессе развития компьютерных архитектур выявились тенденции к увеличению приоритетных команд которые не могут выполнятся в режиме задач.
Виртуальная память. Сист. виртуальной памяти дают возможность указать в прогах адреса которым не обязательно соответствовать физическим адресам основной памяти. Виртуальные адреса выдаваемые работающими прогами при помощи аппаратных ср-в динамически выполняются, преобразуются в адреса команд и данные, хранящиеся в основной памяти. Сист вирт памяти позволяют прогам работать с адресными пространствами гораздо большого размера , чем адр-е пространство основной памяти . Их основное достоинство они позволяют созд-ть программы независимо от ограничений основной памяти. В сист виртуальной памяти применяются также методы :страничная огрганизацияя и сегментация. В первом случае предусматривается обмен м/у основной и внешней памятью, блоками данных фиксированного размера. Во втором случае проги и данные разделяются на логические компоненты- сегменты. Мультипроцессорная обработка : в мульти процессорных машинах несколько процессоров одновременно работают с общим полем памяти и одной ОС. При мультипроцессорной работе возможно возникновение конфликтов(которых в принципе не бывает в однопроцесорных). Необходимо обеспечить упорядоченный доступ к каждой общей ячейки памяти так чтобы 2 и более процессоров не могли одновременно изменять ее содержимое. Это необходимо в тех случаях, когда один процессор пытается изменить содержимого ячейки котор. хочет прочитать другой процессор.
Прямой доступ к памяти. Одним из способов достижения высокой производительности ЭВМ является минимизация количества прерываний происходящих в процессе выполнения программы. Существующий для этого ПДП требует лишь одного прерывания на каждый блок символов, передаваемых во время операций ввода/вывода. Благодаря этому обмен данными осуществляется значительно быстрее чем в случае когда процессор прерывается при передаче одного символа. После начала операций ввода/вывода символы передаются в основную память по принципу захвата канала цикла (канал захватывает шину связи процессора с основной памятью на короткое время передачи одного символа после чего процессор продолжает работу). Когда внешнее устройство готово к передаче блока оно “прерывает” процессор. В случае ПДП состояние проца запоминать не требуется. ПДП – способ повышения производительности в системах с большим объемом операций ввода/вывода.
Конвейризация- апаратный способ, применяемый в высоко производительных машинах с целью использования опрделенных типов обработки* команд паралельно для повышения эфективности. Структура конвеерного примера можно представить как технологическую линию производства предприятия ** тех процес. На конвеере процессора на различных стадиях выполнения одновременно могут находится несколько команд.
Иерархия памяти- Современные ЭВМ содержат несколько видов памяти: основная, внешняя, КЕШ память .В основной памяти должны размещатся команды и данные к которым будет обращатся работающая программа. ЭМУЛЯЦИЯ-метод позволяющий сделать одну вычислительную машину функционально эквивалентной другой. Набор команд машинного языка эмулируемого компа микропрограмируется на эмулирующем компе благодаря этому программы представленные на языке 1-го компа могут выполнятся на 2-м без ограничений.Современные фирмы широко используют эмуляцию для своих продвинутых приложений..
УПРАВЛЕНИЕ ПРОЦЕССАМИ- под процессом понимается прога в стадии выполнения, ассинхронная работа , которой выделяет процессоры диспетчируюмый модуль. Говорят что процесс выполняется если ему в данный времени выделяется процессор. Процесс находится в состоянии готовности если он может сразу использовать центральный процессор. Заблокированным если он находится в состоянии ожидания . В одно процессорной машине в каждый момент времени может реально выполнятся только один процесс , в состоянии готовности могут находится несколько процессов. Благодаря этому можно создать список готовых к выполнению процессов который упорядочевается по приоритету. Так что ЦП выполняетт самый приоритетный процесс. Список заблокированых процессов не упорядочен. Разблокировка в порядке той очереди как они заблокированы. Когда в систему поступает некоторое задание она создает соответствующий процесс который затем устанавливается в конец списка готовых процессов этот процесс постепенно продвигается к главной части списка по мере завершения выполнения предыдущих процессов. Когда процесс оказывается первым и когда освобождается ЦП то говорят что происходит смена состояния процессора . Который в свою очередь переходит в состояние выполнения. ГОТОВНОСТЬ –запускàПЕРЕХОД В ФАЗУ ВЫПОЛНЕНИЯ –-блокировкаà БЛОКИРОВАНИЕ –пробуждениеàПРИОСТАНОВКА* ГОТОВНОТЬ –возобновление процессаàГОТОВНОСТЬ . Предоставление ЦП первому процессу списка готовых процессов называется запуском. Или выбором процесса для выполнения (это производится системной программой диспетчером). Ос в таймере прерываний определяет временной интервал (квант времени) в течении которого данному процессу пользователя разрешается занимать центральный процессор. Если процесс не освобождает ЦП до указанного времени то таймер вырабатывает сигнал прерывания по которому управление будет передано ОС. Представителем процессов в ОС явл-ся блок управления процессом(БУП). Это структура данных содержащая следующую инфу- текущее состояние процессора , уникальный идентификатор процесса, приоритет процесса, указатели памяти процесса, указатели выделеных процессу ресурсов, область сохранения регистров.
ОПЕРАЦИИ НАД ПРОЦЕССАМИ. 1) СОЗДАНИЕ ПРОЦЕССА, 2) уничтожение процесса, 3) возобновление процесса, 4) изменение приоритета процесса ,5) блокирование процесса, 6)пробуждение процесса, 7)запуск (выбор) процесса. В процессе создания процесса осуществляется мног мелких операций: присвоение имени процессу , включение этого имени в список имен процессов, определение начального приоритета процесса , формирование блока управления процессом, выделение процессу начальных ресурсов.
ЯДРО ОС. Все операции связанные с процессами выполняются под управлением той части ОС которая называется ее ядром ОС. Ядро представляет собой лишь небольшую часть кода ОС в целом , но она относится к числу наиболее интенсивно используемых компонентов системы. По этой причине оно резидентно находится в памяти . В то время как другие части ОС подкачиваются к ядру по мере необходимости.
Ф-ИИ ЯДРА ОС 1)обработка фпрерываний ,2)создание и уничтожение процессов, 3) переключение процесса из состояния в состояние, 4)диспетчирование , 5) приостановка и активизация процессов, 6)синхронизация процессов, 7)организация взаимодействия м/у процессами, 8)манипулирование блоками управления процессами, 9) поддержка операций ввода/вывода, 10) поддержка распределения и перераспределения памяти, 11)поддержка механизма вызова/возврата при обращении к процессам, 12)поддержка определенных ф-ий по ведению учетной работы машины(сбор статистики).
ОПЕРАЦИОННЫЕ СИСТЕМЫ.
MS-DOS.
Созд. В 1981г. Microsoft по заказу IBM. 1-ая версия-однопользовательская, однозадачная.Цель-поддержание раб. С дискетами, клавиатурой, дисплеем.
Соврем. Возможности MS-DOS обеспеч. Более мощное взаимодействие пользователя с ЭВМ: поддержка нов. Устройств-HDD, CD-ROM, нов. Дискет и т.д. С помощью драйверов поддерживает и др. устр-ва(написанных производителями этих устройств).
Была вкл. Поддержка иерархической, файловой структуры на дискетах и HDD, представляющая соотв. Команды пользователя и функции для их вызова.
Была обеспечена поддержка национальных алфавитов, нов. Возможности для пользователя-нов. Команды DOS, полезные утилиты, оптимизатор используемой памяти, сжатие диска и т.д.
Осн. Принципы MS-DOS от MICROSOFT : совместимость версий и работоспособность на любой машине.
Недостатки MS-DOS: 1.Однозадачная 2.Невозможно встраивать надежные средства для защиты данных и организация коллективной работы с данными. 3.DOS-программы могут выполняться т-ко в пределах 1-го Мбайта памяти, осн. Память используется только для хранения данных. 4.Ограниченность поддержки устройств. 5.Отсутствие стандартных средств для создания пользовательского интерфейса-меню, запросов и т.д.
Составные части DOS: 1.Дисковые файлы IO.SYS и MS-DOS.SYS. Это основные системные файлы и содержат основные программы, которые постоянно находятся в памяти компьютера. В версиях до 8-ой файл IO.SYS представляет дополнения к функции ввода-вывода, а MSDOS.SYS реализовывал осн. Высокоуровневые услуги DOS.
Командный процессор DOS обрабатывает команды, вводимые польз-лем command.com, тоже находится в корневом каталоге. Некоторые команды пользователя процессор выполняет сам – это внутренние команды. Для выполнения внешних команд процессор ищет программу на диске с соответствующим именем и если находит ее, то загружает ее в память и передает ей управление.
Драйверы устройств – это специальные программы (системные), дополняющие MS-DOS, они загружаются в память ЭВМ при загрузке DOS, а их имена указываются в специальном файле config.sys.
Базовая система ввода – вывода ( BIOS) находится в ПЗУ компьютера, тесно связана с MS-DOS. BIOS содержит не т-ко программы для проверки компьютера и инициирования загрузки О.С., но и программы для выполнения базовых низкоуровневых операций ввода – вывода, связь с монитором, клавиатурой, дисками и принтером. BIOS имеет сегментный адрес (16-ый) FE00 в ПЗУ, все остальные модули хранятся на магнитном диске. Блок начальной загрузки О.С. (загрузчик) всегда записан в 1-ом секторе системного диска.
BIOS реализует след. Функции: 1. Автоматическую проверку аппаратных компонент при включении ЭВМ. 2. Вызов блока начальной загрузки О.С. Загрузка в память ЭВМ программы О.С. происходит в 2 этапа: сначала загружается блок начальной загрузки и с его помощью остальные модули О.С. 3. Обслуживание системных вызовов или прерываний.
С пом. Config.sys можно расширять О.С., изменять ее параметры, подключать новые драйверы для работы и т.д.
Файл autoexec.bat выполняется за config.sys. Здесь устанавливаются альтернативные маршруты поиска, задаются форматы приглашения О.С., выдается дополнительная информация и т.д.
Создание текстовых файлов в MS-DOS .
Copy con <имя файла> Текст. Затем F6 и Enter, команда copy пишет сообщение: «Один файл скопирован»,на диске появ. Новый файл.
Del <имя файла> // ren <и. Ф.> <и. Нового ф.> // copy <и. Ф.> + <и. 2-го ф.>…<summa.dat> // move *.doc d: dir <и.ф.> cd дисковод: путь… // cd \ (для текущего диска) путь…// md дисковод: путь… - создание подкаталога в текущем каталоге.
OS / 2.
Эта новая О.С., разраб. Для соврем. И будущих ЭВМ. Интерфейс пльзователя напоминает Windows. Большое влияние на структуру OS/2 оказало развитие графических интерфейсов (начиная с APPLE до MICROSOFT). Некоторые важные свойства переняты от предшествующих О.С. – многозадачность и вопросы виртуальной памяти.
Создана в 1987г. IBM и MICROSOFT. ЕЕ особенности исх. Из целей и задач. Цель – удовлетворять потребностям учреждений. Со временем существующие программные системы становились менее приспособленными для решения возникающих задач. Осн.задачи при созд. OS/2 MICROSOFT: --высокая производительность –многозадачность –эффективный графический интерфейс –сетевые возможности (разделение ресурсов и общих данных в сети).
Цели: --независимый от устройств графический интерфейс –многозадачность (полное использование аппаратных возможностей, не снижая общей производительности системы) –создание эф. Средств защиты, обеспечивающих надежность и устойчивость системы –предоставление каждой программе стандартной и стабильной операционной среды, независящей от внешних факторов, а програмная среда гибкой и настраиваемой.
Организация памяти. Верхний предел доступной памяти – 1Мб, при этом старшие 386Мб зарезервированы под BIOS и контролируют ввод – вывод. Само ядро около 50Кб, поэтому доступный объём памяти строго ограничен. Прикладные программы для ОS/2 выполняются в защищенном режиме, в котором процессор реализует 32Мб памяти. Используя аппаратную поддержку прикладная программа может выделить памяти больше, чем физически есть на компьютере. Кажд. Программе OS/2 можно адресовать от 1Мб памяти. Виртуальная память – адресное пространство , в котром автоматически выполняется обмен м/у опер. Памятью и диском. Единица обмена – сегмент – последовательность ячеек памяти от 1 до 65536 байт. Процесс обмена прозрачен для прикладных программ, т.е. когда происходит обращению к сегменту, которого нет в физической памяти. При этом OS/2 автоматически считывает и загружает нужный сегмент с внешнего устройства. Механизм управления памятью вкл. И устанавливаемый минимальный промежуток времени, к-ый предоставляется процессору для выполнения текущей задачи, прежде чем он переключится на выполнение др. задачи.
Многозадачность. Можно переключаться с пом. Функциональных клавиш с одной загруженной программы на другую. При этом задачи, оставшиеся без внимания продолжают выполняться. Аппаратная поддержка обеспечивает полную защиту памяти и др. ресурсов, параллельно выполняемым задачам, гарантирует быстрое переключение процессора от 1-ой задачи к другой. OS/2 представляет кажд. Задаче стандарт. О.С., независимо от др. внеш. Факторов (задача – это есть процесс). OS/2 –многозадачная, но не многопользовательская. В то вр., когда OS/2 упрвляет несколькими прикл. Программами, обеспечивая взаимодействие между ними. При работе в О.С.-пототипах режим многозадачности обеспечивает мирное сосуществование нескольких програм, т.к. они имеют тенденцию захватывать др. у др. ресурсы ЭВМ. При работе, программы также обладают арсеналом межпроцессорного взаимодействия.
Структура OS/2 состоит из множества компонентов отдельных логических модулей, к-ые загруж. В пам. И активизируются по мере необходимости, тесно взаимодействуя между собой. Осн. Компаненты OS/2 : --сеанс защищенного режима –сеанс режима совместимости –фоновые процессы. Защищ. Режим – работа в графической среде или в командном режиме. После загрузки и запуска OS/2 состоит из множества сеансов (экранныых групп и фоновых программ). Режим совместимости практически полностью воссоздает среду MS-DOS. Наряду с процессами защищенного режима является структурным компонентом OS/2. Фоновые программы обрзуют отдельную группу, к-ая не имеет своего сеанса, тем не менее они играют важную роль при реш. Разл-х системных задач. Сеансы защищ. Режима OS/2 опр-ся как набор процессов, разделяющих отдельный виртуальный экран, клавиатуру и мышь.
Процесс – отдельно выполняемая программа – интерпретатор команд, приклад. Или вторичная, запускаемая приложением для выполнения дополнит. Ф-ций. Кажд.сеанс OS/2 может находиться т-ко в 2 –ух режимах: активном и фоновом. Если несколько программ сеанса выполняются параллельно и одновременно выводят данные на экран, то нет механизмов для предотвращения пересечений и накладки данных. Когда сеанс выходит из активного состояния вфонов. Режим, то содержимое экрана сохраняется в специальном внутреннем буфере. Когда сеанс активизируется, содержимое буфера восстанавливается на физическом экране, т.о. программе нет необходимости следить являются ли выводимые данные видимыми, она просто посылает данные на виртуальный экран, к-ый высвечивает их на физическом экране при активизации сеанса. Все сеансы OS/2 выполняются параллельно.
Древовид. Струк. процессов сеанса подчерк. 2 важн. Свойства: --отдельный процесс может породить другой процесс –породивший и порожденный процессы выполняются параллельно, или породивший процесс может быть приостановлен до завершения выполнения порожденного.
В структуре многозадачности OS/2 имеется ещё 1 слой: подобно сеансу, состоящему из нескольких параллельных витков – выполнений серии инструкций программы. Время процесса распределяется между всеми активными витками, т.о. несколько секций программы могут выполняться параллельно. В целом компоненты многозадачности OS/2 представляют собой 3 –х уровневую иерархию, причем все элементы иерархии могут выполняться параллельно.
Осн. Понятия OS/2 . --Сеанс состоит из набора сеансов. –Сеанс – один виртуальный экран, виртуальная клавиатура и виртуальная мышь. -–Переключение между сеансами с пом. ALT+Escp. –Процесс – выполнение отдельной програмы, в совокуп. С выделенными под это ресурсами. –Сами процессы могут создавать и запускать процессы. –Степень вложенности неограначена. –Процесс состоит из 1 –го или нескольких витков.(Виток-выполнение последовательности инструкций внутри программы. Витки не запускаются пользователем, они создаются при выполнении самой программы).
Сеанс реального режима. Для выполнения станд. Прилож. MS-DOS в реальн. реж. OS/2 представляется отдельный сеанс – сеанс реальн.режима (сеанс совместимости), что означает тождественность с MS-DOS. Сеанс реальн. Режима необязателен и его можно отменить при запуске OS/2. Также можно назначить размер памяти для сеанса реальн. Реж. И изменить др. параметры. а от сеанса Отличия данного сеансзащищенного режима: --у OS/2 может быть т-ко 1 сеанс реального режима, в то время как сеансов защищенного режима несколько. –Когда сеанс совместимости активен все сеансы защищенного режима выполняются. Если активен сеанс защищенного режима, то сеанс совместимости приостанавливается. Т.е. сеанс реального режима выполняется только после его активизации. Программы, работающие в реальном режиме не могут использовать свойство OS/2 –режим многозадачнсти, вирт. Адресное пространство и т.д., т.е. реальн. Реж. Обусловлен тем, что многие из них игнорируя О.С. непосредственно осуществляют доступ к машинным функциям низкого уровня.
Фоновые программы. Под управлением OS/2 могут выполняться программы защищенного режима, к-ые будут постоянно находиться в фоне. Эти настоящие фоновые программы ни к одному из запущенных сеансов. (Нельзя переключиться на фоновую программу с пом. ALT+Escp. Т.о. фоновая программа – спец. Сеанс, к-ый не может быть приравнен к обычному сеансу защищенного режима. Фонов. Программы обычно не взаимодействуют с пользователем, а ведут учет ресурсов, следят за появлением вирусов.
UNIX.
Ю спроектирован как инструментальная система для разработки П.О. Она имеет простой, но мощный командный язык и независимую от устройств файловую систему. Ю изначально спроектир. С 65 по 69г. Bell laboratories и General Electric. 1-ая версия возникла в США в Масачусецком уневерситете. В 72г. на яз. Си написал Ритчи – 2-ая версия. Она стала более надежной, любимой, а программы были совместимы и понятны.
Цели проекта. Своей уникальностью Ю обязан: 1.Нулевая версия была создана 2-мя идеологами за минимальное кол-во чел*лет. 2.Люди, создававшие систему были её главными пользователями.
Внутренняя согласованность и встроенность является следствием этих 2-ух обстоятельств, как и яз. Паскаль, созд. Виртом.
Управлние процессами. Центральная часть – ядро (около 25000 строк на Си и 2500 строк на Ассемблере). Большая часть ассемблерного текста относится к аппаратным ф-циям, к-ые трудно программировать на Си.
Образ – текущее состояние псевдокомпьютера, предоставляемое пользователю. Конкретный процесс – это выполнение конкретного образа. Любой образ включает образ памяти, значение общих регистров, состояние открытых файлов, текущие директории – оглавления, справочники и др. информацию. Образ процесса во время его выполнения размещается в основной памяти (не менее 128Мб). Образ может быть откачан на диск, если какому-либо приоритетному процессу потребуется место в основной памяти. В современных версиях – это оптимизатор процесса.
Образ памяти делится на 3 логических сегмента: --СРП-сегмент реентерабельных процедур (начиная с нулевого адреса в виртуальном адресном пространстве). –СД-сегмент данных. –СС-сегмент стека. Картинка. СД располаг. За СРП в сорону больших адресов. Сегмент стека начинается со старшего адреса в виртуальном адресном пространстве и растет вверх по мере занесения в него иформации, при вызове пограмм и прерывании. СД в образе памяти содержит данные, записываемые и считываемые т-ко одним конкретным процессом. Системные данные, относящиеся к процессу хранятся в отдельном сегменте фиксированного размера. Этот системный сегмент данных откачивается вместе с процессом. Он содержит такие данные об активном процессе, как состояние регистров, дескрипторов(описатели открытых файлов), данные для расчетов за использованием ЭВМ, область рабочих данных, стек для системной фазы выполнения процесса. Процесс которому принадлежит сегмент системных данных непосредственно адресоваться не может.
Таблица процесса – когда процесс не активен, в ней хранится информация о процессе. Она содержит: --имя процесса –расположение его сегментов –информацию для планировщика. Таблица процесса существует во время всей жизни процесса. Адресуется она из ядра ситемы.
Создание процессов. Новые процессы создаются с помощью системного примитива (разветвления). Вызов этого примитива приводит к тому, что текущий процесс расщепляется на 2 независимых, параллельных процесса, называемых родительским и дочерним. Эти два процесса не имеют общей первичной памяти, но совместно могут использоватьвсе открытые файлы.
Примитив EXEC дает возможность процессу выполнять файл. Он приводит к замене текущего програмного сегмента и текущего сегмента данных на новые соответствующие сегменты, к-ые задаются в файле. Прежние сегменты, если их не зарезервировать, теряются (по умолчанию). Этот процесс выполняется процессом программы, но не самим процессом.
Синхронизация процессов осуществляется при помощи механизма событий. Все процессы ожидают событий, таблицы процессов ассоциируются с событиями. События представляют собой адрес элемента таблицы своего родительского процесса. В любой момент времени все процессы, кроме одного стоят на примитиве – ожидании событий в ядре.
Планирование процесса. Процесс может выполняться в одном из двух событий – пользовательском или системном. В пользовательском состоянии процесс выполняет программу пользователя и имеет доступ к пользовательскому сегменту данных. Главня цель планирования процессов в Ю – обеспечение быстрой реакции для интерактивных пользователей. Планирование процессов проводится в соответствии с приоритетами процессов. Высший приоритет у процессов, к-ые обрабатывают события и ожидания. Следущие по старшинству – связанные с работой дисков. События, связанные с терминалами, временем суток, пользовательскими процессами получают более низкий приоритеты. Пользовательским процессам приписываются приоритеты в зависимости от кол-ва получаемого ими процессорного времени. Процессы с большим временем имеют более низкие приоритеты.
Процессы вталкивания и выталкивания. Процессы могут выталкиваться (выкачиваться) во вторичную память и вталкиваться (подкачиваться). Как в первичной, так и во вторичной памяти выделяется стратегия свободного пространства, имеющего общее название (если процессу требуется дополнительная память он её запрашивает непосредственно у ядра). Ему выделяется новая, большая секция памяти, чтобы вместить процесс и всё содержимое старой памяти копируется в новую область памяти вместе с процессом, а старая область освобождается. Завершение процессов может происходить аварийно (преднамеренно) при помощи примитива EXEC (выход) или непреднамеренно, как результат запрещенных действий (для О.С. сигналы или ловушки предписанные пользователем). Ловушки, связанные с ошибками к программе, т.е. обращаться к некорректным адресам памяти или попытка выполнить программу с несуществующим кодом операции. Для снятия процесса в Ю используются директивы: interrubt – процедура прерывания, quit – увольнение.
Файловая система UNIX. Файл – это множество символов с произвольным доступом, его размер – число содержащихся в нём символов, на физическом уровне до 1000000000 символов. В файле содержатся произвольные данные и не имеет другой структуры, кроме наложенной пользователем.
Диск разбивается на 4 блока: 1.Неиспользуемый блок. 2.Управляющий (суперблок) – содержит размер диска и др. областей. 3.i-список, состоящий из описания файлов, наз. i-узлами. 4.Область для хранения содержимого файла.
Каждый i -узел содержит: --идентификацию владельца –идентификацию группы владельца –биты защиты –физические адреса на диске или ленте, где находится содержимое файлов –время создания файлов –размер файла –время последнего его изменения –число связей (ссылок на файл) –индикация (является ли файл директорией, обычным файлом или специальным файлом).
Следом за i-списком идут блоки памяти, предназначенные для хранения содержимого файлов. Пространство на диске, оставшееся свободным от файлов образует связанный список свободных блоков. Т.о. файловая система UNIX представляет собой структуру данных, размещенных на диске и содержащую управляющий суперблок, в котором определена вся файловая система в целом, массив i-узлов, в которых определены файлы в файловой системе, сами файлы, совокупность свободных блоков. Выделение пространства осуществляется блоками фиксированного размера. Таблица.
Каждый файл однозначно идентифицируется старшим номером устройства, младшим номером устройства i-ым номером (индексом i-го узла данного файла в массиве i-узлов). Когда вызывается драйвер устройства, но старшему номеру индексируется массив входных точек в драйверы. По младшему номеру драйвер выбирает одно устройство из группы идентичных физических устройств. Файл директории, в котором перечислены имена файлов позволяет установить соответствие между именами и самими файлами. Директория образует древовидную структуру, на каждый физический обычный файл, или файл устройства могут существовать ссылки (потенциальные ссылки в различных узлах этой структуры).
В непривелегированных программах запись в директории не разрешена,но при наличии паролей-приоритетов они могут быть прочитаны. Дополнительных связей между директориями нет. Большинство системных директорий UNIX используются для своих нужд. Один из них – корневой директорий, который является базой для всей структуры директорий и считая его отправной точкой можно найти размещение всех файлов. Файл не являющийся директорией можно встречать в различеых директориях, иногда под разными именами – это явление называется связыванием. Элемент директории, относящийся к одному файлу называется связью. Такие связи в UNIXе имеют равный приоритет.
Понятие оболочка. Оболочка в Ю – это механизм взаимодействия между пользователем и системой. Т.е. это интерпретатор команд, который считывает, набираемые пользователем команды и запускает выполнение запрошенных системных функций. В отличие от ядра оболочка не располагается резидентно в основной памяти, а подкачивается туда по мере необходимости, т.е. она является прикладной программой и поэтому пользователи могут писать свою индивидуальную оболочку для своих прикладных програм (сценарий).
Транспортеры и фильтры.Транспортер – это открытый файл, соединяющий два процесса. Информация записывается в транспортер на одном конце, файл можно считывать на другом. Схемка. Синхронизация, диспетчеризация и буферизация обеспечиваются UNIXом автоматически. Воспользовавшись транспортерами между парами процессов можно организовать конвейер, связав процессы друг с другом в линию. Оболочка обеспечивает конвейеры линейной структурой. Процессы могут быть взаимосвязаны и более сложно.
Фильтр в сист. Ю – это программа с одним входным и одним выходным потоками. В этом смысле Ю оставляет большое число фильтров. (например: языковые процессоры в Ю не выводят листинга, их вывод направляется фильтру, который печатает все необходимые листинги в едином унифицированном формате.
Многозадачность(мультипрограммирование). Пользователь может задать многозадачность, сопровадив команду знаком &. В этом случае оболочка не ожидает завершения выполняемой команды. Она даёт приглашение на ввод новой команды, продолжая выполнять предыдущую команду в фоновом режиме. Вновь задаваемая команда может быть файлом, содержащем другие команды, тем самым пользователь, работающий в интерактивном режиме может запустить в качестве фона последовательность пакетных работ.
Windows.
MS в 1985 г. разработал первую версию Windows. Начиная с 1990 г. появилось несколько новых модификаций. Обеспечивается возможность одновременного выполнения нескольких программ и переключение с одной на другую.
Обмен данными Windows: 1) Буферная передача данных; 2) Динамический обмен данными; 3) Механизм связи и внедрения объектов (OLE-технологии); 4) Проектирование программных продуктов и систем (CASE-технологии).
Возможности для разработчиков.
Основная идея оболочки Windows — естественность представления информации, которая должна представляться в той форме, которая обеспечивает наиболее эффективное усвоение этой информации человеком.
Windows — замкнутая рабочая Среда. " операции Windows могут заканчиваться без выхода из нее. Это ОС графического типа, где юзеру не нужно вводить директивы в виде текстовых строк. Все операции поддерживаются мышью. Обеспечивается независимый запуск и выполнение нескольких программ. Очень хорошая интеграция (встраиваемость программ). Windows — мультиагентная Среда.
Режимы работы: 1) Стандартный; 2) Расширенный. Реализуются параллельные процессы с автоматическим разделением во времени; 3) Работа в режиме MS-DOS; 4) Режим виртуальной памяти.
Дата: 2019-05-28, просмотров: 204.