Меню
Бесплатно
Главная  /  Программы  /  Что такое инициализация – ее виды и основные ошибки. Инициализация - это что такое? Частые ошибки инициализации

Что такое инициализация – ее виды и основные ошибки. Инициализация - это что такое? Частые ошибки инициализации

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

Что такое инициализация?

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

Инициализация: примеры

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

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

Рассмотрим на практике случай запуска приложений. Предположим, при запуске компьютерной игры возникает ошибка инициализации. В качестве примера рассмотрим игру Симс 3. Данное приложение сегодня пользуется большой популярностью. По каким причинам может возникнуть ошибка инициализации в данном случае? Самый распространенный вариант такой проблемы – ошибка с кодом 0x0175dcbb. Данный номер используется для того, чтобы обозначить номер ошибки, связанной с инициализацией приложения. Возникает она чаще всего из-за того, что игра конфликтует с драйверами, дополнениями и модами. От возникновения данной проблемы не застрахованы даже те пользователи, которые предпочитают использовать лицензионные игры.

Лицензия не приводит к автоматическому решению таких проблем. Что делать при возникновении ошибки инициализации? Разберемся, как можно убрать подобную ошибку. Хотя в данном случае мы будем рассматривать игру, приведенные рекомендации вполне пригодятся и при работе с более серьезными приложениями. Стоит помнить, что самой старой проблемой является использование архаических компонент программы. Прежде всего нас будут интересовать драйвера видеокарт. Их можно скачать с официального сайта компании производителя. Нелишним будет также установить NETFramework, обновленный до последней версии. Желательно данный компонент скачивать с официального сайта разработчика – компании Microsoft.

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

Заключение

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

Систем, которая запускает все остальные процессы. Работает как демон и обычно имеет PID 1. Обычно (согласно Filesystem Hierarchy Standard) располагается по пути /sbin/init . Существуют отличия в организации работы подсистемы в операционных системах, ведущих родословную от System V и систем в стиле BSD .

Длительное время была основной подсистемой инициализации в Linux, пока не была в большинстве дистрибутивов заменена systemd . В Solaris 10 вместо init применяется Service Management Facility . В ряде Unix-систем применяются альтернативы init: Upstart , Runit , Daemontools , Launchd , Initng , OpenRC .

В процессе загрузки после инициализации ядра как правило запускается /sbin/init как первый процесс пользовательского режима , и init отвечает за дальнейшую загрузку системы. Для этого запускаются стартовые сценарии, которые выполняют проверку и монтирование файловых систем, запуск необходимых демонов, настройку ядра (в том числе загрузку модулей ядра согласно установленному оборудованию, настройку IP-адресов, таблиц маршрутизации и другие задачи), запуск графической оболочки. Основная информация для загрузки как правило размещается в /etc/inittab .

В реализации init в стиле System V используется понятие уровня выполнения - степени загрузки операционной системы; в этом случае стартовые сценарии для каждого уровня разложены по каталогам от /etc/rc0.d до /etc/rc6.d , где цифра после rc соответствует номеру уровня инициализации.

inittab

Пример файла /etc/inittab:

id:5:initdefault: si::sysinit:/etc/rc.d/rc.sysinit l0:0:wait:/etc/rc.d/rc 0 l1:1:wait:/etc/rc.d/rc 1 l2:2:wait:/etc/rc.d/rc 2 l3:3:wait:/etc/rc.d/rc 3 l4:4:wait:/etc/rc.d/rc 4 l5:5:wait:/etc/rc.d/rc 5 l6:6:wait:/etc/rc.d/rc 6 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6 x:5:respawn:/etc/X11/prefdm -nodaemon

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

  • 1 - порядковый номер консоли
  • 2345 - номера уровней инициализации, для которых консоль инициализируется
  • respawn - этот параметр означает, что init должен перезапустить обслуживающий консоль процесс после выхода из сеанса или в случае краха.
  • /sbin/mingetty tty6 - программа (с указанием параметров), которая будет обслуживать консоль.

Таким образом, вы легко можете создать свой уровень инициализации (под номером 4 или 7, 8…), просто исправив файл /etc/inittab и создав необходимые ссылки в каталоге /etc/rc.d/rc*.d .

SysVinit

По сравнению с его предшественниками, AT&T UNIX System III представил новый стиль конфигурации запуска системы , который сохранился (с изменениями) в UNIX System V и поэтому называется «SysVinit ».

В любой момент работающая система V находится в одном из заранее определенных состояний, называемых runlevel . По крайней мере один уровень выполнения является нормальным рабочим состоянием системы; как правило, другие уровни выполнения представляют однопользовательский режим (используется для восстановления неисправной системы), выключение системы и различные другие состояния. Переключение с одного уровня выполнения на другой вызывает запуск набора сценариев для каждого уровня запуска, которые обычно монтируют файловые системы, запускают или останавливают daemon , начать или остановить X Window System , выключение машины и т. д.

Многие пользователи компьютерной и мобильной техники достаточно часто сталкиваются с термином «инициализация». Что такое инициализация, в основном мало кто себе представляет. Поэтому стоит попытаться восполнить этот пробел в знаниях, приведя конкретные примеры.

Инициализация - что такое в общем понимании

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

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

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

Основные направления инициализации

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

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

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

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

Каким образом происходит инициализация программы

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

Например, для ассемблерных программ, представленных в большинстве случаев исполняемыми файлами форматов COM и EXE, процесс инициализации состоит из четырех основных этапов:

  • указание на то, какие именно сегментные регистры должны соответствовать определенным сегментам;
  • сохранение адреса регистра DS в стеке при старте исполнения программы;
  • запись в стек нулевого адреса;

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

Вопросы инициализации жестких дисков

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

Инициализация диска на начальной стадии, если использовать средства Windows-систем, производит определение нового раздела путем сопоставления атрибутов загрузочных записей (MBR или GPT).

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

На этом этапе и завершается инициализация. Что такое инициализация в данном случае? Это комплекс мер по установке параметров винчестера, а не единичный процесс, как утверждают некоторые.

Подсистема печати

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

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

Инициализация на мобильных устройствах

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

Как правило, вводимое значение всегда имеет один и тот же вид - AT+CGDCONT=1,"IP","Название оператора или его интернет-ресурс". Но это касается только тех случаев, когда предполагается производить выход в интернет на компьютере через модем подключаемого мобильного устройства.

Ошибки инициализации и методы их устранения

Наконец, стоит отметить, что во всех приведенных примерах может возникнуть ошибка инициализации. Что делать в такой ситуации? В случае с жесткими дисками или устройствами для съемных носителей самым простым выходом станет проверка подключений к материнской плате.

В программах наиболее распространенным является сбой с кодом 0x0175dcbb (как, например, в игре Sims 3). В основном проблема касается конфликтов драйверов устройств, их отсутствия или некорректной установки, неработоспособности планок оперативной памяти и т. д. Иногда проблема может состоять в платформе.NET Framework, для которой нужно установить обновление. Возможно, сбой связан с повреждениями носителя, например, с которого запускается игра. В общем, мало ли что может приключиться. Но решение данной проблемы должно производиться на основе оценки самой ситуации и вызвавших сбой причин.

По определению «инициализация» - это подготовка программы или аппаратного устройства к работе. Эта подготовка заключается в задании начальных данных параметрам системы. Для программы инициализацией является задание значений переменным программы.

Инициализация массива данных

Инициализация массива имеет ряд подводных камней. Во-первых, в разных программных средах заполнение данных массива начинается либо с нулевого элемента A, либо с первого A, где A - название массива.

Для инициализации массива обычно используется «пошаговый» цикл for (foreach). Заполнение массива происходит постепенно, по одному элементу во время каждого «пробега» цикла. В цикле for создается локальная переменная цикла - для контроля числа проходов.

Начальное значение переменной цикла должно совпадать с первым элементом массива: A или A. Конечное - с числом элементов массива.

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

Ошибки инициализации

При инициализации система получает данные со всех значимых устройств, процессов или операторов. Запуск операционной системы является инициализацией данных, ведь операционная система получает отклик всех частей компьютера, включая оперативную память, жесткий диск и клавиатуру. В случае, если один из важных блоков отсутствует, ОС не сможет пройти инициализацию. Серьезной ошибкой инициализации является и известный «синий экран смерти».

Строка инициализации

Для управления инициализацией новички часто используют простые обращения (например, X = 5) или ручной выбор. Однако регулярную инициализацию нужно и можно автоматизировать.

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

AT+CDGCONT = 1, IP, internet.mts.ru + AT+CDGCONT = 2, IP, internet.beeline.ru.

Теперь строка инициализации является для компьютера управляющим процессом. Если интернет МТС становится быстрее, чем «Билайн», то используется соединение МТС - в противном случае МТС меняется на соединение «Билайна».