WWW.DISS.SELUK.RU

БЕСПЛАТНАЯ ЭЛЕКТРОННАЯ БИБЛИОТЕКА
(Авторефераты, диссертации, методички, учебные программы, монографии)

 

MINIX 3. Портирование POSIX программ

Цилюрик О.И.

< [email protected] >

Редакция 1.07

от 03.06.2010

Оглавление

Аннотация

Введение

Версии системы

Обозначения в тексте

Компиляция и сборка POSIX программы / проекта

Тестовый проект

Компиляция отдельных программ

Полезные советы относительно компиляции

Оформление собственного проекта Autoconf/Automake

Перенос проекта, подготовленного Autoconf/Automake

Полезные советы конфигурирования

Оформление MINIX пакета

Дополнительные источники информации

Аннотация Описываются некоторые приёмы перенесения проектов GNU и отдельных программ, соответствующих стандартам POSIX, в систему MINIX 3.

Введение Портирование программного обеспечения в MINIX из POSIX совместимых систем (чаще всего из Linux или *BSD) является во многих случаях нетривиальным, но и не невыполнимым. Главная часть работы зачастую заключается в изменениях в Makefile или скриптов сборки. Перекодирование больших частей программного обеспечения требуется только либо для программ, которые частично или полностью выполняются в пространстве ядра, либо для программ, использующих POSIX API, не реализованные в MINIX (например, потоки, и все API вида pthread_*()).

При портировании любой программы в MINIX нам предстоит рассматривать последовательно несколько задачи:

Компиляция и сборка POSIX проекта. На этом этапе программный код, написанный и проверенный для другой POSIX системы, вам предстоит собрать в совершенно не предусмотренной этим кодом среде — операционной системе MINIX.

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

Скрипты (утилиты) установки и удаления программных пакетов в системе, такие, как существующие:

packman, binpackage etc., или недостающие, которые нужно дописать.

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

Версии системы Версии MINIX3 в очень большой мере «волатильны» - разработчики часто вносят существенные изменения, даже не считая должным отражать их даже в MAN страницах. Вся основная часть описания отрабатывалась на стабильной версии 3.1.6 (релиз 6084). В используемой вами версии могут быть, порой, довольно существенные отличия, но основные принципы при этом сохраняются.

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

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

это может быть простейшая тестовая программа на языке C, написанная вашим соседом по лестничной клетке, не содержащая в своём составе даже файла сборки Makefile;

это может быть (чаще всего) программный проект, подготовленный к сборке GNU инструментарием Autoconf/Automake;

это может быть просто программный проект, подготовленный к сборке другой технологией (их число постоянно множится), пример такой технологии, достаточно часто уже встречаемой, cmake;

это может быть программный проект (даже весьма объёмный), полностью написанный на скриптовом языке shell, синтаксические детали языков shell (ash, bash, zsh) различаются; кроме того могут различаться файловые пути различных компонент в системе;

это может быть программный проект, написанный на другом языке программирования, отличающемся от C, в этом случае вам придётся проверить наличие такого языкового средства в системе, или установить его (самым ярким примером этого случая является C++, который потребует установки компилятора gcc);

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

К этому моменту рассмотрения будем считать, что вы уже скачали архив интересующего вас проекта в архиве форматов *.tgz, *.tar.gz, или *.tar.bz2, и разархивировали его в рабочий каталог.

Тестовый проект.

В качестве тестового проекта, который пройдёт через все разделы описания, я буду рассматривать портирование довольно известного пакета dbug-2.0.0 (http://sourceforge.net/projects/dbug/files/) — объектной библиотеки внутреннего отладчика. В минимально достаточном объёме нам достаточно перенести в наш проект:

Makefile dbug.c dbug.h # make gcc -g -Wall -c -o dbug.o dbug.c LANG=ua; gar -r libdbug.a dbug.o gar: creating libdbug.a Для возможности тестирования того, что мы собрали, добавим к проекту тестовую задачу fact_dbug.c:

#include #include #include #include "dbug.h" unsigned long factorial( int value ) {.

unsigned long res;

DBUG_ENTER( "factorial" );

DBUG_PRINT( "info", ( "Got argument: '%d'", value ) );...

if( 1 == value || 0 == value ) DBUG_RETURN( 1 );

res = value * factorial( value - 1 );

DBUG_RETURN( res );

int main( int argc, char* argv[] ) { register unsigned long result;.

int i;...

DBUG_ENTER( "main" );

DBUG_PROCESS( argv[ 0 ] );

for( i = 1; i < argc && argv[ i ][ 0 ] == '-'; i++ ) { printf( "usage: %s [-#{d|t|O}] \n", argv[ 0 ] );

result = factorial( atoi( argv[ i ] ) );

printf( "%ld\n", result );

DBUG_RETURN( 0 ) Всё, что есть DBUG_* - это и есть макросы пакета dbug, прикомпонованного к тестовой задаче статически (в MINIX 3 никакой иной компоновки не существует). Полный файл сборки Makefile теперь имеет вид :

CC=gcc -g -Wall AR=gar LIST=dbug fact_dbug fact_dbug: fact_dbug.c clean:

rm -f *.o *.a $(LIST).

Всё, проект в смысле законченной задачи выполняющейся в MINIX 3, завершён:

# make gcc -g -Wall -c -o dbug.o dbug.c LANG=ua; gar -r libdbug.a dbug.o gar: creating libdbug.a gcc -g -Wall -o fact_dbug fact_dbug.c dbug.o #./fact_dbug -#t | >factorial | | >factorial | | | >factorial



Похожие работы:

«Руководство кандидатана новые gTLD (30 мая 2011 г. Потенциальным кандидатам следует учитывать, что данная версия Руководства еще находится на рассмотрении и пока не утверждена. Изложенные здесь положения Программы новых gTLD могут быть пересмотрены и изменены. 30 мая 2011 г. 30 мая 2011 г. Уважаемый будущий кандидат! Благодарим Вас за интерес к Программе новых общих доменов верхнего уровня. В результате запуска этой эпохальной программы пользователям Интернета может быть предоставлен более...»

«УТВЕРЖДАЮ Первый проректор по учебной работе ФГБОУ ВПО Алтайский государственный университет Е.С. Аничкин _ 2014 г. ПРОГРАММА вступительного испытания для поступающих в магистратуру факультета массовых коммуникаций, филологии и политологии Направление 41.04.04 – Политология (магистратура, магистерская программа Политическое управление и PR) Предмет Междисциплинарный экзамен по политологии I. Вводные замечания (по форме проведения вступительных испытаний). II. Программа вступительных испытаний....»

«Учреждение образования Белорусский государственный технологический университет УТВЕРЖДЕНА Ректором БГТУ профессором И.М. Жарским 30.04.2010 г. Регистрационный № УД-308/баз. ОБОРУДОВАНИЕ И ПРОЕКТИРОВАНИЕ ПРЕДПРИЯТИЙ ПОДОТРАСЛИ Учебная программа для специальности 1-48 01 01 Химическая технология неорганических веществ, материалов и изделий специализаций 1-48 01 01 06 Технология стекла и ситаллов и 1-48 01 01 10 Технология эмалей и защитных покрытий 2010 г. УДК 666.3.022.2:621.927(073) ББК 35. О...»

«Лицензионный договор-оферта на право использования программы для ЭВМ DEXMA в однопользовательском режиме Настоящий Лицензионный Договор (далее Договор) регулирует отношения между ООО ДЕКСМА Лабс, именуемым в дальнейшем Правообладатель, и Пользователем. 1. ОСНОВНЫЕ ПОНЯТИЯ 1.1. Используемые в настоящем Договоре слова и выражения имеют следующие значения, если иное прямо не определено далее по тексту: Программа – результат интеллектуальной деятельности, программа для ЭВМ Система управления...»

«ФЕДЕРАЛЬНАЯ ЦЕЛЕВАЯ ПРОГРАММА ГОСУДАРСТВЕННАЯ ПОДДЕРЖКА ИНТЕГРАЦИИ ВЫСШЕГО ОБРАЗОВАНИЯ И ФУНДАМЕНТАЛЬНОЙ НАУКИ МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ В ЕСТЕСТВЕННЫХ НАУКАХ Пермь 2001 Российская академия наук Межгосударственный координационный совет по физике прочности и пластичности Департамент образования и науки администрации Пермской области Городской комитет по образованию и науке (г.Пермь) Пермский государственный технический университет Институт механики сплошных сред УрО РАН МАТЕМАТИЧЕСКОЕ...»

«ЭЛЕКТРОННЫЙ ОБРАЗОВАТЕЛЬНЫЙ РЕСУРС. ЭЛЕКТРОННЫЙ КОНСПЕКТ ЛЕКЦИЙ ОСНОВЫ КОНСТРУИРОВАНИЯ И ТЕХНОЛОГИИ ПРОИЗВОДСТВА РЭС Кандырин Ю.В., Покровский Ф.Н., Сазонова Л.Т. / под Авторы общей редакцией проф. Ю.В. Кандырина Радиотехника Направление подготовки Основы конструирования и технологии производства Дисциплина РЭС (ОКиТП РЭС) CD в электронной библиотеке каф. РПУ МЭИ (ТУ). Адрес ресурса 111250, г. Москва, Красноказарменная 14 Контактная ГОУ ВПО МЭИ (ТУ), кафедра РПУ, информация тел. (945)...»

«БЕЛОРУССКИЙ   ГОСУДАРСТВЕННЫЙ   УНИВЕРСИТЕТ          ОБУЧЕНИЕ ИНОСТРАННЫХ СТУДЕНТОВ              АСПИРАНТУРА    Этот буклет можно скачать по адресу:  http://www.bsu.by/ums/postuni.pdf      СИСТЕМА ОБРАЗОВАНИЯ   Программа  последипломного  образования  (Аспирантура)  направлена  на  подготовку научных работников высшей квалификации.   Обучение  проводится  на  государственных  языках  Республики  Беларусь  –  белорусском  и  русском.  В  отдельных  случаях  возможно  обучение  на ...»

«Приложение № 1. 1 к ЛИЦЕНЗИИ на право ведения образовательной деятельности от 13 сентября 2011 г. Регистрационный № 1825 Ф Е Д Е Р А Л Ь Н А Я С Л У Ж Б А ПО НАДЗОРУ В СФЕРЕ О Б Р А З О В А Н И Я И Н А У К И наименование лицензирующего органа федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Российский государственный геологоразведочный университет имени Серго Орджоникидзе (МГРИ - РГГРУ) полное и (в случае, если имеется) сокращенное...»

«Федеральное агентство по образованию Государственное образовательное учреждение высшего профессионального образования Ивановский государственный энергетический университет им. В.И.Ленина Электроэнергетический факультет Кафедра Электрические системы УТВЕРЖДАЮ декан ФЗВО Гусенков А.В. __2008 года РАБОЧАЯ ПРОГРАММА Дисциплина Электроэнергетические системы и сети Направление 140200- Электроэнергетика Степень (квалификация) инженер Специальность 140205. 65 – Электроэнергетические системы и сети Курс...»

«Внимание! Новая, расширенная программа по Израилю, составленная по заявкам наших туристов! 18 – 30 марта 2012 - 13 дней - от $2290 Экскурсионная программа и все посещения включены в стоимость тура. Израиль и Иордания Иорданская и Израильская земля одинаково священна для христиан, иудеев и мусульман. Ведь все события, описываемые в Ветхом и Новом Заветах, протекали именно здесь. По земле Иордании и Израиля ходили Авраам и Моисей, Иаков и Иоанн Креститель, Дева Мария и Иисус Христос. Для...»

«Министерство образования и науки Российской Федерации УДК ГРНТИ Инв. № УТВЕРЖДЕНО: Исполнитель: Государственное учебно-научное учреждение Факультет вычислительной математики и кибернетики Московского государственного университета имени М.В.Ломоносова От имени Руководителя организации / Моисеев Е. И. / М.П. НАУЧНО-ТЕХНИЧЕСКИЙ ОТЧЕТ о выполнении 2 этапа Государственного контракта № 16.740.11.0570 от 30 мая 2011 г. Исполнитель: Государственное учебно-научное учреждение Факультет вычислительной...»

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

«Ежемесячный бюллетень. Апрель 2014 Общие положения. Кратко Суть Ссылки Утвержден Национальный план противодействия коррупции на 2014-2015 гг. Он содержит Указ Президента РФ от 11 апреля Противодействие коррупции: поручения конкретным органам власти. 2014 г. N 226 О Национальном плане национальный план на 2014Правительству РФ, в частности, даны следующие поручения. Разработать проекты типовых противодействия коррупции на 2014 гг. положений о комиссиях по координации работы по противодействию...»

«МИНИСТЕРСТВО СЕЛЬСКОГО ХОЗЯЙСТВА РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования КУБАНСКИЙ ГОСУДАРСТВЕННЫЙ АГРАРНЫЙ УНИВЕРСИТЕТ УТВЕРЖДАЮ Декан факультета перерабатывающих технологий, доцент А.И.Решетняк _ 2010 г. РАБОЧАЯ ПРОГРАММА дисциплины Математическая статистика для специальности 110305.65 – Технология производства и переработки сельскохозяйственной продукции факультета перерабатывающих технологий Ведущая...»

«Областная целевая программа Стимулирование развития жилищного строительства в Магаданской области на 2011-2015 годы (в перспективе до 2020 года) ПРОЕКТ УТВЕРЖДЕНА постановлением администрации Магаданской области от 2010 № _ Паспорт Областной целевой программы Стимулирование развития жилищного строительства в Магаданской области на 2011-2015 годы (в перспективе до 2020 года) Наименование Областная целевая программа Стимулирование развития Программы жилищного строительства в Магаданской области...»

«Программа магистерской подготовки 131000.41 Геолого-геофизические методы изучения природных резервуаров нефти и газа 2 семестр 2013 – 2014 уч.год Общая информация Основные контакты Куратор программы доц. Белоусов Александр Валерьевич ауд. 125 раб. тел. +7 (499) 1358416 e-mail: [email protected] Заведующий кафедрой проф. Рыжков Валерий Иванович разведочной геофизики ауд. 129/130 раб.тел. +7 (499) 1357026 e-mail: [email protected] Заведующий кафедрой литологии проф. Постников Александр Васильевич...»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Ярославский государственный университет им. П.Г. Демидова Математический факультет УТВЕРЖДАЮ Проректор по развитию образования _Е.В.Сапир _2012г. Рабочая программа дисциплины послевузовского профессионального образования (аспирантура) Теория алгебраических структур и представления конечных групп по специальности научных работников 01.01.06 Математическая логика, алгебра и теория чисел Ярославль 2012 1. Цели освоения дисциплины. Целями...»

«Научная программа Форума включает: Ключевые даты УРАЛЬСКИЙ НАУЧНЫЙ ФОРУМ заказные лекции ведущих ученых 10 мая: СОВРЕМЕННЫЕ ПРОБЛЕМЫ устные доклады - окончание регистрации и приема тезисов ОРГАНИЧЕСКОЙ ХИМИИ устные доклады молодых ученых докладов стендовые доклады 15 мая: XVII МОЛОДЕЖНАЯ Рабочие языки Форума: - подтверждение включения заявленных русский и английский докладов в программу Форума ШКОЛА-КОНФЕРЕНЦИЯ 25 мая: ПО ОРГАНИЧЕСКОЙ ХИМИИ Свое согласие выступить с докладами дали - окончание...»

«ИНСТИТУТ ДРУЖБЫ НАРОДОВ КАВКАЗА ОСНОВНАЯ ОБРАЗОВАТЕЛЬНАЯ ПРОГРАММА ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ по направлению подготовки 030900 Юриспруденция КВАЛИФИКАЦИЯ (СТЕПЕНЬ) МАГИСТР Программа подготовки Юрист в правосудии и правоохранительной деятельности Форма обучения очная Ставрополь 2011 Содержание 1. Общие положения 1.1. Характеристика направления подготовки 1.2. Нормативные документы для разработки основной образовательной программы по направлению подготовки 030900 Юриспруденция 1.3....»

«МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования Тихоокеанский государственный университет (ФГБОУ ВПО ТОГУ) УТВЕРЖДАЮ Ректор ТОГУ С.Н. Иванченко 2012г. ОСНОВНАЯ ОБРАЗОВАТЕЛЬНАЯ ПРОГРАММА ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ Направление подготовки 100700.62 Торговое дело 22 декабря 2009 № Профиль подготовки Коммерция Квалификация (степень) бакалавр Форма обучения [очная, заочная]. Нормативный срок освоения...»






 
2014 www.av.disus.ru - «Бесплатная электронная библиотека - Авторефераты, Диссертации, Монографии, Программы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.