Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по СПО1.doc
Скачиваний:
59
Добавлен:
02.05.2014
Размер:
473.6 Кб
Скачать

СПО

СПО – это программы и комплексы программ явл-ся общими для всех,кто совместно исп-т техн-ие ср-ва комп-ра и применяемые как для автоматизации и разработки новых программ,так и для организации пр-м существующих.

Жизненный цикл СПО делится:

-разработка(основная):1)опр-ие требований;2)проектирование(основная):а)разд-ие программ на части;б)опр-ие формы организации данных;в)опр-ие возм-ти модификаций(в пр-се разработки и эксплуатации);г)обесп-ие надежности;3)фаза компановки; 4)тестирование;5)документирование

- применение;

- сопровождение (продолж-ся разработки):1)вкл новых функций;2)модификация функций; 3)модификация оборудования; 4)исправление ошибок

Классификация СПО

1 Операционные системы (ОС).

2 Системы программирования.

3 Утилиты.

Операционная система

ОС - набор программ,кот-е оьеспечиывают возм-ти исп-ия аппаратуры комп-ра. ОС – администратор ресурсов.

ОС делятся:1) по назначению: а)общего; б)специального; 2)по кол-ву польз-лей одновр-но обслуж-х системой:а)однопольз-ие;б)многопольз-ие; 3)по числу процессов,кот-е могут одновр-но вып-ся под упр-ем ОС:а)однозадачные б)многозад-ые; 4)по типу ср-в выч техники для управления ресурсами которых предназначены:а)однопроцессорные;б)многопроцессорные;в)сетевые;г)распред-ые; 5)по архитектурному принципу:а)микроядерные;б)монолитные

Функции ОС:1)опре-ет ентерфейс польз-ля;2)принимает от польз-ля задания и их обрабатывает;3)принимает и исп-ет программные запросы на запуск,приостановку и остановку др программ;4)осущ-ет загрузку в опер-ую память подлежащих исп-ю программ;5)осущ-ет инициал-ю программ;6)идент-т все прогр и данные;7)обесп-ет работу системы упр-я файлами;8)обесп-ет работу многозад-го режима вып-я программ;9)осущ-ет распред-е памяти и орг-ю вирт памяти;10)осущ-ет планирование и диспетчеризацию задач;11)орг-т мех-зм обменя сообщаниями и данными;12)обеспечивает защиту одной прогр от влияния другой и сохранность данных;13)осущ-ет восст-ие и нФ-ии и выч порцесса;14)обесп-ет работу системы программирования

Требования,предъявляемые к ОС:надежность,защита,эффект-ть,предсказуемость,удобство

Структура ОС:

Ур-нь

Имя

Объекты

Примеры операций

1

Электронные схемы

Регистры,вентили,шины и т.д.

Очистка регистра,чтение содержимого ячейки памяти

2

Системы команд

Стек для выч-ний, микропр-ый интерпритатор, массивы

Загрузка,запись,переход, сложение,вычитание

3

подпрограммы

Подпрограммные сегменты и стек вызовов

Обращение к сегменту, вызов возврата

4

прерывания

Порграмма обработки прерываний

Активировать,маскировать,демаскировать

5

Элементарные процессы

Симафоры,списки готовности,элементарные процессы

Прочесть,записать, выделить,освободить

6

Локальная внешняя память

Блоки данных,каналы устройств

Прочесть,записать, выделить,освободить

7

Вирт память

Сегменты памяти

Прочесть,записать,загрузит

Поскольку элементарный процесс м/б прерван в любой момент,требуется спец мех-зм обесп-ий приостановку процесса и его последующее возобновление.Этот мех-зм состоит: 1) «словосостояние программы» 2)стр-ра данных,в кот-е м. входить сведения о содержимом всех регистров центр процесса 3)операция переключения контекста.

Симафоры - ср-ва синхронизации процессов.

До 7 ур-ня ОС имеет дело с ресурсами 1-го комп-ра

8

Коммуникации

Конвейеры

Создать,уничтожить, открыть,закрыть,прочесть, записать

9

Ур-нь файловой системы

Файлы

Создать,уничтожить,открыть,закрыть,прочесть,записать

10

устройство

Внешн устр-ва

Создать,уничтожить, открыть,закрыть,прочесть, записать

11

Каталоги

Каталоги

Созд,уничт,срезать, открепить,найти, распечатать

12

Пр-сы пользователей

Пр-сы польз-лей

Выйти,уничт, приостановить,возобновить

13

Оболочка

Прогр среда польз-ля

Оператор на языке оболочки

Пр-мы ур-ня 6 имеют дело с диск0ой памятью терм-х дорожек и секторов

Пр-мы ур-ня 9 работают с более абстрактными объектами.

Каждый каталог предст собой список эл-ов,в кот указано внешнее имя и внутр имя,кот хранится в двоичном коде.

На 13 ур-не работает интерпретатор командного языка высокого уровня.На этом же урн ах-ся прогр «слушатель»,которая:1)проводит синтакс анализ каждой вводимой строки;2)создает и активир-ет процесс польз-ля для каждой программы и связ-ет его с конвейерами,файлами и устр-ми.

Основные принципы построения ОС:1)принцип модульности;2)принцип функциональной избирательности;3)генерируемости;4)функц-ой избыточности;5)виртуализации(планировщики);6)независимости программ от внешн устр-в;7)совместимости;8)открытости и наращиваемости;9)мобюильности или переносимости;10)обеспечение безопасности вычислений

Системы программирования

Сп объединяют прогр,связанные с решением языковых проблем и предназн для разработки ПО.

В СП входят:1)трансляторы;2)библиотеки программ;3)редакторы;4)компановщики; 5)загрузчики;6)отладчики

Системы обслуживания программ – это спец с-ые программы,с пом кот-х м. обслуживать саму ОС

Транслятор – это программа,кот-я переводит вхлдящую программу на исх языке в эквив-ую на выходном результир-щем языке.

Компилятор – это транслятор,кот осущ-ет перевод исх программы в эквив-ю ей объектную прог-у на языке машинных команд.

Интерпретатор – это прог-а, кот-я воспринимает вх прог-у на исх языке и сразу её вып-ет(нет результирующего кода)

Компилятор с т.зрения формальных языков вып-ет 2 осн-ые функции:1) он явл распознавателем для языка исх программы(генератором цепочек явл автор вход программы);2)явл генератором для языка результирующей программы(рапсознавателем явл выч с-а)

Схема компиляции

Лекс анализ – это часть компилятора, кот-я читает литеры прогр-ы и строит из них слова лексемы исх языка.

Синтакс анализ – это осн часть компилятора на этапе анализа. Выделяет синтакс-ие конструкции языка.

Семантический анализ – это часть комп-ра, проверяя-я текст прогр-ы с т.зрения семантики исх языка.

Подготовка к генерации кода – вып-ся предварит-е д-я, связ-ые с синтезом результир прог-ы

Генарация кода – непоср-но порождение результир-го кода – осн фаза. Вкл оптимизацию кода.

Таблица идентификаторов – набор данных,служ-ий для хранения инф-ии об лементах исх-й программы. Сущ-ет неско-ко таблиц идентификаторов.

Проход – это процесс послед-го чтения данных из внешней памяти, их обработка и помещение во внешн память. Одна аза компиляции – один проход.

4. Таблица идентификаторов.

Таблица идентификаторов – набор данных,служ-ий для хранения инф-ии об лементах исх-й программы. Сущ-ет неско-ко таблиц идентификаторов.

Организация ТИ:В зав-ти от идент-ра м.хранится разл инф-я:1)Переменная-имя,тип,адрес 2)Константа-имя,если есть,адрес,значение;3)Функция-кол-во арг-ов,тип,имя,адрес

ТИ созд на фазе лекс-го анализа и заполн-ся послед-но.На фазе лексич-го ан-за запис-ся типы идент-ов.На фазе подготовки генер-ии кода – выделение памяти.

Основным критерием выбора способа орг-ции ТИ явл время поиска,т.к. осн-ми функ-ми явл добавления и поиска (поиск происходит чаще)

  1. Неупорядоченный список – в ТИ доб-ся эл-ты в порядке поступления

  2. Упорядоченный список – все эл-ты в ТИ упорядочены согласно естесств-му порядку по убыв-ю и возр-ю.

  3. Бинарное дерево ТИ имеет формубинарного дерева. Каждый эл-т или вершина – идентификатор. Корневой вершиной дерева явл первый поступивший идентификатор.

Форма бинарного дерева зависит от порядка поступивших идент-ов.Недостаток – дерево м.выродиться в упор-ный список.

5. Кэш адресация

Согласно методу символ преобр-ся в индекс эл-та в массиве.кыширование – вып-е любых лог-х или арифм-х оперций над символом. КЭШ адресация закл в исп-ии значения возвращающего КЭШ-функцией в качестве адреса ячейки из некоторого массива данных.размер массива данных должен соотв-ть области значенпия КЭШ функции.

Время поиска и время размещения – это время,затрачиваемое на вычисление КЭШ ф-ии.

Недостатки: 1)неэфф-ное исп-ие объема памяти; 2)необх-ть соотв-го разумного выбора кэш функции.

Коллизия – это ситуация, когда 2-м разл-м идент-рам соотв-ет одно и то же зн-ие кэш ф-ии.

Способы разрешения коллизии(рекэширование).При возникн-ии коллизии выч-ся новое зн-ие кэш ф-ции.

Формула рекэширования hi(A)=(H(A)+pi)modNm Nm – макс зн-ие из обл кэширования, pi выч число

Метод простого рекэширования hi(A)=(h(A)+i)modNm (вместо pi берем i)

Рекэширование с использованием псевдослучайных чисел вместо pi берем послед-ть целых псевдосл-х чисел.При хорошем выборе генератора псевдосл-х чисел послед-ть k=Nm

Рекэширование с помощью произведения hi(A)=(h(A)*i)modNm

Метод цепочек Здесь к ТИ добав-ся дополненная кэш таблица,в кот-ой хр-ся либо пустое зн-ие,либо зн-ие указ-ля на некоторую обл-ть памяти из осн-ой ТИ.

Достоинства: 1)нет необх-ти заполнять пустыми зн-ми ТИ;2)каждому идент-ру соотв-ет строго одна ячейка в ТИ,поскольку в ней нет пустыхнсип-х ячеек.В ТИ доб-ся поле ссылки,в кот-м м. содержаться указатель на любой элемент ТИ.исп-ся спец переменная,которая всегда указ-ет на первую своб-э ячейку основной ТИ.

Комбинированные методы. Исп-ся доп-ое поле ссылки,если коллизии не возн-ет,для выборки инф-ии исп-ся кэш функцияи поле ссылки остается пустым.если коллизия возн-ет,то ч/з поле ссылки орган-ся поиск идент-ров по одному из рассм выше методов.

Преим-во над цепочками:для хранения ид-ров с совпад-ми значентиями кэш функции исп-сяоласть памяти не пересекающаяся с основной ТИ.

Недостаток:необх-ть работы с динамически распределенными областями памяти.