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

Ответы на зачет по оспо

2006

ПРЕПОДОВАТЕЛЬ КАРДАШ ДЕНИС ИВАНОВИЧ

СТУДЕНТ ГРУППЫ ЗИ-24

  1. SPE-классификация программного обеспечения.

Системная программа - предназначена для решения технологических задач и служащая для обеспечения работоспособности ЭВМ, а также оптимизации её работы.

  1. Управляющая программа - это системная программа, реализующая управление ресурсами.

  2. Супервиза - осуществляет распределение ресурсов системы.

  3. Программа обслуживания - предназначена для решения функциональных задач.

SPE-классификация программирования. Адаптируемые и адаптивные системы.

1. S - программы

Они полностью определяемы системной спецификацией - документом, полностью

описывающим структуры данных и действия программы.

Плюсом является простота построения тестов.

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

(драйвер мыши)

2. Р - программы

Они решают задачи реального мира. При их решении внимание обращается не столько на

системную спецификацию, сколько на требования реальной задачи.

Р - программы характеризуются наличием множества известных алгоритмов решения задач.

(игра в шахматы)

3. Е - программы

Это такие программы, которые могут адаптироваться к изменяющейся обстановке. Е-программы используются, когда на момент написания программы алгоритмы решения задачи являются неопределёнными или неоднозначными.(ОС)

Адаптивные системы отличаются от адаптируемых систем тем, что в первом случае инициатива изменения системы принадлежит самой системе, а во втором случае стороннему пользователю. (Операционная система - адаптируемая)

  1. Активные и пассивные методы обеспечения гарантоспособности ПО.

Таксономия гарантоспособности.

Гарантоспособность - свойство, позволяющее обоснованно полагаться на выполнение услуг, для которых программное обеспечение предназначено. Таксономия - соотношение понятий; -аналог надежности.

Неисправности - это дефекты, вносимые в текст программы коллективом разработчиков. Потенциальные неисправности - дефекты программы, не влияющие на её работу. Действующие неисправности - влияют на работу программы.

  1. Алфавит языка ассемблер и типы операндов.

В тексте программы допустимы только латинские символы. Алфавит может быть чувствительным или нет к регистру.

L

Разные метки

AB:

lab:

При написании программы на ассемблере в тексте программы можно употреблять:

● все латинские буквы (A..Z, a..z), при этом регистр символов, как правило, не учитывается;

● цифры: (0..9);

● знаки: ?, @, $, & и др.

● разделители: #, /, \, *, (, ) и др.

Типы операндов.

Список операндов:

Постоянные или непостоянный операнды.

Адресные операнды.

Перемещаемые операнды.

Счётчик адреса.

Регистровый операнд.

Базовый и индексный операнды.

Операнд записи.

Постоянные или непостоянный операнды - ими могут быть:

  • число.

  • строка.

-выражение, имеющие неизменные значения.

Адресные операнды - залают физическое расположение операнда в памяти с помощью указания 2-х составляющих логического адреса: сегмент и смещение.

Перемещаемые операнды. Любые символьные имена представляющие некоторые адреса памяти конкретные значения которых определяются после загрузки программы в память на исполнение.

Счётчик адреса - это специфический вид операнда соответствующего текущему значению счётчика команд в процессе компиляции. Обозначается знаком $. Значение данного операнда равно адресу 1-го байта команды той строки в которой он использован. Регистровый операнд - это имя регистрового ресурса процессора.

Базовые и индексные операнды - используются для организации базовой и индексной операции (массива).

Структурные операнды и записи - используются для доступа к сложным элементам, либо к битовым полям в пределах байта.

  1. Арифметические действия на языке Ассемблер.

  1. Команды инкремента и декремента

Предназначены для быстрого увелечения/уменьшения на единицу регистровых операндов.

  • Inc BX = add BX,1

  • Dec BX = sub BX,1

Разрядность операции определяется типом операнда, который может быть 8,16,32-разрядный.

  1. Команды сложения и вычитания

Add позволяет выполнить сложение регистровых и других операндов.

ADD DL,AH

ADD DL,10

Оба операнда двухадресных команд должны иметь одинаковую разрядность.

Аналогично операция вычитания SUB.

  1. Умножение и деление.

В ядре процессора Intel MUL перемножает 8,16-биотвые операнды, создавая при этом 16,32-разрядные произведения. Для данной инструкции требуется указать только один операнд второй операнд должен находится в аккумуляторе. Старшая часть произведения будет размещаться в регистре D, а младшая в регистре A.

Пример: 5*8

MOV AL,5

MOV BH,8

MUL BH

MUL – беззнаковая команда.

IMUL – знаковая. В этом случае знаковый разряд операндов в процедуре умножения не участвует, а служит лишь для вычисления знака результата.

DIV – беззнаковое деление. Выполняет деление 16-разрядного на 8-разрядный операнды. В результате частное записывается в регистр AL, а остаток в регистр AH. Делитель всегда регистр DL, делимое – AX.

Пример: 51/10

MOV AX,51

MOV DL,10

DIV DL

;AL = 5, AH = 1.

IDIV - знаковое деление.

  1. Архитектура памяти процессоров i386: системные регистры.

Данные регистры предназначены для организации работы ОС. Бывают следующих типов:

  1. Управляющие(CR0,CR2,CR3 и др)

CR0 – разрешает защищённый режим, управляет страничной организацией памяти, управляет работой сопроцессора.

CR2 – содержит виртуальный (линейный) адрес при обращении к которому возникла ситуация отсутствия страницы в памяти.

CR3 – содержит адрес размещения таблицы страниц.

  1. Отладочные(DR0-DR3)

Содержит 4 независимых точки останова(условия вызова отладочного прерывания)

DR7 – регистр управления отладкой, в него заносятся типы точек останова(память/порт)

DR6 – регистр состояния отладки, содержит описание последней точки останова.

  1. Тестовый регистр страничной организации

TR6 – содержит виртуальный адрес, используемый страничными устройствами

TR7 – содержит физический адрес, используемый для тестирования устройства.

  1. Регистры защищённого режима.

IDTR – содержит базу и размер таблицы векторов прерываний.

GDTR – содержит базу и размер таблицы глобальных дескрипторов.

LDTR – содержит селектор сегмента таблицы локальных дескрипторов.

TS – содержит селектор сегмента, в котором располагается TSS для текущей задачи.

Для передачи управления от задачи к задаче используется специальный стек TSS, расположенный в основной памяти.

  1. Архитектура процессоров i386: виды адресации.

Операнды - объекты, на которые действуют инструкции или директивы, либо это объекты, которые определяют или уточняют действие инструкция или директив.

Возможна следующая классификация операндов:

постоянные (непосредственные) операнды - число, строка имя или выражение, имеющие

некоторое физическое значение. При этом операнд не должен зависеть от места

расположения программы в памяти (неперемещаемый операнд).

  1. адресные операнды.

  2. перемещаемые операнды.

  3. счетчик адреса, регистровый операнд, базовый и индексный операнды, структурные операнды, записи.

Постоянные (непосредственные) операнды - это число, строка имя или выражение, имеющие некоторое фиксированное значение. При этом операнд не должен зависеть от места расположения программы в памяти.

Адресные операнды - задают физическое положение операндов в памяти с помощью указания двух составляющих адреса: сегмента и смещения, пример: MOV AX, OOOOh

MOVDS,AX

MOV AX, DS: OOOOh

Перемещаемые операнды - это любые символьные имена представляющие адреса памяти, не привязанные жестко к расположению физической памяти. Сегментная составляющая адреса перемещаемого операнда в момент компиляции неизвестна и будет определена только после загрузки исполняемого файла в память для исполнения, пример: .DATA

DATA SEGVENT ; определяем сегмент с именем DATA

MAS DW 25 DIR(O) ; резервируем строку в памяти

CODE SEGMENT

LEA SI, MAS ; ДУФ - команда загрузки регистра SI

Счетчик адреса - это специфический вид операнда, эквивалентный смещению адреса соответствующего той строке, в которой расположен его символ ($). При использовании

данного типа операнда программист должен самостоятельно контролировать длину команд. В процессе компиляции данный символ или выражение с его участием будет заменено на постоянное значение, пример: JMP $+3 ; длина команды 2 байта

CLD ; длина команды 1 байт

MOVAL, lh

Регистровый операнд - в качестве такого операнда используется один из регистров общего назначения.

  1. Архитектура процессоров i386: регистровый состав.

Микропроцессор имеет 5 типов регистровых ресурсов.

  1. Регистры общего назначения (РОН)

Выделяют 8 РОН. Название каждого из РОН специфично для версии процессора или режима процессора. По нему можно узнать его разрядность:

E32-разрядные регистры

Х – 16-разрядные

Н – 8-разрядные

16-разрядные регистры могут быть представлены в виде старшего и младшего байта. Для старшего байта название регистра содержит суффикс Н, для младшего L.

32-разрядные регистры представляются (поделены) на старшую и младшую части, при чём доступ только к старшей части не возможен. Доступ к младшей половине 32-разрядных регистров осуществляется через мнемоники AX...BX. Регистры А,D,C,B – разделены на старшие и младшие байты.

AH+AL=AX

Общего назначения, потому что назначение определяется программистом. РОН используются программистом произвольно, однако каждый из них имеет специализацию, позволяющую программисту использовать процессор более эффективно.

1.Регистр А – регистр аккумулятор или накопитель. Схемотехнически максимально приближён к АЛУ. Используется в большинстве операций.

2. Регистр D – регистр данных, используется как регистр-дополнение к аккумулятору для операций предполагающих результат или один из операндов двойной разрядности (умножение, деление).

3. Регистр С – регистр счётчик, оснащён аппаратным декрементом -1, а также анализом значений регистра.

4. Регистр В - составляет с регистром ВР составной регистр базы, использующийся для базовой адресации.

5. Регистр ВР – содержит указатель базы, который не разделяется на старшую и младшую части.

6. Регистр SI – индексный регистр для указания адреса источника при выполнении команд со строками.

7. Регистр DIуказывает адрес приёмника строк.

8. Регистр SPсодержит указатель на дно стека, в памяти выделяется стек.

  1. Сегментные регистры. Для управлении памятью используются сегментные регистр. Они частично решают проблемы связанные с принципом хранимой программы Фон - Неймана.

  2. Указатели команд и флаги

  3. Системные регистры. Данные регистры предназначены для организации работы ОС

  4. Модель – специфичные регистры. Назначение данных регистров может измениться от версии процессора к версии.

Аббревиатура MSR х. Данный регистры служат для мониторинга состояния процессора. Например: Существует модель специфичный регистр ведущий подсчёт количества выполненных команд. В доли поздних версий процессора данный регистр используется для хранения временной метки специального численного времени процессора.

  1. Архитектура процессоров i386: сегментация памяти, сегментные регистры, их дескрипторы.

Для управления памятью используются сегментные регистры, они частично решают проблемы, связанные с принципом хранимой программы.

Принцип Фон Неймана: к данным можно адресоваться как к командам, а к командам как к данным.

Общая память машины разделяется на три типа сегментов.

  1. Сегменты кода, содержащие коды программ (команды).

  2. Сегменты данных

Процессор не может рассматривать информацию в сегменте данных как команды.

3. Сегмент стека

Отводится только под стек.

Расположение сегментов в общем пространстве адресов выполняется с помощью 16-разрядных селекторов сегментов.

CS – селектор кодового сегмента (команда).

SS – селектор стекового сегмента.

DS – селектор сегмента данных.

ES,FS,GS – также селекторы сегмента данных.

Сегменты в памяти компьютера могут перекрываться или совпадать, т.е. CS,DS,SS определяют один и тот же сегмент. Переадресация элемента внутри сегмента к содержимому селектора сегмента определённым образом добавляется 32-разрядный относительный адрес.

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

CS

15 0

7 0

23 0

15 0

SS

DS

ES

FS

GS

IV III II I

I-я область ­ граница сегмента используется для обработки события выхода за его пределы.

II-я область ­ базовый адрес сегмента содержит 24-битную информацию об адресе начала сегмента.

III-я область ­ байт прав доступа к содержимому сегмента.

IV-я область ­ дополнительная информация. Эта область зарезервирована.

  1. Виды и стили элемента управления ComboBox.

Является комбинацией поля ввода и списка, характеризуется стилем и типом. Тип определяет является ли ComboBox раскрывающимся списком и/или имеет возможность редактирования.

В первом случае мы имеем возможность выбора только из существующих полей.

Тип ComboBox

Drop-Down List

Edit Control

Drop-Down ComboBox

+

+

Drop-Down ListBox

+

-

Simple ComboBox

-

+

Элемент управления COMBOBOX и его стили.

CBS_DROPDOWN

соответствует DropDown ComboBox

CBS_DROPDOWNLIST

соответствует DropDown ListBox

CBS_SIMPLE

соответствует Simple ComboBox

CBS_UPPERCASE

все элементы выполнены большими буквами

CBS_SORT

сортировка

CBS_NOINTEGRALHEIGHT

определяет автоматический выбор длины ниспадающего списка.

  1. Виды и стили элемента управления ListBox.

Элемент управления ListBox (далее – лист) предназначен для создания списка строк. Его можно использовать, например, для отображения имён файлов, каких-либо параметров или свойств, которые можно выбрать, используя мышку или клавиатуру. Выбранная строка подсвечивается, а родительскому окну посылается сообщение. Также можно использовать в листе горизонтальные и вертикальные полосы прокрутки для просмотра большого объёма данных, не помещающихся в окне листа. ListBox автоматически отображает или скрывает полосы прокрутки, когда это необходимо.

Создать этот элемент можно с помощью функций CreateWindow , которая используется также для создания множества других элементов управления и разных типов окон.

Стили элемента управления ListBox:

Стиль Описание

LBS_DISABLENOSCROLL……………….. Отображает выключенную вертикальную полосу прокрутки, когда лист не содержит достаточно элементов для прокрутки. Без этого стиля полосы прокрутки спрятаны, если лист не содержит достаточное количество элементов.

LBS_EXTENDEDSEL……………………… Позволяет выделять несколько элементов с помощью клавиши SHIFT и мыши или специальной комбинации клавиш.

LBS_HASSTRINGS………………………… Указывает на то, что лист содержит в качестве элементов строки. ListBox обслуживает память и адреса для строк так, чтобы приложение могло использовать сообщение LB_GETTEXT для получения конкретной строки. По-умолчанию, все листы, кроме родительских, имеют этот стиль. Вы также можете создавать родительские листы с этим стилем или без него.

LBS_MULTICOLUMN…………………….. Создаёт лист из нескольких колонок с горизонтальной прокруткой. Сообщение LB_SETCOLUMNWIDTH устанавливает ширину колонок.

LBS_MULTIPLESEL……………………………….. Даёт возможность выбрать любое количество строк. На строке устанавливается или снимается выделение, когда пользователь делает обычный или двойной щелчок на элементе листа.

LBS_NODATA……………………………………….. Чистый лист.

LBS_NOINTEGRALHEIGHT……………………… При создании списка его размер определяется равным размеру, который задан приложением. Обычно Windows задаёт размеры листа такими, чтобы он не отображал элементы частично.

LBS_NOREDRAW…………………………………… Если задан такой стиль, то при внесении изменений изображение элемента управления класса LISTBOX не изменится. Вы можете в любое время изменить этот стиль, послав сообщение WM_SETREDRAW.

LBS_NOSEL…………………………………………. Лист с таким стилем может отображать элементы, но они не могут быть выбраны.

LBS_NOTIFY………………………………………… .Если пользователь сделает обычный или двойной щелчок на строке списка этого стиля, то родительское окно получит сообщение.

LBS_OWNERDRAWFIXED………………………... За перерисовку содержимого списка этого стиля отвечает окно-владелец; все элементы списка имеют одинаковую высоту. Родительское окно получает сообщение WM_MEASUREITEM, когда создаётся лист, и сообщение WM_DRAWITEM, когда меняются координаты или размеры листа.

LBS_OWNERDRAWVARIABLE…………………... За перерисовку содержимого списка этого стиля отвечает окно-владелец; в отличие от стиля LBS_OWNERDRAWFIXED, элементы списка могут быть разной высоты. Родительское окно получает сообщение WM_MEASUREITEM для каждого элемента в combo box, когда создаётся лист, и сообщение WM_DRAWITEM, когда меняются координаты или размеры листа.

LBS_SORT…………………………………………… С этим стилем строки сортируются в алфавитном порядке.

LBS_STANDARD…………………………………….. Строки в элементе управления класса LISTBOX сортируются в алфавитном порядке. Когда пользователь делает обычный или двойной щелчок на строке, родительскому окну посылается сообщение. Элемент управления класса LISTBOX обладает вертикальной полосой прокрутки и рамками.

LBS_USETABSTOPS………………………………... Списку позволяется распознавать и отображать все символы табуляции при выводе строк. По умолчанию одной позиции табуляции соответствуют 32 единицы масштабирования. С помощью функции GetDialogBaseUnitsO приложение может получить величину текущей базовой единицы масштабирования в пикселях. Одна единица диалога по горизонтали равняется одной четвертой текущей базовой единицы масштабирования. Базовые единицы масштабирования вычисляются на основании высоты и ширины текущего системного шрифта.

LBS_WANTKEYBOARDINPUT…………………… Если пользователь нажимает клавишу и список этого стиля обладает фокусом ввода, то владелец списка получает сообщения WM_VKEYTOITEM и WM_CHARTOITEM.

  1. Виды файловых систем CD.

ISO 9660. В 1988 был принят Международный стандарт ISO 9660 (International Organization for Standardization, ISO), описывающий файловые системы для CD-ROM. Этот стандарт был создан на основе спецификации High Sierra (названной так по месту проведения встречи, с которой началась разработка технологии CD-ROM в ноябре 1985 года) и в принципе совпадал с основными положениями HSG. Он определяет логическую и файловую структуру записей диска CD-ROM. Практически каждый продающийся сегодня CD-ROM соответствует стандарту ISO 9660, иногда согласуясь с его расширениями, которые будут обсуждаться ниже. Одно из назначений этого стандарта заключалось в том, чтобы любой CD-ROM мог быть прочитан на любом компьютере, независимо от используемых байтового порядка и операционной системы. Как следствие, на файловые системы были наложены определенные ограничения, которые должны были позволить читать эти диски даже самым слабым из использовавшихся тогда операционных систем (таким как MS-DOS).

Базовый формат, предложенный в HSG-спецификации, во многом напоминал формат флоппи-диска. Как известно, системная дорожка (трек 0) любой дискеты не только идентифицирует сам флоппи-диск (его плотность, тип используемой операционной системы), но и хранит информацию о том, как он организован по директориям, файлам и поддиректориям. Инициирующая дорожка данных на компакт-диске начинается со служебной области, необходимой для синхронизации между приводом и диском. Далее расположена системная область, которая содержит сведения о структурировании диска. В системной области находятся также директории данного тома с указателями или адресами других областей диска. Существенное различие между структурой компакт-диска и, например, дискетой заключается в том, что на CD системная область содержит прямой адрес файлов в поддиректориях, что должно облегчить их поиск.

Стандартом ISO 9660 определены так называемые три уровня. На уровне 1 (ISO 9660 Level 1) применяются самые жесткие ограничения. Имена файлов ограничиваются уже описанной выше схемой 8 + 3, а имена каталогов могут состоять из восьми символов и не могут иметь расширений. Символы, допустимые в именах файлов включают заглавные английские буквы от А до Z, цифры от 0 до 9 и символ подчеркивания (underscore symbol "_"). Имена файлов не могут содержать специальных символов (“~”, “-”, “+”, “=”). Файлы записываются непрерывно в виде последовательности смежных секторов, а уровень вложенности каталогов не может быть более 8. Файловая система ISO 9660 Level 1 является наиболее универсальной, т.е. может читаться различными операционными системами (MS DOS, MS Windows 3.1/95/98/2000/NT, UNIX, МасОS и др.). Кроме того, уровень 1 требует, чтобы все файлы были непрерывными. Использование этого уровня обеспечивает совместимость CD-ROM с самым широким спектром систем.

Уровень 2 (ISO 9660 Level 2) ослабляет ограничение на длину имени. Он позволяет файлам и каталогам иметь имена до 31 символа, но из того же набора символов, включая пробелы и русские буквы. Уровень 2, как и предыдущий уровень не позволяет фрагментировать файлы.

На уровне 3 (ISO 9660 Level 3) используются те же ограничения имен, что и на уровне 2, но ослабляется жесткость непрерывности файлов. На этом уровне файл может состоять из нескольких разделов, каждый из которых представляет собой непрерывную последовательность блоков. Одна и та же последовательность блоков может несколько раз встречаться в одном файле и даже входить в несколько различных файлов. Такая организация файловой системы позволяет экономить место на диске. В дополнение к стандарту ISO 9660 Level 3 позволяет фрагментировать файлы, т.е. записывать их в несмежные сектора. Это может случиться, например, при работе программ, использующих режим пакетной записи на компакт-диск (Packet Writing). Уровень 3 дополнительно разрешает прерывистую запись файлов - например, в случае пакетной записи в несколько этапов. Файловое оглавление сессии (VTOC - Volume Table Of Contents) записывается в начале дорожки обычными блоками данных, в отличие от TOC диска, записываемого в субканале Q зоны Lead In.

Rock Ridge. Как было показано, стандарт ISO 9660 содержит много различных ограничений. Вскоре после выхода этого стандарта пользователи из UNIX-сообщества начали работу над его расширением, чтобы файловая система UNIX могла быть представлена на CD-ROM. Эти расширения получили название Рок-Ридж (Rock Ridge) по городу из фильма Джина Уайлдера Blazing Saddles (Огненные седла), вероятно, потому, что этот фильм нравился одному из членов комитета. Таким образом, файловая система Rock Ridge является расширением стандарта ISO-9660 для UNIX-подобных операционных систем и может также читаться на персональных компьютерах Макинтош (Macintosh). Операционные системы MS DOS и MS Windows эту файловую систему не поддерживают.

Расширение использует поле System use, чтобы CD-ROM формата Rock Ridge мог читаться на любом компьютере. Все остальные поля соответствуют требованиям стандарта ISO 9660. Система, не знакомая с расширениями Rock Ridge, просто игнорирует их и видит нормальный CD-ROM.

Joliet. Сообщество UNIX было не единственной группой, которой требовалось расширение стандарта ISO 9660. Корпорация Microsoft также пришла к выводу, что стандарт ISO 9660 содержит слишком много ограничений (хотя большинство ограничений было вызвано в первую очередь требованием совместимости с файловой системой MS-DOS фирмы Microsoft). Поэтому корпорация Microsoft разработала некоторые расширения, названные Joliet. Они должны были позволить копировать на CD-ROM-диск и восстанавливать с него файловую систему Windows подобно тому, как расширения Rock Ridge позволяли работать с файловой системой UNIX. Теоретически все программы, работающие в операционной системе Windows и использующие CD-ROM, включая программы записи на CD-R, поддерживают расширение Joliet.

Основными расширениями, содержащимися в Joliet, являются:

  1. Длинные имена файлов.

  2. Набор символов Unicode.

  3. Глубина вложенности каталогов, превышающая восемь уровней.

  4. Имена каталогов с расширениями.

Версии Windows NT до 3.51 build 1057 не поддерживают чтение длинных имен файлов Joliet. Windows NT 4.0 полностью поддерживает Joliet.

Romeo. Стандарт Romeo предоставляет другую возможность записи файлов с длинными именами на компакт-диск. Длина имени может составлять 128 символов, включая пробелы. Этот вариант не является частью стандарта Joliet, не поддерживаются символы Unicode. Альтернативные имена в этом стандарте не создаются, поэтому программы MS-DOS не смогут прочитать файлы с такого диска.

Стандарт Romeo можно выбрать только в том случае, если диск предназначен для чтения приложениями Windows 9x и Windows NT. Если ограничить длину имен файлов 31 символом, компакт-диск Romeo будет читаться и в компьютере Macintosh. Также при записи для максимальной совместимости имена файлов и директории преобразуются в верхний регистр.

Hierarchical File System (HFS). Иерархическая файловая система компьютеров Macintosh не совместима ни с какими другими файловыми системами и называется Hierarchical File System (HFS). Такая файловая система может быть создана и на компакт-диске. HFS это файловая система, используемая в Macintosh. Она используется вместо ISO 9660, и таким образом не работает на системах без поддержки HFS. Сегодня единственные платформы, на которых возможно чтение HFS дисков, это  Macs, Amigas (со специальной программной поддержкой AmiCDROM) и Apple IIgs. Некоторые программы записи CD дисков могут создавать смешанные (hybird) CD на которых есть как ISO 9660, так и HFS файловые системы. В частности, можно создать компакт-диск, который будет читаться в операционной системе компьютеров Macintosh, Apple II, и Amiga.

UDF. Перезаписываемый диск CD-RW может иметь такую же структуру дорожек и файловую систему, что и CD-R, либо на нем может быть организована специальная файловая система UDF (Universal Disk Format - универсальный дисковый формат), позволяющая динамически создавать и уничтожать отдельные файлы на диске. Стандарт файловой системы UDF специально предназначен для записи оптических дисков. Диски с файловой системой UDF читаются операционными системами MS Windows/95/98/2000/NT. Файловая система UDF позволяет записывать файлы на CD-RW “болванку”, прямо “на лету”. То есть вы можете использовать CD-RW как жесткий диск. Для работы UDF желателен драйвер DirectCD (есть в составе программного комплекса Roxio Easy CD Creator). После чего CD-RW можно отформатировать в UDF и совершенно свободно производить запись любых файлов. Минусы UDF - пропадает не мало места на диске. Без драйвера Direct CD прочитать диск невозможно.

Файловая система UDF (Universal Disk Format) была создана для DVD и учитывает его большую емкость и скорость. Ведь стандарт ISO 9660 был создан еще в 1988 году, и совершено не годился для нового носителя информации из-за ограничений на объем и размещение данных. Изначально основной задачей UDF была лишь непрерывность видеопотока и совместимость с обычной файловой системой (так называемой Bridged UDF, в которой видеопотоки записывались в двух видах: UDF и ISO 9660). В последующих версиях системы добавилась поддержка записи на CD-R и CD-RW диски. Это было большим шагом вперед для обычных пользователей. Появился реальный конкурент ZIP-дискам и магнитооптике. Преимущества нового стандарта записи:

  1. Низкая стоимость носителей и устройства записи;

  2. Возможность перезаписи/удаления "на лету";

  3. Удобство записи, сравнимое с пользованием дискеты или любого другого сменного носителя информации;

  4. Более эффективное использование дискового пространства;

  5. Более быстрый доступ к информации;

  6. Надежность сохранности данных, как у обычных CD-R дисков;

  7. Самое главное - возможность чтения таких дисков на обычном CD-ROM приводе (он должен быть выпущен не раньше 1998 года).

Стандарт UDF облегчает создание дисков, которые могут использоваться при работе с несколькими операционными системами, включая DOS, Windows, OS/2, MacOS и UNIX. Когда в этих операционных системах будет осуществлена поддержка UDF (с помощью новых драйверов или расширений), они смогут распознавать любой диск DVD. Фактически UDF “абстрагирует” такие специфические особенности операционных систем, как соглашения об именах файлов, атрибутах файлов, побайтовая структура (byte ordering). Конечно, исполняемые программы будут работать только под правлением какой-то одной операционной системы (однако данные можно переносить с одной платформы) на другую. Следует отметить, что, даже если поначалу поддержка стандарта UDF будет обеспечена не во всех операционных системах, первые диски DVD-ROM могли бы стать своеобразным переходным звеном, так как на них можно размешать относящиеся к одним и тем же данным файловые структуры UDF и ISO 9660 (стандарт для дисков CD-ROM). В то же время видеоплейеры DVD смогут распознавать только диски, соответствующие специальному "подстандарту" UDF, а именно MicroUDF. По сути, это тот же UDF, но им предусмотрено, что видеоплееры ищут нужные файлы в сигнальном каталоге. Это позволяет разработчикам размещать на одном диске как видео, для просмотра которого необходима обыкновенная 6ытовая видеодека, так и данные для компьютеров, для чтения которых требуется дисковод DVD-ROM. Большим достижением в обеспечении совместимости в технологии DVD стала принятая в 2000 году единая файловая система MicroUDF. Файловая система MicroUDF - это адаптированная для применения в DVD версия файловой системы UDF (Universal Disk Format), которая, в свою очередь, основана на международном стандарте ISO 13346. Эта файловая система постепенно идет на смену устаревшей ISO 9660, созданной в свое время для использования в компакт-дисках. На переходный период (пока не выйдут из обращения компьютерные устройства и диски, работающие в формате ISO 9660) будет использоваться файловая система UDF Bridge, которая является некоторой комбинацией MicroUDF и ISO 9660. Для записи Audio/Video DVD дисков может использоваться только MicroUDF.

  1. Виды файловых систем.

Наиболее распространенные на сегодняшний день файловые системы - это: FAT, VFAT, FAT32, HPFS (High Performance File System), NTFS (New Technology File System), EXT2FS (Second Extended File System) и EXT3FS, BeFS, FFS (Fast File System) AMIGA, FFS BSD, NFS (Networked File System), FAT

Эта файловая система была разработана вместе с первой версией DOS и предположительно является работой Билла Гейтса. FAT - это очень простая файловая система, которая представляет собой одиночный связанный список кластеров. Такие файловые системы используют очень мало памяти и являются самыми простыми из существующих.

Распространены две основные версии FAT - FAT12 и FAT16. Первая из них разработана для дискет и может обслуживать диски размером не более 16мбайт, поскольку использует 12-битные номера кластеров. FAT16 была разработана для самых первых жестких дисков и максимальный размер диска для нее составляет 64кб*размер_кластера. Чем больше жесткий диск, тем больше должен быть кластер, что влечет за собой большие потери свободного места. Как FAT12, так и FAT16 имеют ограничение "8.3" для имен файлов и ограниченную поддержку атрибутов файлов.

VFAT. VFAT - расширение FAT, в котором добавилась возможность использовать длинные имена файлов (до 255 символов). Впервые введена в Windows 95

FAT32 Впервые введена в Windows 95 OSR2 и Windows 98. FAT32 избавился от некоторых проблем старой FAT. Как и следует из название, FAT32 использует 32 битные номера кластеров, т.е. - позволяет иметь около 4 миллиардов кластеров на раздел. Это позволяет использовать достаточно небольшой размер кластеров даже для больших дисков.

HPFS (High Performace Filesystem) HPFS была создана IBM и Microsoft для системы OS/2. Предполагалось, что эта система будет быстрой, поддерживающей длинные имена файлов, небольшие размеры кластеров, не имеющей проблем с дефрагментацией и поддерживающей больше атрибутов. HPFS, являясь предшественницей NTFS, является по сути дела NTFS минус атрибуты безопасности. Вместо того, чтобы хранить цепочки кластеров в связанном списке, HPFS сохраняет всю информацию в сортированном B-дереве, что значительно ускоряет поиск файлов.

HPFS - представитель семейства "inode" - файловых систем, в противопоставление FAT-семейству. Другие примеры inode: NTFS, ext2fs и большинство файловых систем, используемых в UNIX'ах. Вместо того, чтобы хранить таблицы директорий и другие дескрипторы в начале диска, HPFS размещает их по всему диску через определенные интервалы, поэтому для того, чтобы прочитать таблицы, головки диска должны добраться до ближайшей таблицы, а не до начала диска.

NTFS (New Technology Filesystem) NTFS - родная файловая система ОС Windows NT. Она очень похожа на HPFS, но поддерживает атрибуты безопасности, такие как контроль доступа. Поскольку Windows NT полностью Unicode, NTFS - тоже Unicode, т.е. каждый символ представляется двумя байтами. Кроме атрибутов безопасности, NTFS добавляет к HPFS и другие возможности. Во первых - это повышенная надежность - при использовании HPFS стирание кластера в нужном месте могло сделать весь диск недоступным. Во вторых - добавлена поддержка нескольких твердых ссылок на файл. В третьих - NTFS может использовать различные размеры сектора и поддерживает более одного кластера на сектор.

ext2fs (Second Extended Filesystem) ext2fs - родная файловая система ОС Linux. Она является еще одним примеров inode-файловых систем. Раздел ext2fs составлен из блоков, каждый из которых обычно имеет размер 1кб. Первый блок (загрузочный) обнулен, все остальные разделены на группы блоков (обычно от 256 до 8192 блоков в каждой). Каждая группа блоков содержит:

1. Копию суперблока. 2. дескрипторы ФС, 3. карту блоков, 4. карту inode, 5. блоки данных, на которых ссылаются inode.

Первый inode - особенный, он содержит список всех поврежденных блоков, пятый inode содержит загрузчик, а одиннадцатый - корневую директорию.

ext3fs (Third Extended Filesystem) Журнальная файловая система, по сути - то ext2fs с добавленным логгированием операций ввода/вывода.

BeFS Используется в BeOS. Очень похожа на файловую систему MacOS, является 64-битной файловой системой.

FFS (Amiga) Используется ОС Amiga DOS.

FFS (BSD) Обычно используется операционными система FreeBSD, NetBSD и т.п.

NFS Разработана Sun Microsystems. Широко распространилась, благодаря простоте реализации. Оборотная сторона медали - это плохое быстродействие и практически полное отсутствие безопасности. Она хорошо подходит для read-only доступа, но если использовать ее например для совместного доступа к базе данных, то проявляется крайняя ненадежность NFS - например, если одновременно два клиента ведут запись в файл базы данных, то информация одного из них будет потеряна. Многие проблемы были разрешены в новых версиях

NetWare. Операционная система NetWare всегда была оптимизирована для использования сетевого сервера, чего нельзя сказать об операционных системах общего назначения, таких как Unix, Windows NT, OS/2, Macintosh и DOS. Файловая система NetWare во многом отличается от файловых систем, предлагаемых данными операционными системами. Это включает в себя несколько ключевых моментов, в том числе обеспечение целостности данных в NetWare и высокой производительности, а также удивительную емкость файловой системы NetWare.

При создании файловой системы NetWare были запроектированы следующие цели (которые перечислены в порядке их важности):

1. сохранение целостности данных;

2. достижение высокой производительности;

3. обеспечение емкости на уровне файловой системы большой ЭВМ;

4. предоставление приложениям широкого диапазона услуг.

Ядро файловой системы операционной системы NetWare 4.0 включает в себя программы, перенесенные из NetWare 3.x. Таким образом, большинство интерфейсов API файловой системы NetWare 4.0 обладает обратной совместимостью с NetWare 3.1 и старше. Однако, файловая система NetWare 4.0 предлагает несколько новых возможностей.

EFS (Encrypting file system) Шифрующая файловая система это тесно интегрированная с NTFS служба, располагающаяся в ядре Windows 2000. Ее назначение: защита данных, хранящихся на диске, от несанкционированного доступа путем их шифрования. Появление этой службы не случайно, и ожидалось давно. Дело в том, что существующие на сегодняшний день файловые системы не обеспечивают необходимую защиту данных от несанкционированного доступа.

Возникает вопрос: а как же, к примеру, файловая система NTFS, которая обеспечивает разграничение доступа и защиту данных от несанкционированного доступа. Но файловая система NTFS не может обеспечить безопасность в том случае, когда доступ к разделу NTFS осуществляется не с помощью средств операционной системы, а напрямую, на физическом уровне. А это сравнительно легко реализовать, например, загрузившись с дискеты и запустив специальную программу: например, весьма распространенную ntfsdos. Конечно можно задать пароль на запуск системы, однако такая защита малоэффективна, особенно в том случае, когда за одним компьютером работают сразу несколько пользователей. А если не исключена возможность извлечения жесткого диска из компьютера, то здесь уже не помогут никакие пароли. Подключив диск к другому компьютеру, его содержимое можно будет прочитать без особых проблем. Таким образом, можно свободно овладеть конфиденциальной информацией, которая хранится на жестком диске.

Единственный способ защиты от физического чтения данных это шифрование файлов. Простейший случай такого шифрования - архивирование файла с паролем. Однако здесь есть ряд серьезных недостатков. Во-первых, пользователю требуется каждый раз вручную шифровать и дешифровать (то есть, в данном случае архивировать и разархивировать) данные перед началом и после окончания работы, что уже само по себе уменьшает защищенность данных. Пользователь может забыть зашифровать (заархивировать) файл после окончания работы, или просто оставить на диске копию файла. Во-вторых, пароли, придуманные пользователем, как правило, легко угадываются. В любом случае, существует достаточное количество утилит, позволяющих распаковывать архивы, защищенные паролем. Как правило, такие утилиты осуществляют подбор пароля путем перебора слов, записанных в словаре.

Система EFS была разработана с целью преодоления этих недостатков

  1. Диверсификация и N-кратный просчет.

Способы реализации гарантоспособных вычислений

1. n-кратное программирование – диверсификация.

Метод заключается в создании нескольких версий ПО, выполняющих одну и ту же прагматическую задачу. При написании этих программ возможны варианты:

  • выбор различных языков программирования

  • коллектив программистов

  • написание алгоритмов различной сложности

А1, А2, А3 – алгоритмы.МЭ – мажорирующий элемент – это программа, осуществляющая выбор на основании анализа результатов работы группы конкурирующих программ А1-А3, наиболее соответствует прагматике решения, количество конкурирующих программ нечётное.

  1. n- кратный просчёт алгоритма

Данный метод позволяет защититься от нарушений хода вычислительного процесса, связанных с коротковременными внешними возмущениями.

Rt1 – результат в момент времени t1.

  1. Директивы резервирования памяти в ассемблере.

db – резервирование памяти данных размером 1 бит.

dw – резервирование для данных размером 2 байт.

dd – резервирование для данных размером 4 байт

dq – резервирование для данных размером 8 байт.

df – резервирование для данных размером 6 байт.

dp – резервирование для данных размером 6 байт.

dt – резервирование для данных размером 10 байт.

  1. Директивы сегментации в ассемблере: Model.

Опираются на наличие типовых моделей памяти программ.

модель

тип кода

тип данных

назначение

TINY

Near

near

код и данные определены в одну группу DGROUP. Используется для создания com программ.

SMALL

Near

near

Код занимает отдельный сегмент а все данные объединены в группу DGROUP. Самая распространенная модель.

MEDIUM

Far

near

Характерно для программ, содержащих объёмные коды и небольшое количество данных. Код располагается в нескольких сегментах, а данные в одном.

COMPACT

Near

far

Характерно для программ, работающих с большим объёмом данных. Код в одном сегменте; данные располагаются в нескольких сегментах

LARGE

Far

far

Код состоит из нескольких сегментов как и данные.

Дальний тип(far) состоит в том, что программист должен указать адрес сегмента и смещение в нём, для адресации к данным или командам. При адресации внутри одного сегмента возможно использование типа near(ближний), что означает использование лишь смещения.

Директива указания модели памяти.

MODEL ТИП MODEL LARGE

Упрощенные директивы определения сегмента.

1) .CODE [имя] – начало или продолжение сегмента кода

2) .DATA – начало или продолжение сегмента данных(модель SMALL)

3) .CONST – начало или продолжение сегмента констант

4) .DATA ? – начало или продолжение неинициализированных данных

5) .STACK [размер] – начало или продолжение сегмента стека модуля

6) .FAR DATA – начало или продолжение сегмента инициализированных данных типа far

7) .FAR DATA ? – начало или продолжение сегмента неинициализированных данных типа far

.DATA

L1 BB

.CODE Prog

MOV AL,L1

.DATA

  1. Директивы сегментации в ассемблере: Segment.

Имя

Тип вырав

нивания

Тип комби

нирования

Класс

сегмента

Тип разме

ра сегмента

.

.

Имя

.

.

Тип выравнивания показывает с какого элемента начинается адресация в сегменте.

  • BYTE – с любого адреса(работает медленнее)

  • WORD – сегмент начинается с адреса кратного 2(младший бит адреса равен 0)

  • DWORD – выравнивание по двойному слову(кратно 4, младшие биты адреса равны 00)

  • PARA – выравнивание по элементу 16 байт,наиболее распостранённый тип(0000)

  • PAGE – по элементу в 256 байт(00000000)

  • MEMPAGE – по элементу в 4 Kb

Тип комбинирования.

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

  • PRIVATE – сегмент не будет объединяться с другими сегментами данного имени вне файлах

  • PUBLIC – опеределяет сегменты, которые будут слиты линковщиком в единый сегмент(сегменты имеют одинаковое имя)

  • COMMON – располагает все сегменты с одним именем по одному адресуемое

  • AT xxx – команда заставляет расположить данный сенмент строго по адресу ххх.

  • STACK – создаёт сегмент стека. В сегмент стека объединятются все сегменты стека.

Атрибут класса сегмента.

Это текстовая строка(заключается в кавычки), определяющая порядок сборки сегментов из нескольких модулей.

Атрибут размера сегмента имеет 2 значения:

USE16

USE32

Что соответствует 16 и 32-битной адресации или 64кб и 4Гб сегменту.

Имя сегмента

СС

В блоке СС указывается Селектор Сегмента, который будет связан директивой ASSUME с конкретным сегментом, если указано имя сегмента, или, если указано nothing, любые назначения указанные до этого будут отменены.

DATA1 SEGMENT

M1 db 0

DATA1 ENDS

CODE1 SEGMENT

MOV AL,1

CODE1 ENDS

ASSUME CS:CODE1,DS:DATA1

  1. Жизненный цикл ПО.

Стадии жизненного цикла pазpаботки пpогpамм

ЖЦРП может сильно отличаться от пpоекта к пpоектy и от

pyководителя пpоекта к pyководителю пpоекта. Однако, обычно

он состоит из следyющих стадий:

  • Анализ пожеланий и требований заказчика

  • Уточнение фyнкциональных хаpактеpистик

  • Создание технического пpоекта (технического задания)

  • Реализация

  • Системное тестиpование

  • Послеpеализационный обзоp

  • Сопpовождение

Сyществyет большое количество пpеимyществ использования стpyктypного

подхода к пpоектиpованию и pазpаботке, многие из котоpых основываются на следyющих высказываниях: пеpегpyзка пpоекта, задеpжки pеализации, пpоблемы сопpовождения и повтоpное

изобpетение колеса.

Hезависимые консyльтанты обычно концентpиpyют внимание на стоимости

пpоекта. Часто они не пpинимают в pасчет затpаты на пpоведение системного анализа и pазpаботкy пpоекта и дают непpавильнyю оценкy вpемени pеализации данного пpоекта. Хотя известно, что необходимо выполнить детальный анализ задачи пеpед тем, как пpоект бyдет yтвеpжден, пользователи не склонны затpачивать дополнительные сpедства на исследование.

К сожалению, это часто пpиводит к большомy количествy затpyднений в пpоцессе pазpаботки, а иногда к pазваливанию всего пpоекта.

  • Пpедваpительный анализ

Вы должны быть yвеpены, что имеете всю необходимyю инфоpмацию о клиенте, пpежде чем возьметесь за pеализацию пpоекта.

  • Что система должна делать?

  • Модели данных и словаpи

Важно, чтобы данные, обpабатываемые в пpиложении, были

выделены и опpеделены в понятиях, достyпных как конечным

пользователям, так и команде pазpаботчиков.

  • Безопастность и yпpавление

  • Платфоpма и окpyжение

  • Удостовеpьтесь, что пользователи понимают значение:

' Скоpости

' Безопасности

' Внешней пpивлекательности

' Пpостоты использования

' Размеpа данных и способа их оpганизации

  • Пpиложения для общего pынка

  • Пpиложения для веpтикального pынка

  • Пользовательские пpиложения

  • Что ожидают от Вас конечные пользователи?

  • Hеобходимо обpатить внимание на следyющие аспекты:

' Hачальное обследование и составление технического задания

' Инсталляция

' Обyчение

' Поддеpжка

' Помощь в эксплyатации

  • Анализ пожеланий и тpебований заказчика

Hовая техника

Дpyгой общей пpоблемой совpеменных жизненных циклов pазpаботки

пpогpамм является непpиемлимое вpемя междy начальным запpосом

на создание пpоекта и концом pазpаботки фyнкциональной

спецификации. Сегодняшний миp бизнеса очень динамичен.

Тpебования к системе могyт измениться за вpемя начального

обследования, выяснения пожеланий и тpебований заказчика и

составления фyнкциональной спецификации. Чтобы отслеживать

данные ситyации, необходимо пpименять совpеменнyю техникy

создания пpиложений и инстpyментальных сpедств.

Быстpое макетиpование - метод пpоектиpования, pазpаботки и изменения

интеpфейсов пользователя ■на летy■. Конечные пользователи

должны тесно включаться в данный пpоцесс, посколькy

pазpаботка интеpфейса вместе с пользователем пpоисходит

значительно быстpее, нежели без него. Использование

совместной pазpаботки дает возможность ■подогнать■ интеpфейс

под пользователя за несколько коpотких сессий.

Computer Aided Software Engineering (CASE) сpедства также

игpают огpомнyю pоль в сегодняшних инстpyментальных сpедствах

pазpаботки пpиложений. С мощными CASE-сpедствами пpоцесс

pазpаботки пpиложений заметно yпpощается. Пpоектиpовщик

использyет пpогpаммные сpедства для создания и компоновки

словаpей данных, потоков данных и диагpам объекта, а в

некотоpых слyчаях пpототипов пpоцессов обpаботки данных и

фyнкционального кода.

Однако, использование CASE-сpедств pазpаботки пpиложений не

очень pаспpостpанено в сфеpе pазpаботки пpомышленных

пpиложений. Это пpоисходит по двyм пpичинам. Во-пеpвых, это

огpаниченность возможностей CASE-систем. Любая система

автоматезиpованного пpоектиpования обладает своей спецификой

и никогда не отpажает всех тpебований того или иного

пользователя на 100 %. Во-втоpых, если CASE-система

достаточно мощна и многофyнкциональна, то она тpебyет больших

вpеменных затpат на ее освоение. А посколькy большинство

пpоектов имеют тенденцию быть ■завеpшенными вчеpа■, то

необходимое вpемя не может быть выделено.

В конце данной стадии, если Вы написали хоpошyю, легко

понимаемyю, не пеpегpyженнyю и не пyстyю фyнкциональнyю

спецификацию, системный аналитик или техническая гpyппа

сможет пеpейти к следyющей стадии - созданию технической

спецификации - основываясь на инфоpмации, полyченной на всех

пpедыдyщих стадиях.

  1. Задачи, решаемые программистами различных уровней.

Типы задач:

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

функциональные - задачи, требующие решения при реализации функций управления врамках конкретных прикладных областей.

  1. Защитное программирование.

В основу защитного программирования положен принцип использования дополнительных программных модулей, анализ входных и выходных данных.

Анализаторы входных и выходных данных предназначены для контроля соответствия данных системной спецификации и конкретной прагматике.

Блок логического вывода на основе результата анализа решает выдавать результаты расчёта или нет.

Недостатки:

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

Надёжность – это произведение надёжности отдельных элементов.

  1. Инкапсуляция данных в объектах.

Программные объекты, согласно ООП, имеет два основных свойства – инкапсуляция и наследование. Классическое правило ООП утверждает, что для обеспечения надежности нежелателен прямой доступ к данным, заключенным в объекте. Чтение и обновление их содержимого должно производится посредством вызова соответствующих методов - подпрограмм, принадлежащих конкретным классам объектов. Это правило называется инкапсуляцией.

  1. Источники ошибок в программных средствах.

Источники неисправностей погромного обеспечения (ПО). Погромного обеспечения в настоящее время является сложной системой. Само по себе понятие сложной системы не однозначно. Под простой системой будут понимать такую систему, в которой человек может

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

сложных в класс простых.

Статистические данные по ошибкам:

Не полное или ошибочное задание - 28%.

Отклонение от задания - 12%.

Пренебрежение правилами программирования - 10%.

Ошибочная выборка данных - 10%.

Ошибочная последовательность операций - 12%.

Ошибочные арифметические операции - 9%.

Нехватка времени для решения - 4%.

Неправильная обработка прерываний - 4%.

Неправильные постоянные или исходные данные - 3%.

Неточная запись - 8%.

  1. Категории специалистов, занятых разработкой и сопровождением ПО.

Системный программист (system | software programmer, toolsmith) – занимается разработкой, эксплуатацией и сопровождением СПО, поддерживает работоспособность компьютера и создает среду для выполнения программ, обеспечивающих решение функциональных задач.

Прикладной программист (application) – осуществляет разработку и отладку программ для решения функциональных задач.

Программист–аналитик (programmer-analyst) – анализирует и проектирует комплекс взаимосвязанных программ, осуществляет их выбор для реализации функций предметной области.

Постановщик задач – формулирует функциональные задачи.

Администратор систем и сетей – контролирует учетные записи и права пользователей, распределяет ресурсы вычислительной сети или отдельных компьютеров.

Администратор БД – осуществляет организацию и поддержку БД.

Конечный пользователь (user) – не относится к категории специалистов, осуществляет непосредственную работу с прикладным ПО.

  1. Классификация программных продуктов.

Упрощенные классификации программных продуктов.

В зависимости от типа решаемых задач программные продукты делятся на два класса: утилитарные программы и программные продукты.

Утилитарные программы – решают технологические задачи.

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

Сопровождение программных продуктов заключается в поддержке их работоспособности, осуществлении перехода на новые версии и внесения изменений в существующие.

В зависимости от области их использования программные продукты подразделяются на:

● аппаратная часть ЭВМ;

● продукты решающие функциональные задачи;

● продукты для обеспечения процесса разработки других программ.

Современная модифицированная классификация.

1. Класс Системного Программного Обеспечения.

Класс направлен на:

● создание ОС функционирования других программ;

● обеспечение надежной и эффективной работы ЭВМ или сети;

● проведение профилактики, диагностики и защиты (антивирусы и технология цифровой подписи);

● выполнение вспомогательных технологических процессов.

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

Системноt ПО может быть представлено в виде двух частей:

Базовое ПО – минимальный набор программных средств обеспечивающих работу компьютера. Сюда входит: Операционная Система, предназначенная для управления выполнением пользовательских программ, планирования и управления вычислительными ресурсами PC, ОС делятся на:

● одно- и многозадачные;

● одно- и многопользовательские;

● переносимые и не переносимые на другие типы PC (кроссплатформенность);

● сетевые и не сетевые ОС (Windows позже версии 3.11 / MS-Dos).

Сервисное ПО – программы и программные комплексы, организующие более удобную среду работы пользователя. Его можно классифицировать по функциональному признаку:

● программы диагностики;

● антивирусные программы (обнаружение и восстановление);

● обслуживание HDD (контроль поверхности, файловой системы, сжатие дисков, создание резервных копий на внешнем носителе).

2. Класс Пакета Прикладных Программ.

Комплекс взаимосвязанных программ для решения задач определенного класса, конкретной предметной области. Отличительной особенностью является системность т.е. функциональная полнота и законченность реализуемых функций обработки, которая применяются в совокупности.

3/ Класс Инструментариев Программирования.

Программы, принадлежащие этому классу поддерживают технологические этапы процесса проектирования, программирования, отладки, тестирования и сопровождения ПО.

Языки Программированияформализованные языки для описания решения алгоритма и решения задач.

Машинные языки – языки программирования, воспринимаемые аппаратной частью компьютера, т.н. машинные коды.

Машинно-ориентированные языки – языки программирования которые отражают структуру конкретного типа компьютера, например Ассемблер.

Алгоритмические языки – языки программирования не связанные с архитектурой компьютера и предназначенные для отражения структуры алгоритма, например Pascal, C, Basic, С++.

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

Проблемно-ориентированные языки – языки программирования предназначенные для решения задач определенного класса, например Perl, List.

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

● Разработка экранных форм;

● Описание процедур;

● Отладчик;

● Профайлер - простейшем случае это система, позволяющая определить время выполнения различных функций программного проекта, так же профайлер может выполнять вызов определенных функций и передача им необходимых данных. В конечном итоге профайлер предназначен для анализа характеристик функционально законченных фрагментов программы с целью их тестирования и оптимизации.

● Системы визуализации алгоритмов.

Средства поддержки проектов.

Программные системы этого класса предназначены для:

● Отслеживание изменений выполненных разработчиками программ;

● Поддержка версий программы с автоматическим внесением изменений;

● Получение статистики о ходе работ проекта.

Среда Пользователя.

Представлена такими программами как:

● Библиотека функции, объектов, процедур и методов;

● Макрокоманды;

● Клавишные макросы;

● Языковые макросы;

● Генераторы отчетов;

● Языки программирования высокого уровня.

CASE Системы (Computer Aided System Engineering).

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

Основное достоинство CASE систем – поддержки коллективной работы( экспорта, импорта, любых фрагментов проекта, а так же организационного управления проектом).

CASE системы являются открытыми системами по определению.

  1. Команды вызова процедур на языке Ассемблер.

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

пример:

... { - }

CALL LB1

LB2: { LB2 }

...

LB1: { LB1 }

...

RET { - }

При выполнении команды RET вершина стека обязательно должна содержать адрес заполненной команды CALL, т.е. тело подпрограммы не должно вносить изменений в стек.

  1. Команды организации циклов на языке Ассемблер.

Для организации циклов используются и команды: LOOP, LOOPNE, LOOPE, JCXZ. При этом данные команды опираются на регистр счетчика CX.

команда LOOP

Команда LOOP.

Команда LOOP эквивалентна следующим командам:

DEC CX // уменьшение CX на 1

JNZ МЕТКА // переход в случае CX=0

пример:

MOV CX, 10h

MOV AH, 1h

LB1: INT 21h

LOOP LB1

Команда LOOPNE.

Предназначена для анализа не только значения CX, но и флага PF.

Команда JCXZ.

Позволяет осуществить переход только в том случае если значение регистра CX=0.

Используется либо для предварительной проверки значения CX либо для выхода из цикла в произвольной точке его тела.

пример:

MOV CX, 10h ?

MOV AH, 1

JCXZ LB2:

LB1: INT 21h

LOOP LB1

LB2:

  1. Команды передачи управления на языке Ассемблер.