КОНЬЯКОВ.ру

Разработка и поддержка веб-сайтов на 1C-Bitrix. E-commerce компетенции. Опыт с 2007 года.

Category: Полезные заметки(Страница 11 из 15)

28 Понятие отказов ИС и их классификация

Скачать ZIP архив | Скачать RAR архив

По условиям возникновения
По внешним проявлениям
По способам обнаружения

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

Классификация отказов

Классификационный признак: Скачкообразное изменение одного или нескольких параметров.
Значение классификационного признака:
-Скачкообразное изменение одного или нескольких параметров. Вид отказа: Внезапный
-остепенное изменение одного или нескольких основных параметров. Вид отказа: Постепенный отказ

Классификационный признак: Взаимосвязь отказов
Значение классификационного признака:
-Отказ элемента объекта не обусловлен повреждениями или отказами других элементов объекта. Вид отказа: Независимый отказ элемента.
-Отказэлемента объекта обусловлен повреждениями или отказами других элементов объекта. Вид отказа: Зависимый отказ элемента

Классификационный признак: Происхождение отказов
Значение классификационного признака:
-Нарушение установленных правил и(или) норм конструирования, несовершенство принятых методов конструирования. Вид отказа: Конструкционный отказ.
-Нарушение установленного процесса изготовления или ремонта объекта, несовершенство технологии. Вид отказа: Вид отказа: Производственный отказ.
-Нарушение установленных правил и(или) условий эксплуатации объекта. Вид отказа: Эксплуатационный отказ.

Классификационный признак: Устойчивость неработоспособного состояния (характер отказа)
Значение классификационного признака:
-Неработоспособность сохраняется устойчиво. Вид отказа: Устойчивый отказ. Вид отказа: Устойчивый отказ.
Неработоспособность сохраняется кратковременно, после чего работоспособность самовосстанавливается или восстанавливается оператором без проведения ремонта. Вид отказа: Самоустраняющийся отказ (сбой).
-Неработоспособность одного и того-же характера возникает и самоустраняется многократно. Вид отказа: Перемежающийся отказ.

В основном отказов ЭВМ преобладают сбои, т.е. самоустраяющиеся отказы. Но для устранения влияния сбоев на вычислительный процесс, небходимы специальные меры (спец-аппаратура, вмешательство оператора). Это обусловлено тем, что во время сбоев может быть искажена часть данных, хранимых в памяти ЭВМ.

27 Основные понятия и показатели надежности ИС, свойства ИС, определяющие степень ее надежности

Скачать ZIP архив | Скачать RAR архив

Надежность — это свойство сохранять во времени в установленных пределах значения всех параметров, характеризующих способность выполнять требуемые функции в заданных режимах и условиях применения, технического обслуживания, ремонтов, хранения и транспортирования (ГОСТ 27.002-89)

Надежность является одной из важнейших характеристик качества объекта — совокупости свойств, определяющих пригодность его использования по назначению.

Надежность характеризует зависимость точечных характеристик качества либо от времени использования, либо от наработки объекта, т.е. надежность — характеристика временная.

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

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

При рассмотрении показателей надежности следует различать:
— наименование показателя
— формулировку показателя
— численные значения показателя

Элемент — один из несколько однотипных устройств, предметов, испытуемых образов, имеющих количественные характеристики надежности, учитываемые при расчете надежности всего соединения.
Ячейка — отдельная конструкция, не имеющая самостоятельного фукнционального назначения (резистор)
Узел — несколько ячеек, объединенных для выполнения определенных фукнций, но не имеющих самостоятельного эксплуатационного назначения (регистр команд, регистр флагов)
Блок — соединение ячеек-узлов (микропроцессор)
Прибор — группа блоков (монитор)
Установка — группа приборов (компьютер)
Система — устройство, состоящее из нескольких установок (система предупреждения о ракетном нападении)

Системы бывают:
Восстанавливаемые (после отказа их можно ремонтировать) и невосстанавливаемые.
Однократного (ракета) и многократного (компьютер) использования.

Надежность — это свойство, включающее в себя более простые свойства объекта, которые называются сторонними надежности.

Стороны надежности:
1 Безотказность — свойство объекта непрерывно сохранять работоспособность в течение некоторого времени или некоторой наработки.
2 Ремонтопригодность — свойство объекта, заключающееся в приспособленности его к предупреждению и обнаружению отказов и восстановлению работоспособности объекта либо путем проведения ремонта.
3 Долговечность — свойство объенкта сохранять работоспособность до наступления предельного состояния при установленном режиме технического обслуживания и ремонта
4 Сохраняемость — свойство объекта соъхранять работоспособность в течение и после его хранения и транспортирования
5 Работоспособность — такое состояние объекта, при котором он способен выполнять заданные функции, удовлетворяя требованиям нормативно-технической документации. Работоспособность — это характеристика состояния объекта в некоторой момент времени.
6 Наработка — время работы объекта до первого отказа.

Дополнительные стороны надежности:
1 Живучесть — свойство объекта или системы сохранять сработоспособность в условиях неблагоприятных воздействий, не предусмотренных нормативными условиями эксплуатации.
2 Сбой — кратковременное нарушение работоспособности системы, после которого работоспособность восстанавливается оператором без проведения ремонта или самовосстанавливается.
3 Ошибка — проявление сбоя или отказа компонента ИС.
4 Домдоверность информации — свойство системы выдавать достоверную информацию при возникновении в ней сбоев.
5 Отказоустойчивость — свойство системы продолжать выполнение заданных функций после возникновенияодного или нескольких сбоев или отказов отдельных элементов
6 Конфигурация — совокупность и способ взаимодействия программных и аппаратных средств системы, направленных на выполнение рабочего задания
7 Ремонт — восстановление работоспособности системы с помощью специалистов.
8 Избыточность — дополнительное программные и аппаратные средства, возможности алгоритма для выполнения дополнительных функций, предназначенных для повышения надежности ИС
9 Отказ — событие, заключающиееся в том, что система полностью или частично теряет свойство работоспособности.

25 Структуры в языках программирования высокого уровня. Обращение к полям структуры

Скачать ZIP архив | Скачать RAR архив

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

Объявление и определение структур

Ключевое слово struct указывает начало определния структуры. За этим ключевым словом должно следовать имя структуры. Это же правило относится и к другим нестандартным типам данных, которые создаются программистом. Имя структуры называют ее меткой (тег), а также именем структурного типа.

struct coord { //начало определния структуры
int x;
int y;
};

Объявление структуры и ее членов само по себе не создает фактического объекта — структуры coord или ее переменных x и y

При этом не выделяется память для фактических структур.

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

struct coord {
int x;
int y;
} first, second; // определение структур

struct coord {
int x;
int y;
};

…

struct coord first, second; // определение структур отдельно от манифеста

Обращение к полям структуры

first.x = 50;
second.y = 100;

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

first = second;

first.x = second.x;
first.y = second.y;

Сложные структуры

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

struct rectangle {
struct coord topleft;
struct coord topbottom;
};

Структурный тип rectangle включающий две структуры coord, опредлеение типа и объявление его экземпляров можно совместить:

struct rectangle {
struct coord topleft;
struct coord topbottom;
} myBox;

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

myBox.topleft.x; // обращение к полю х поля topleft структуры типа rectangle имеющией имя myBox

myBox.topleft.x = 0;
myBox.topleft.y = 10;
myBox.topleft.x = 100;
myBox.topleft.y = 200;

Структуры, содержащие массивы

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

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

struct data {
int x[4];
char y[10];
};

struct data record; // объявление переменной record этого структурного типа

record.x[2] = 100;
record.y[2] = ‘x’;

record.y;

23 Использование функций в языках программирования высокого уровня: правил записи, вызова и передачи параметров

Скачать ZIP архив | Скачать RAR архив

Функции — это основные единицы построения программ при процедурном программировании на C++

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

Программа на C++ состоит по крайней мере из одной функции, main(). С нее всегда начинается выполнение программы.

Прежде всего, функцию необходимо объявить.

Объявление функции называется прототипом функции. Прототип функции — ее предварительное описание. Состоит из имени функции, списка передаваемых в нее переменных и типа возвращаемого значения (если есть).

Например:
double sqrt (double x);
int sum (int a, int b, int c);

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

int sum (int a, int b, int c) { // заголовок функции
int result; // определение тела функции
result = a + b + c; // вычисление результата
return result; // возвращение результата
}

Вызов функций

После того как функция объявлена, ее можно использовать в выражениях

double x = sqrt(3) + 1;
cout << sum (k, l, m) / 15;

Если функции не возвращает никакого результата, т.е. она объявлена как void , ее вызов не может быть использован как операнд более сложного выражения , а должен быть записан сам по себе

func(a, b, c);

пример программы переменной s присваивается значение 10

include <iostream.h>
int sum(int a, int b, int c);
int main () {
int k = 2;
int l = 3;
int m = 5;
int s = sum(k, l, m);
cout << s;
return 0;
}

int sum (int a, int b, int c) {
int result;
result = a + b + c;
return result;
}

22 Понятие и типы переменных в языках программирования высокого уровня

Скачать ZIP архив | Скачать RAR архив

Значение каждого параметра храннения в опредленном участке памяти компьютера и может меняться в процессе выполнения алгоритма. Такой участок памяти ПК компьютера называется переменной.

Каждой переменной присваивается имя. С каждой переменной связан ее тип. С переменной можно выполнять следующие действия:
1) прочитать её текущее значение;
2) записать новое значение в переменную или как говорят присвоить новое значение переменной;

Запись нового значения переменной выполняется с помощью так называемого оператора присваивания. Имя_переменной = выражение; //здесь знак равенства это знак присвоения

При выполнении оператора присваивания сначала вычисляется значение выражения в правой части, затем оно записывается в переменную, имя которой указано в левой части. Старое значение переменной при этом стирается.

1) Память — это материальный носитель, который хранит информацию . Эту информацию можно читать и перезаписывать
2) Переменная — это область памяти универсального исполнителя хранящая порцию информации. Любая переменная имеет имя и тип. Тип переменной определяется множеством всех значений, которые она может принимать.
3) С переменной можно выполнять два действия: прочитать ее текущее значение и записать в нее значение (старое теряется). Для записи нового значения в переменную применяется оператор присваивания.

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

Например, с численными переменными возможны арифметические операции, с логическими — проверка, истино или ложно значение переменной, с символьными — сравнение, с табличными (или массивами) чтение или запись элемента таблицы с заданным индексом и т.п.

Переменные
-Логические
-Символьные
-Числовые
—Целые
—Вещественные
—Одинарной точности
—Двойной точности

Целочисленные переменные

Тип целое число является основным для любого алгоритмического языка. Символы представляются в компьютере целыми числами — их кодами в некоторой кодировке. Целая переменная в компьютере может хранить лишь ограниченное множество целых чисел в некотором интервале. В современном ПК под целую переменную отводится 8 байтов, т.е. 64 двоичных разряда. Она может хранить числа от нуля до 2 в 64-й степени минус 1. Таким образом максимальное число которое может храниться в целочисленной переменной, равно 18,446,744,073,709,551,615 (18 квинтиллионов 446 квадраллионов 744 триллиона 073 миллиарда 709 миллионов 551 тысача 615).

Сложение и умножение значений целых переменных выполняется так: сначала производится арифметическая операция, затем старшие разряды результата, вышедшие за 64 разрядов (отбрасываются). Операции удовлетворяют традиционным законам коммутативности, ассоциативности и дистрибутивности:

a + b = b + a , ab = ba
(a + b) + c = a + (b + c) , (ab)c = a(bc)
a(b + c) = ab + ac

В языке С целым числам соответствуют типы int, char, bool

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

Вещественные переменные

Вещественные числа представляются в компьютере в так называемой экспоненциальной, или плавающей, форме. Вещественное число r имеет вид r= +- 2(в степени e) * m

Представление числа состоит из трех элементов
1) Знак числа — плюс или минус. Под знак отводится 1 бит.
2) Показатель степени e, его называют порядком или экспонентой. Экспонента указывает степень двойки, на которую домножается число. Она может быть как положительной, так и отрицательной. Для чисел, меньших единицы. Под экспоненту отводится фиксированное число двоичных разрядов, обычно 8 или 11, расположенных в старшей части двоичного представления числа, сразу вслед за знаковым разрядом.
3) Мантисса m представляет собой фиксированное количество разрядов двоичной записи вещественного числа в диапазоне от 1 до 2: 1 <= m <= 2

В языке С вещественным числам соответствуют типы float и double.

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

a + b = a при b != 0

Для сложения не выполняется закон ассоциативности: a + (b + c) != (a + b) + c
Точность вычислений вещественных чисел типа double составляет 16 десятичных цифр.

Кроме потери точности, при операциях с вещественными числами могут происходить и другие неприятности.
— Переполнение — когда порядок результата больше максимально возможного значения. эта ошибка часто возникает при умножении больших чисел;
— Исчезновение порядка — когда порядок результата отрицательный и слишком большой по абсолютной величине, т.е. порядок меньше минимально допустимого значения. Эта ошибка может возникнуть при делении маленького числа на очень большое или при умножении двух очень маленьких по абсолютной величине чисел. — вызывают аппаратное прерывание работы процессора.
— Деление на ноль — является некорректной операцией. — вызывают аппаратное прерывание работы процессора.

Запись вещественных констант

Вещественные константы записываются в двух формах — с фиксированной десятичной точкой или в экспоненциальном виде. 1.2 , 0.725, 1. , .35 , 0

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

Экспоненциальная форма записи вещественной константы содержит знак, мантиссу и десятичный порядок (экспоненту).

Мантисса — это любая положительная вещественная константа в форме с фиксированной точкой или целая константа.

Порядок указывает степень числа 10, на которую домножается мантисса. Порядок может иметь знак плюс или минус.

1.5e + 6 —> 1 500 00.0
1e-4 —> 0.0001
-.75e3 —> -750.0

Вещественные типы аппаратно могут иметь два предоставления: вещественные числа с фиксированной точкой и вещественные числа с плавающей точкой. Как правило, по умолчанию компиляторы преобразуют вещественные значения в экспоненциальный формат (формат с плавающей точкой).

Символьные переменные

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

Симолы представляются их целочисленными кодами в некоторой фиксированной кодировке. Кодировка определяется тремя параметрами:
1) диапазон значений кодов. например ASCII. стандартный код обмена информацией. от 0 до 127. требует 7 бит на символ. большинство современных кодировок имеют диапазон кодов от 0 до 255, т.е. 1 байт на символ. Unicode, — диапазон от 0 до 65535 — т.е. 2 байта (16 бит) на символ.
2) множеством изображаемых символов.
3) отображением множества кодов на множество символов. кодировки кои-8, cp-1251, итд.

В языке C++ для Unicode существует тип wchar_t в котором под каждый символ отводится 2 байта.

Логические переменные и выражения

Логический тип данных bool, реализуется 1 байтом
Логические или условные выражения используются в качестве условия в конструкциях ветвления «если… то… иначе… конец если» и цикла «пока».

Любая операция сравнения имеет два аргумента и вырабатывает логическое значение «истина» и «ложь» (true и false)

Операции сравнения:
— Проверка равенства: ==
— Неравенство обозначается: !=
— Для сравнения величин выражений применяется четыре операции: больше > ; меньше < ; больше или равно >= ; меньше или равно <=

x == 0 // истина, если значение x равно 0
0 != 0 // ложь
3 >= 2 // истина

Логические выражения

0 < = x && x <= 1
x != 0 or y != 0

Страница 11 из 15

© 2007–2026, konyakov.ru
☩