Стандарт lsb: спецификация единой Linux платформы и инфраструктура поддержки Владимир Рубанов



Pdf просмотр
Дата22.11.2016
Размер0.85 Mb.
Просмотров330
Скачиваний0

Стандарт LSB: спецификация
Стандарт LSB: спецификация
единой Linux платформы и
инфраструктура поддержки
Владимир Рубанов
Руководитель проектов у
д р
Центр верификации ОС Linux
Институт системного программирования РАН
у
SECR 2007, 01 ноября 2007 г.

План
План
Стандарт Linux Standard Base (LSB)
Стандарт Linux Standard Base (LSB)
Российский центр верификации ОС Linux
И ф
Инфраструктура поддержки, развития и использования стандарта LSB
2

Что такое Linux?
Что такое Linux?
Существуют сотни публичных дистрибутивов
Li
Linux, но нет понятия
«единого Linux».
Li
Linux – это не только ядро.
Дистрибутив Linux –
коллекция различных
«upstream» компонентов
(
)
(ядро - лишь один из них).
3

Linux с точки зрения
приложений
Прило
жж
ения
4

Дистрибутивы Linux
Дистрибутивы Linux
5

Зачем нужна
стандартизация Linux?
Стандартизация некоторого подмножества сервисов операционной системы и библиотек, достаточных для большинства приложений, делает из Linux единую платформу.
Любые удовлетворяющие стандарту приложения и дистрибутивы становятся р
д р
у
совместимыми друг с другом.
Уменьшение стоимости разработки и
Уменьшение стоимости разработки и поддержки приложений =
большее количество приложений для Linux.
6
большее количество приложений для Linux.

Linux Standard Base
Linux Standard Base
Linux Standard Base
7

Linux Standard Base (LSB)
Linux Standard Base (LSB)
Разрабатывается международным
Разрабатывается международным консорциумом Linux Foundation
Основной стандарт Linux
Основной стандарт Linux
Первая версия: LSB 1.0 – июнь 2001
В 2005 г. утвержден как международный стандарт ISO/IEC 23360
Текущая версия: LSB 3.1 U1 (март 2007)
Ближайшие планы:
Ближайшие планы:
LSB 3.2 – ноябрь 2007
LSB 4 0 ноябрь 2008 8
LSB 4.0 – ноябрь 2008

Linux Foundation
Linux Foundation
Международный некоммерческий
Международный некоммерческий консорциум (
http://www.linux-foundation.org
)
Образован в начале 2007 г. в результате слияния Free Standards Group (FSG) и Open p (
)
p
Source Development Labs (OSDL)
Platinum члены Linux Foundation:
Platinum члены Linux Foundation:
9

Обзор LSB 3 1
Обзор LSB 3.1
Определяет состав и поведение бинарных
Определяет состав и поведение бинарных интерфейсов основных системных библиотек Linux
(более 30000 функций)
О
й
Определяет структуру системных директорий, основные системные команды, а также форматы
ELF и RPM.
ELF и RPM.
Поддерживает 7 архитектур - IA32 (x86), AMD64
(x86_64), IA64 (Itanium), PowerPC 32, PowerPC 64,
IBM S390
IBM S390X
IBM S390 и IBM S390X
Ссылается на существующие стандарты и документы:
документы:
Single UNIX Specification - POSIX
ISO C99, SVID, …
Д
б
10
Документация разработчиков компонентов

Модули LSB 3 1
Модули LSB 3.1
Модуль
Количество интерфейсов
LSB Core
1536
LSB Core
1536
LSB C++
1508
LSB Desktop
28380
Graphics
1982
- Graphics
1982
- Toolkit GTK
4622
T lkit Qt
10936 + 9556
- Toolkit Qt
10936 + 9556
- XML
1284 11
Всего
31424

LSB 3 1 Core
LSB 3.1 Core
LSB Core
LSB Core
ELF
File System Hierarchy
File System Hierarchy
System Initialization
RPM
RPM
Utilities
glibc
ABI (1536 функций)
libpam
libncurses
12
libz

Интерфейсы LSB 3 1 Core
Интерфейсы LSB 3.1 Core
time; 33
signal; 37
system; 44
util; 309
memory; 18
fs; 54
locale; 70
pthread; 87
ncurses; 275
process; 107
socket; 101
math; 271
io; 126
process; 107
13
;

LSB 3 1 Desktop
LSB 3.1 Desktop
LSB Desktop (18841 функций)
X11 Libraries (1253)
X11 Libraries (1253)
OpenGL (450)
PNG, JPEG (148)
Fontconfig (160)
Fontconfig (160)
GTK+ (4622)
Qt3 (10936)
(12 2)
14
XML (1272)

Сертифицированные
LSB дистрибутивы
15

Центр верификации ОС Linux
при ИСП РАН
Центр создан в 2005 году при поддержке
Центр создан в 2005 году при поддержке
Федерального агентства по науке и инновациям
(Роснаука) и действует на базе ИСП РАН
(Роснаука) и действует на базе ИСП РАН.
Миссия Центра – продвижение платформы Linux с помощью развития открытых стандартов и помощью развития открытых стандартов и наукоемких технологий тестирования:
Разработка новых тестов и технологий тестирования Linux
Разработка новых тестов и технологий тестирования Linux
Развитие и продвижение открытых стандартов Linux
Консультации и обучение у
ц у
Центр активно сотрудничает с Linux Foundation
(
http://linux-foundation.org/
) и разработчиками
16
(
p g
)
р р системных компонентов и приложений под Linux.

Проект OLVER
Проект OLVER
Open Linux VERification:
Анализ и формализация стандарта LSB
Анализ и формализация стандарта LSB
Core 3.1 в части поведения интерфейсов основных системных библиотек Linux основных системных библиотек Linux
Построение соответствующих тестов.
17

Технологические стадии
разработки OLVER
Проанализировать текст стандарта для каждой функции и выделить атомарные требования
Формализовать выделенные требования на языке
SeC (Specification extension of C) в виде ф
ф й
ф й формальных спецификаций интерфейсов
Разработать сценарии тестовых воздействий
Применить автоматический генератор для получения тестов на основе составленных формальных спецификаций и сценариев тестирования (технология UniTESK)
18

Разработка тестов OLVER
Разработка тестов OLVER
19

Результаты проекта
OLVER
Проанализирован текст стандарта и составлен online каталог требований для 1532 интерфейсов
LSB C
LSB Core.
Обнаружено и сообщено разработчикам 80
й
LSB
POSIX
замечаний по тексту стандартов LSB и POSIX.
Созданы тесты для 1270 (хорошее качество)
+ 260 (базовое качество) интерфейсов.
Обнаружено более 130 ошибок в современных
дистрибутивах.
Все результаты открыты (open source) и доступны
20
на http://linuxtesting.ru/

Сравнительное покрытие
тестами LSB Core
Subsystem
Interfaces GLIBC
LSB
LTP
OLVER 1.0
fs
54
39 33 42 47
io
128
78 92 73 62
io
128
78 92 73 62
locale
70
56 60 19 61
math
271
259 31 39 271
memory
18
12 14 17 18
memory
18
12 14 17 18
ncurses
275
0 59 3
272
process
106
61 77 81 86
pthread
87
79 66 80 87
signal
37
25 24 30 27
socket
101
34 2
56 47
system
44
20 15 23 26
time
33
23 26 27 33
util
308
187 144 76 233 21
Всего
1532
873
643
566
1270

Проектная программа
LSB Infrastructure
Начата в сентябре 2006 г
Начата в сентябре 2006 г.
Заказчик: The Linux Foundation
(ранее Free Standards Group)
Общая цель: разработать
Общая цель: разработать унифицированную инфраструктуру для развития и использования стандарта LSB
развития и использования стандарта LSB
широким сообществом Linux разработчиков.
22

Проектная программа
LSB Infrastructure
Разработка новых информационных систем:
Разработка новых информационных систем:
Главная база данных LSB и генераторы на ее основе
Портал LSB разработчиков – LSB Navigator р
р р g
Система LSB сертификации
Разработка новых технологий и средств тестирования:
средств тестирования:
Средства автоматизации запуска и визуализации результатов тестирования – LSB ATK / DTK Managers
Технологии автоматизированной разработки тестов различных уровней цены и качества:
Shallow (поверхностные)
(
р
)
Normal (средние)
Deep (глубокие)
С
23
Создание новых тестов
Аналитические и исследовательские задачи

База данных LSB
База данных LSB
64
б
15
й
64 таблицы, около 15 миллионов записей
На основе MySQL
y
Две основные части:
Элементы стандарта LSB
Элементы стандарта LSB
Экосистема Linux: состав дистрибутивов, upstream компонентов и внешние зависимости upstream компонентов и внешние зависимости приложений
24

База данных LSB: ABI
База данных LSB: ABI
Classes
969
Interfaces
36102
Libraries
44
LibGroups
221
Interfaces
36102
Types
4533
LibGroups
221
Headers
465 25
Constants
6088
Header Sections
882

База данных LSB:
Linux экосистема
Distribution
Component
RawLibrary
RawInterface
RawCommand
Application
Distribution Structure
RawClass
26 дистрибутивов
OpenSUSE 10.2 on x86-64
р у
760 приложений
Постоянно
Components 536
Libraries
3 901
Commands
3 243
Постоянно пополняется…
Commands
3 243
Classes
31 599
Interfaces
1 063 010 26

Автоматические генераторы
на основе базы данных
Г
й
Генераторы различных частей текста стандарта (списки элементов и их спецификации) – 13 скриптов
Генераторы исходного текста SDK
Генераторы исходного текста SDK инструментов (обертка над компилятором, заголовочные файлы stub-библиотеки)
заголовочные файлы, stub библиотеки)
– 8 скриптов
Г
15
Генераторы тестов – 15 скриптов
27

Navigator
Navigator
В б
LSB
б
Веб-портал LSB разработчиков
Информация об LSB
Информация о Linux экосистеме
Upstream компоненты
Д
б
Дистрибутивы
Приложения
Сервисы рабочей группы
Сервисы рабочей группы
Часть Linux Developer Network (LDN)
Б
LSB
База данных LSB в основе
Live версия:
28
http://linux-foundation.org/navigator/

LSB Navigator:
сервисы рабочей группы
Р
Различные статистики
Анализ тестового покрытия
Проверки согласованности данных
Административный интерфейс работы с
Административный интерфейс работы с данными базы
Центр импорта новых библиотек
Центр импорта новых библиотек
Управление релизом LSB
У
ф й
Управление конфигурацией тестовых наборов
У
29
Управление развитием стандарта

Системы управления
тестированием
T t E
ti
F
k
Test Execution Frameworks:
DTK Manager – тестирование дистрибутивов
ATK Manager – тестирование приложений
Основная функциональность:
Основная функциональность:
Веб интерфейс и командная строка
Выбор тестов для запуска
Выбор тестов для запуска
Запуск тестов и мониторинг прогресса
Средства анализа результатов
Интеграция с сертификационной системой
30

Сертификационная
система
C tifi ti
M
t
Certification Management – пошаговая поддержка процесса сертификации и обеспечение взаимодействия с Linux
Foundation
Product Directory – публичный репозиторий сертифицированных продуктов с сертифицированных продуктов с различными группировками
P bl
R
ti
Problem Reporting – поддержка жизненного цикла проблем с тестами и сертификацией, б
б
31
а также база известных ошибок.

Технологии тестирования
Технологии тестирования
Р
б й
Разработка и адаптация технологий тестирования для автоматизированной разработки тестов различных уровней "цена разработки тестов различных уровней "цена и качество":
U iTESK
б
UniTESK - технология и средства для глубокого тестирования.
T2C
методология и инструменты для
T2C – методология и инструменты для разработки тестов "обычного" качества.
Azov – уникальная технология для
Azov
уникальная технология для автоматизированной массовой разработки простых тестов (разработанная специально для
32
Linux Foundation с учетом LSB специфики).

Разработка новых тестов
Разработка новых тестов
100 120
er
faces
80
t]
100%
I
n
te
Shallow
60
w
it
h
[
almo
st
T
est
ed
Normal
20 40
L
ib
ra
ri
es
w
Deep
0 20
End 2007
LSB 4 0
LSB 5 0
% o
f
L
33
End 2007
LSB 4.0
LSB 5.0
Time

Заключение
Заключение

Through the definition and testing of operating system
interfaces, the LSB creates a stable platform that
benefits both developers and users

benefits both developers and users.
Linus Torvalds

An interface standard is only as good as its testsuites

(стандарт на интерфейсы хорош настолько, насколько
)
хороши тесты для него)
Ian Murdok, CTO, The Linux Foundation

Lack of testing threatening stability of Linux”
(недостаток тестирования угрожает стабильности Linux)
34
( д р
у р
)
Andrew Morton, Linux kernel maintainer.

Контакты
Контакты
Центр верификации ОС Linux
Центр верификации ОС Linux http://linuxtesting.org htt //li t ti http://linuxtesting.ru info-lvc@linuxtesting.org
Институт системного программирования РАН
р р р
http://ispras.ru
Владимир Рубанов
Владимир Рубанов vrub@ispras.ru
Моб +7 916 117 25 28 35
Моб. +7-916-117-25-28


Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал