Что такое конфигурация в программировании
Перейти к содержимому

Что такое конфигурация в программировании

  • автор:

Конфигурация программного обеспечения

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

Существуют различные подходы к хранению конфигурации. Многие программы хранят настройки в текстовых файлах; особенно характерно это для UNIX-подобных систем. В Windows текстовые конфигурационные файлы так же используются и часто имеют формат .ini. Несмотря на то, что почти во всех случаях эти файлы можно редактировать вручную, во многих случаях для этого создаётся специальный интерфейс (который может быть как консольный, так и графический).

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

Часто для хранения конфигурации используется специальная база данных. В Windows используется реестр Windows, а в GNOME — GConf; в обоих случаях конфигурация имеет древовидную структуру.

Источники

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

Конфигурация программного обеспечения

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

Существуют различные подходы к хранению конфигурации. Многие программы хранят настройки в текстовых файлах, что особенно характерно для UNIX-подобных ОС. В ОС Windows текстовые конфигурационные файлы также используются и часто имеют формат .ini. Несмотря на то, что почти во всех случаях эти файлы можно изменять вручную, во многих случаях для этого создаётся специальный интерфейс (который может быть как консольным, так и графическим).

Иногда в UNIX-подобных ОС конфигурация задаётся на этапе сборки программы, и для её изменения программу необходимо пересобирать. Ярким примером может служить ядро Linux. Почти для всех программ, собираемых с использованием сценариев autoconf, можно подключать или отключать те или иные внешние библиотеки, указывая параметры для сценария configure.

Часто для хранения конфигурации используется специальная база данных. В ОС Windows используется реестр Windows, а в среде рабочего стола GNOME — демон GConf; в обоих случаях конфигурация имеет древовидную структуру.

Связанные понятия

Монтирование файловой системы — системный процесс, подготавливающий раздел диска к использованию операционной системой.

Дамп памяти (англ. memory dump; в Unix — core dump) — содержимое рабочей памяти одного процесса, ядра или всей операционной системы. Также может включать дополнительную информацию о состоянии программы или системы, например значения регистров процессора и содержимое стека. Многие операционные системы позволяют сохранять дамп памяти для отладки программы. Как правило, дамп памяти процесса сохраняется автоматически, когда процесс завершается из-за критической ошибки (например, из-за ошибки сегментации.

Ярлы́к (англ. shortcut) — файл, служащий указателем на объект (например, файл, который требуется определённым образом обработать), программу или команду и содержащий дополнительную информацию.

Исполняемый файл (англ. executable file, также выполняемый, реже исполнимый, выполнимый) — файл, содержащий программу в виде, в котором она может быть исполнена компьютером. Перед исполнением программа загружается в память, и выполняются некоторые подготовительные операции (настройка окружения, загрузка библиотек).

Установка программного обеспечения, инсталляция — процесс установки программного обеспечения на компьютер конечного пользователя. Выполняется особой программой (пакетным менеджером), присутствующей в операционной системе (например, RPM, APT или dpkg в Linux, Установщик Windows в Microsoft Windows), или же входящим в состав самого программного обеспечения средством установки. В операционной системе GNU очень распространено использование системы GNU toolchain и её аналогов для компиляции программного.

Файловый дескриптор — это неотрицательное целое число. Когда создается новый поток ввода-вывода, ядро возвращает процессу, создавшему поток ввода-вывода, его файловый дескриптор.

Точка монтирования (англ. mount point) — это каталог или файл, с помощью которого обеспечивается доступ к новой файловой системе, каталогу или файлу.

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

Символическая («мягкая») ссылка (также «симлинк», от англ. Symbolic link) — специальный файл в файловой системе, в котором вместо пользовательских данных содержится путь к файлу, открываемому при обращении к данной ссылке (файлу).

Переменная среды́ (англ. environment variable) — текстовая переменная операционной системы, хранящая какую-либо информацию — например, данные о настройках системы.

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

О программном обеспечении рассказывает другая статья.Переносимое приложение (также портативное, автономное, и — неточно, в качестве кальки — портированное; англ. portable application, portable app) — программное обеспечение, которое для своего запуска не требует процедуры установки и может полностью храниться на съёмных носителях информации, что позволяет использовать данное ПО на многих компьютерах. Переносимое приложение может быть настроено так, чтобы считывать свои конфигурационные настройки.

Динамический сайт — сайт, состоящий из динамичных страниц — шаблонов, контента, скриптов и прочего, в большинстве случаев в виде отдельных файлов (в Lotus Notes/Domino данные и все элементы дизайна, включая пользовательские скрипты, хранятся в одном файле).

Двоичный (бинарный) файл — в широком смысле: последовательность произвольных байтов. Название связано с тем, что байты состоят из бит, то есть двоичных (англ. binary) цифр.

Файл регистрации (протокол, журнал, лог; англ. log) — файл с записями о событиях в хронологическом порядке, простейшее средство обеспечения журналирования. Различают регистрацию внешних событий и протоколирование работы самой программы — источника записей (хотя часто всё записывается в единый файл).

Блокнот (англ. Notepad) — простой текстовый редактор, являющийся частью операционных систем Microsoft Windows, начиная с вышедшей в 1985 году Windows 1.0.

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

DLL (англ. Dynamic Link Library — «библиотека динамической компоновки», «динамически подключаемая библиотека») в операционных системах Microsoft Windows и IBM OS/2 — динамическая библиотека, позволяющая многократное использование различными программными приложениями. Эти библиотеки обычно имеют расширение DLL, OCX (для библиотек содержащих ActiveX), или DRV (для ряда системных драйверов). Формат файлов для DLL такой же, как для EXE-файлов Windows, т. е. Portable Executable (PE) для 32-битных и 64-битных.

Механизм копирования при записи (англ. Copy-On-Write, COW) используется для оптимизации многих процессов, происходящих в операционной системе, таких как, например, работа с оперативной памятью или файлами на диске (пример — ext3cow).

Ассоциация или ассоциирование файлов — в программном обеспечении привязывание файла (по расширению или по каким-либо другим признакам) к прикладной программе, которая обрабатывает эти файлы. При «вызове» этого файла, например, в файловом менеджере, вызовется связанная с ним программа и откроет файл.

Корзи́на — элемент графического интерфейса пользователя, предназначенный для удаления и, часто, временного хранения удалённых объектов (в некоторых реализациях — только файлов и каталогов). Корзина в ряде систем позволяет восстановить недавно удалённый объект в случае ошибки или недоразумения пользователя.

Дизассе́мблер (от англ. disassembler ) — транслятор, преобразующий машинный код, объектный файл или библиотечные модули в текст программы на языке ассемблера.

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

Снимок файловой системы, или снапшот, или снепшот (от англ. snapshot — мгновенный снимок), — моментальный снимок, копия файлов и каталогов файловой системы на определённый момент времени.

Вкла́дка (англ. tab) — элемент графического интерфейса пользователя, который позволяет в одном окне приложения переключение между несколькими открытыми документами или предопределёнными наборами элементов интерфейса, когда их доступно несколько, а на выделенном для них пространстве окна можно показывать только один из них.

Виртуальная файловая система (англ. virtual file system — VFS) или виртуальный коммутатор файловой системы (англ. virtual filesystem switch) — уровень абстракции поверх конкретной реализации файловой системы. Целью VFS является обеспечение единообразного доступа клиентских приложений к различным типам файловых систем. VFS может быть использована для доступа к локальным устройствам и файлам (fat32, ext4, ntfs), сетевым устройствам и файлам на них (nfs), а также к устройствам, не предназначенным для.

В программировании именованный канал или именованный конвейер (англ. named pipe) — один из методов межпроцессного взаимодействия, расширение понятия конвейера в Unix и подобных ОС. Именованный канал позволяет различным процессам обмениваться данными, даже если программы, выполняющиеся в этих процессах, изначально не были написаны для взаимодействия с другими программами. Это понятие также существует и в Microsoft Windows, хотя там его семантика существенно отличается. Традиционный канал — «безымянен.

Модуль ядра, загружаемый модуль ядра (англ. loadable kernel module, LKM) — объект, содержащий код, который расширяет функциональность запущенного или т. н. базового ядра ОС. Большинство текущих систем, основанных на Unix, поддерживают загружаемые модули ядра, хотя они могут называться по-разному (например, kernel loadable module в FreeBSD и kernel extension в Mac OS X).

Бу́фер обме́на (англ. clipboard) — промежуточное хранилище данных, предоставляемое программным обеспечением и предназначенное для переноса или копирования между приложениями или частями одного приложения через операции вырезать, копировать, вставить.

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

Эмулятор терминала, приложение терминала, term или tty для краткости — это программа, которая эмулирует терминал компьютера внутри некоторой другой архитектуры вывода данных на экран.

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

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

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

Пакетный файл (англ. batch file) — текстовый файл в MS-DOS, OS/2 или Windows, содержащий последовательность команд, предназначенных для исполнения командным интерпретатором. После запуска пакетного файла программа-интерпретатор (как правило, COMMAND.COM или cmd.exe) читает его строка за строкой и последовательно исполняет команды. Пакетный файл — аналог скриптовых файлов командной строки (shell script) в Unix-подобных операционных системах.

Стандартные потоки ввода-вывода в системах типа UNIX (и некоторых других) — потоки процесса, имеющие номер (дескриптор), зарезервированный для выполнения некоторых «стандартных» функций. Как правило (хотя и не обязательно), эти дескрипторы открыты уже в момент запуска задачи (исполняемого файла).

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

Журналирование (англ. logging) — форма автоматической записи в хронологическом порядке операций в информационных технологиях, процесс записи информации о происходящих в рамках какого-либо процесса с некоторым объектом событиях, например, в файл регистрации или в базу данных. В некоторых программный комплексах используется термин «аудит», что является не верным, поскольку аудит подразумевает сравнение чего-то с чем-то, чего-то на предмет соответствия, например, требованиям, иными словами это корреляционный.

Загрузочный сектор, бутсектор (англ. boot sector, Volume boot sector (Volume boot record), Partition boot sector) — это особый сектор на жёстком диске, дискете или другом дисковом устройстве хранения информации. (Для дискеты это первый физический сектор, для жёсткого диска — первый физический сектор для каждого раздела.) В процессе загрузки компьютера с дискеты он загружается в память программой POST (в компьютерах архитектуры IBM PC обычно с адреса 0000:7c00), ему передается управление командой.

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

Графические форматы делятся на векторные и растровые. Большинство графических форматов реализуют сжатие данных (одни — с потерями, другие — без).

А́дресное пространство (англ. address space) — совокупность всех допустимых адресов каких-либо объектов вычислительной системы — ячеек памяти, секторов диска, узлов сети и т. п., которые могут быть использованы для доступа к этим объектам при определенном режиме работы (состоянии системы).

Путь (англ. path) — набор символов, показывающий расположение файла или каталога в файловой системе.

Объе́ктный мо́дуль (также — объектный файл, англ. object file) — файл с промежуточным представлением отдельного модуля программы, полученный в результате обработки исходного кода компилятором. Объектный файл содержит в себе особым образом подготовленный код (часто называемый двоичным или бинарным), который может быть объединён с другими объектными файлами при помощи редактора связей (компоновщика) для получения готового исполнимого модуля либо библиотеки.

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

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

Жёсткой ссылкой (англ. hard link) в UFS-совместимых файловых системах называется структурная составляющая файла — описывающий его элемент каталога.

Проверка системных файлов (SFC) — это утилита Microsoft Windows, позволяющая пользователю находить и восстанавливать повреждения системных файлов Windows. Компонент доступен в Windows 98, Windows 2000 и всех последующих версиях операционных систем семейства Windows NT. В Windows Vista и Windows 7 проверка системных файлов встроена в защиту ресурсов Windows, которая защищает не только критичные системные файлы, но и ключи реестра, и папки. Под Windows Vista, sfc.exe может быть использован для проверки.

Самораспаковывающийся или самоизвлекающийся архив (англ. self-extracting archive, сокращённо «SFX archive») — файл, компьютерная программа, объединяющая в себе архив и исполняемый код для его распаковки. Такие архивы, в отличие от обычных, не требуют отдельной программы для их распаковки (получения исходных файлов, из которых они созданы), если исполняемый код можно выполнить в указанной операционной системе. Это удобно, когда неизвестно, есть ли у пользователя, которому передаётся архив, соответствующая.

Закладка (англ. bookmark) — избранная, любимая интернет-ссылка в браузере или выбранное место (позиция) в тексте.

Конфигурация программного обеспечения

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

Существуют различные подходы к хранению конфигурации. Многие программы хранят настройки в текстовых файлах; особенно характерно это для UNIX-подобных систем. В Windows текстовые конфигурационные файлы так же используются и часто имеют формат .ini. Несмотря на то, что почти во всех случаях эти файлы можно редактировать вручную, во многих случаях для этого создаётся специальный интерфейс (который может быть как консольный, так и графический).

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

Часто для хранения конфигурации используется специальная база данных. В Windows используется реестр Windows, а в GNOME — GConf; в обоих случаях конфигурация имеет древовидную структуру.

Источники [ править ]

Это заготовка статьи о программировании. Вы можете помочь проекту, дополнив её.

Что такое конфигурация в программировании

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

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

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

Здесь слово «основная» относится к среде, в которой будут откомпилированы эти исходные тексты. Имя основной среды не имеет отношения к имени Вашей главной машины, например, ucbvax, prep.ai.mit.edu или att.com. Вместо них оно относится к sun4 или dec3100.

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

Например, если нам требуется конфигурация нашего воображаемого калькулятора для компилирования на SparcStation, мы должны конфигурировать для среды sun4. Т.е. с нашей системой конфигурации:

cd desk-calculator ; ./configure sun4

«configure» — это программы на языке оболочки Unix, которые устанавливают Makefiles (файлы для утилиты «make»), подкаталоги и символические ссылки для компилирования на sun4.

Основная среда не обязательно привязана к той машине, на которой были откомпилированы утилиты; можно имитировать основную среду sun3 на sun4. Если мы хотим использовать кросс-компилятор на sun4 для компилирования программ, предназначенных для работы на sun3, мы сконфигурируем исходный текст для sun3:

cd desk-calculator ; ./configure sun3

Известно, что в действительности при компилировании на sun4, исходному коду безразлично, что кросс-компилятор для sun3 представляет собой среду, только похожую на sun3. Т.е. среда неотличима от sun3, если заглавные файлы, предопределенные символы и библиотеки похожи на те, что у sun3.

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

Основная среда — это просто среда, в которой будет скомпилирована эта программа.

Многие программы имеют опции времени компиляции. Это возможности программы, которые могут быть встроены в программу и зависят от выбора человека, проводящего компиляцию. Мы определяем это как опции конфигурации. Например, наш калькулятор возможно скомпилировать в программу, которая использует инфиксную или постфиксную запись как параметры конфигурации. Чтобы выбрать инфиксную запись при работе на sun3:

./configure sun3 --enable-notaion=infix

а постфиксную для sun4:

./configure sun4 --enable-notaion=postfix

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

mkdir ../objdir.sun4 (cd ../objdir.sun4 ; ../configure sun4 --enable-notation=postfix --srcdir=../ scr) mkdir ../objdir.sun3 (cd ../objdir.sun3 ; ../configure sun3 --enable-notation=infix --srcdir=../ scr)

создадут подкаталоги для промежуточных частей конфигураций для sun4 и sun3. Это необходимо, так как предыдущие системы были способны только на одну конфигурацию одновременно, иначе вторая конфигурация будет записана поверх первой. Нам нужно сохранить описанные изменения, которые мы получили во время конфигурации; порядок аргументов не важен, но должен присутствовать аргумент без ‘-‘, который будет именем основной среды.

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

Для инсталяции программы конфигурирующей системе необходимо знать, где Вы хотите ее установить. По умолчанию она будет храниться в ‘/usr/local’. Мы ссылаемся на это расположение с помощью ‘$(prefix)’. Все запускаемые пользовательские программы будут установлены в ‘$(prefix)/bin’. Все другие программы и файлы будут установлены в подкаталоге ‘$(prefix)/lib’.

Вы можете сменить ‘$(prefix)’ только как параметр конфигурации:

./configure sun4 --enable-notation=postfix --prefix=/local

Сконфигурируйте исходный текст следующим образом:

make install

Это распределит программу в каталогах ‘/local/bin’ и ‘/local/lib/gcc’. Если Вы смените ‘$(prefix)’ после компилирования исходного текста, Вам необходимо набрать:

make clean

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *