Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен по курсу ОСс и ОСТ20081.doc
Скачиваний:
7
Добавлен:
28.09.2019
Размер:
1.57 Mб
Скачать

37. Базовые программные средства для создания приложений в ос unix. Краткая характеристика.

Все инструменты базового уровня доступны на уровне командной строки. Они включены в систему для разработчика (Development System), которая обеспечивает полный набор средств для разработки приложений, работающих в среде продуктов соответствующей версии ОС UNIX. В основной набор средств включены: компиляторы с языка Си (GCC), утилита make, программа отладки (GDB), системы обслуживания и контроля исходного кода программы (CVS, SCCS) и другие средства.

38. Фонд свободного по (fsf). Общая характеристика.

Фонд свободного ПО представляет собой во многом исключительное явление в современном мире программирования. FSF - это программистская организация, основанная и возглавляемая Ричардом Столманом. В самой общей постановке, задачей FSF является устранение ограничение на копирование, распространение, изучение и модификацию программ для компьютеров. Для достижения этой общей цели FSF стимулирует разработку и использование свободного ПО, ориентированного на широкий класс применений. В своём «манифесте GNU» Р.Столман в качестве основной идеи, приведшей к FSF, и проекта GNU, выдвигает своё неприятие права собственности на программу.

ПРИМЕР. Особенности взаимоотношений в сообществе программистов часто ставят людей перед выбором следования естественному чувству дружбы и взаимопомощи или подчинения препятствующему этому закону о собственности. При использовании FSF необходимость такого выбора исчезает.

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

39. Fsf и проект gnu.

FSF (Free Software Foundation) – программистская организация, основанная и возглавляемая Ричардом Стомманом.

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

Для достижения этой задачи FSF стимулирует разработку и использование ПО, ориентированного на широкий класс применения. В своём манифесте GNU Ричард Стомман в качестве основной идеи возникновения FSF приводит как аргумент неприятие права собственности на программы.

FSF предоставляет очень важную возможность использования хорошего ПО в учебных целях.

FSF ведёт разработку программ в рамках проекта GNU.

Целью проекта GNU является создание полной интегрированной программной системы, средства которой совместимы с возможностями среды ОС UNIX.

Примечание: Аббревиатура GNU расшифровывается рекурсивно GNUs Not UNIX.

ПО FSF является «свободным» в двух смыслах:

1. Любую программу можно свободно копировать и передавать кому угодно.

2. Наличие исходных текстов программы обеспечивает возможность свободного изучении программ, их улучшения и распространения доработанных вариантов. Подобно тому, как права компании (обычно), производящих ПО, охраняются их знаком авторских прав (copyright), свобода программных систем FSF защищается знаком «copyleft», что является комбинацией copyright и присутствующих во всех текстах FSF документов с заголовком «GNU General Public License». В этом документе о правах, которыми располагает любой текущий владелец данного текста и о возможности изъятия этих прав у любого другого субъекта. Основная деятельность FSF состоит в разработке новых составляющих свободного ПО в рамках проекта GNU. Большей частью проект GNU развивается плановым образом, но FSF принимает для свободного распространения и программы, разработанные в фирмах и частыми лицами по собственной инициативе.

Кроме того, FSF занимается производством и продажей носителем со свободным ПО, подготовкой, публикацией и распространением руководств по различным компонентам ПО GNU, а также поддерживает и распространяет справочники услуг, т.е. список фирм и частных лиц, которые оказывают платные услуги пользователям программ и систем из проекта GNU. Финансовой основой FSF является продажа CD с текстами программ проекта GNU, документации в электронной и бумажной форме, а также спонсорство фирм и частных лиц.

Наиболее интересные программные продукты, распространяемые FSF:

- редакторы Vi, Vim, Emax,…;

- GCC (переносной оптимизирующий компилятор);

- отладчик GDB (для Си, Си++, Фортрана).

- для работы с версиями программ в больших проектах используется система CVS (Concurent Version System), RSC (Revision Control System),…

40. GNU и Linux.

Линус Торвальдс (Linus Benedict Torvalds) - автор и ведущий разработчик   ядра Unix-подобной операционной системы Linux. {Linu (s) X}

Вариант операционной системы GNU, использующий ядро Linux, широко известен, хотя эту систему часто называют “Linux”, более корректно её называть система GNU/Linux.)

GNU/Linux создавалась и развивалась в соответсвии с идеями и принципами FSF.

"Я очень признателен разработчикам gcc, которые создали высококачественный компилятор и которым любой может воспользоваться” - однажды сказал Линус Торвальдс , Но ….полностью идеи свободного ПО он не разделяет.

Ричард Столлман говорит : “…суть в том, что Торвальдс считает себя разработчиком всей системы целиком. Многие люди так и думают. Хотя на самом деле, система состояла намного больше из GNU, чем из Linux. Мы не хотим спорить, чей вклад в систему был более значимым, мы лишь предлагаем называть систему GNU/Linux, чтоб не оставлять никого в обиде”.

В 1991 году Линус Торвальдс, финский студент, чрезвычайно увлекся идеей написать совместимое с UNIX ядро операционной системы для своего персонального компьютера с процессором архитектуры Intel 80386.

Прототипом для будущего ядра стала операционная система MINIX: совместимая с UNIX операционная система для персональных компьютеров, которая загружалась с дискет и умещалась в очень ограниченной в те времена памяти персонального компьютера. MINIX был создан Энди Танненбаумом в качестве учебной операционной системы, демонстрирующей архитектуру и возможности UNIX, но непригодной для полноценной работы с точки зрения программиста. Кроме того, MINIX можно было использовать только в некоммерческих целях. Именно полноценное ядро для своего ПК и хотел сделать Линус Торвальдс. Название для своего ядра он соорудил из собственного имени, заменив последнюю букву и сделав его похожим на анаграмму слова UNIX.

Важнейшую роль в развитии Linux сыграли глобальные компьютерные сети Usenet и Internet. На самых ранних стадиях автор Linux обсуждал свою работу и возникающие трудности с другими разработчиками в телеконференции comp.os.minix в сети Usenet, посвященной операционной системе MINIX, т.е. над ядром работал уже не один человек, и разработка пошла быстрее и эффективнее.

В 1992 году версия ядра Linux достигла 0.95, а в 1994 году вышла версия 1.0. Это означало, что разработчики, наконец, сочли ядро в целом законченным и все ошибки (теоретически) – исправленными.

Нельзя сделать операционную систему без ядра, так и ядро будет бесполезно без утилит, которые использовали бы его возможности. Благодаря проекту GNU Линус Торвальдс с самого начала имел возможность задействовать в Linux свободные утилиты: bash, компилятор gcc, tar, gzip и многие другие уже известные и широко используемые приложения, которые могли работать с его UNIX-совместимым ядром. Так Linux сразу попал в хорошее окружение и в сочетании с утилитами GNU представлял собой очень интересную среду для разработчиков программного обеспечения даже на самой ранней стадии своего развития.

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

41-42. Основные этапы разработки приложений. Анализ исходного текста. Сохранение различных вариантов исходного текста.

1. Создание исходного кода программы (текста программы)

Vi, Vim

2. Анализ исходного текста.

CB – форматирование исходного кода на Си.

CSCOPE –исследование функций, содержащихся в программе.

CSLAW – идентификация уровня вложенности функций, содержащихся в программе.

CXREF – создание таблицы перекрёстных ссылок для функций и переменных, используемых в программе.

lint – критическая проверка программ, написанных на языке Си. Обнаруживает многие типы ошибок. Не создаёт объектный файл, она просто формирует предупреждения и комментарии к исходному тексту.

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

3. Сохранение различных вариантов исходного текста.

CVS

SCCS

CVS (Concurrent Versions System) — программный продукт, относящийся к разряду Система управления версиями ( Version Control System ). Хранит историю изменений определённого набора файлов, как правило текстовых, например, исходного кода программ и облегчает совместную работу группы людей (часто — программистов) над одним проектом. CVS популярна в мире Открытого ПО. Система распространяется на условиях лицензии GNU GPL.

Упрощенная схема системы работы CVS включает следующие основные шаги:

  1. Создание хранилища (репозитория).

  2. Создание рабочего каталога и размещение в нем отлаживаемой программы (текущей версии).

  3. Передача текущей версии исходного файла под управление системе CVS.

В течение разработки текста программы часто желательно отслеживать изменение программного кода (кто, когда и какова причина изменения). Если над программой работает два и более человека, они не должны делать изменения одновременно.