В общем...Тема моего доклада теперь звучит так:
"Технологии разработки программного обеспечения в Linux на С++ под ОС KolibriOS", если конкретнее, то на примере моего kcc. По ходу дела я разумеется буду рассказывать о самой колибри и мне интересно были ли какие-нибудь прецеденты её реального и полезного использования, хотя бы конкретно для своих нужд. Был бы очень благодарен если вы напишите. Конференция будет проходить 17 числа в МГТУ им.А.Н.Косыгина (Текстильном). Я студент Факультета Информационных Технологий , специальность САПР.
Вот составленный мной план, потом если кто-то заинтересуется могу выложить и презентацию.
Code: Select all
1. Обзор мини ОС, плюсы и минусы
а) ReactOS - Размер 39 Mb, OpenSource версия WinNT 128-256mb RAM
б) Damn Small Linux - Размер 50 Mb, 16 MB RAM , Базируется на Linux
в) miniBSD - Размер 12-15 Mb, 32-256mb RAM , Базируется на FreeBSD
г) KolibriOS - Размер 1.5 Mb, 8-16mb RAM, Уникальная система, потомок MenuetOS
2. Задачи и области применения
а) Быстрая загрузка ОС для манипуляции файлами
б) Восстановление базовой системы
в) Демонстрационный стенд
г) Система управления производством
3. Причины выбора KolibriOS, обзор ПО и инструментария
а) Малые системные требования, встроенный полноценный графический интерфейс
б) Поддерживает основные ФС: fat12\16\32 , ntfs, ext2\3
в) Основной инструмент разработки в системе - fasm, а изучение ассемблера и было моей главной целью
4. Причины отказа от ASM , рассмотрение его + и -
а) +На нём можно писать сверхкомпактные и сверхбыстрые программы
б) +API ядра изначально ориентированно на fasm
в) -Не удобен после современных языков
г) -Нет столь удобных вещей как Структуры\Классы и прочие радости ООП
д)-Привычка программировать на С\С++\Perl
5. Решение - написание kcc, Цели, База
а) Цель: получить удобный , полнофункциональный кросс-компилятор Си для колибри
б) Цель: Изучить asm AT&T и Intel синтаксисов, и API KolibriOS
в) Цель: Изучить принципы работы компиляторов С\С++ и работы стандартной библиотеки Си
г) База: Компилятор Си\C++ - GCC\G++ , Perl 5
д) База: Debian Linux 5
6. Метод работы
1) Написание программы на Си\С++
2) Преобразование в AT&T ассемблерный листинг (g++ -S file.cpp -> file.s)
3) kcc преобразует листинг AT&T в программу на ассемблере пригодную для колибри в Intel синтаксисе (kcc file.s -> file.asm)
4) fasm преобразует асм программу для колибри в бинарный файл (fasm file.asm file -> file)
7. Примеры программ
8. Вопросы.