Поиск по сайту:
Главная страница » Законодательная метрология » ПО СИ » Сложность операционных систем и их эволюция

Сложность операционных систем и их эволюция




Конфигурационные опции являются наиболее существенной частью конфигурации, основанной на ядре Linux. Неоднородность, многозначность и сложность конфигурационных опций и их зависимость внутри операционной системы являются самыми значимыми для конечного пользователя для успешного конфигурирования ядра в системе Linux [11 -12].

Рассмотрение сложности ПО показало, что эта сложность может быть оценена посредством так называемых характеристик ПО [20]. Такой подход был применен Р. Лотуфо в 2009 г. [12] для оценки сложности 29 стабильных версий конфигурационных опций ядра Linux при изучении их эволюции в категориях сложности [12].

Мы не будем вдаваться в детали анализа сложности, но хотим отметить такие показательные характеристики, как размер и глубина ядра. Размер является простой, но, тем не менее,вполне подходящей характеристикой сложности ПО, как показано в [13]. Было выявлено, что чем больше размер программных текстов, тем большее количество конфигурационных опций и зависимостей между ними существует. Другая характеристика глубина является более сложной. Она может пониматься как средняя длина каждой отдельной составляющей от узла конфигурационных опций до их разветвлений, т.е. как опции без зависимостей. С увеличением длины данной конфигурационной опции цепочка длин зависимостей также становится сложнее и, как следствие, эти зависимости становится более сложно изменить.

Первая замечательная вещь, показанная Лотуфо, заключалась в устойчивом увеличении размера - числа строк исходного кода, числа конфигурационных опций или числа зависимостей (глубины) с увеличением количества дистрибутивов. Корреляция роста числа строк исходного кода и конфигурационных опций составила 0,99, что очень велико, как можно видеть на рис.2.

глубина ядра

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

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

<<< Назад -------------- Далее >>>


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


Главная страница » Законодательная метрология » ПО СИ » Сложность операционных систем и их эволюция