Page 1 of 2
Стать разработчиком
Posted: Thu Sep 22, 2011 11:42 pm
by asmars
Доброго времени суток!
Ребята, такой вопрос: можно ли как то присоединиться к господам разработчикам??
ассемблерщик - это громко сказано, но кое что я понимаю..
сам только что начал писать ОСьку, написал загрузчик, и тут увидел Колибри.. я знал, конечно что такое есть.. но тут понял что это то, что хочу сделать я)
________________
Правильно поставленный вопрос = половина ответа.
Re: Стать разработчиком
Posted: Fri Sep 23, 2011 12:11 am
by Mario
Привет.
Да, конечно. Присоединяешься и начинаешь работать. Никаких командиров и указчиков чего тебе делать в сообществе нет - делаешь то что сам желаешь. Важно лишь координировать свои действия с другими, если начнешь вдруг менять код существующих проектов, чтобы не создавать сложностей себе и другим. Специальных материалов не много, в основном они разбросаны по форуму. Есть еще 3 выпуска электронного журнала для Колибри, можно оттуда кое-чего узнать.
Re: Стать разработчиком
Posted: Fri Sep 23, 2011 8:12 am
by SoUrcerer
Я бы советовал скачать репозиторий Колибри (например через websvn.kolibrios.org), компилятор fasm, эмулятор qemu, что-нибудь для редактирования образов дисков (winimage или mount),официальный дистриб 0.7.7.0 (с ним идет документация) и ночную сборку (на ней экспериментировать), и еще можно скачать sdk ( на сайте ).После этого читать инструкции из официального дистрибутива, открыть sysfuncs в отдельном окошке и не закрывать, компилировать код из папки programs/develop/examples с svn,начиная с самого простого. После того,как простые учебные программы заработают без правок, можно понемногу их менять,изучать системные вызовы. В этом поможет sdk и электронные журналы. Смело задавай вопросы на форуме, тебе скорее всего подскажут и помогут. Даже тема есть-помогите новичку. Она очень интересная:)
В Колибри есть библиотеки,они нужные и важные.Информация по ним есть на нашей вики.
Когда освоишься с кодом для Колибри, можешь переходить к самому ядру:) тут тебе помогут уже другие люди.
Как уже сказал Mario, в проекте никто никого не заставляет делать что-то.Мы работаем над Колибри потому, что нам это нравится. Это накладывает определенные ограничения на разработчиков. Во-первых, мы считаем, что Си (Паскаль, что угодно кроме асма) в коде ядра - некруто и некошерно, ломает весь кайф:) Во-вторых, сюда приходили десятки, если не сотни людей, которые заявляли "Хочу интернет/тридэ/мужиков с ружьями/офис", и не хотели пальцем о палец ударить для реализации своих хотелок. Разработчикам, понятное дело, это не нравится, поэтому есть что-то вроде правила: если тебя не спрашивали об идеях, а ты сам ее предложил-есть ненулевая вероятность,что эту идею будешь воплощать в жизнь только ты. Однако толковые идеи всегда приветствуются. Для идей своих будущих проектов есть целый форум "Идеи", а для хотелок- тема "Что я хочу увидеть в Колибри завтра" (и мне кажется, что добрая половина хотелок все же была реализована доброй половиной разработчиков). В-третьих, мы в основном обмениваемся экспериментальным кодом на форуме,а стабильный заливаем на svn.Перед каждым коммитом нужно делать diff.Во избежание.А то были случаи.В-четвертых, оскорбления недопустимы.А то и бан можно получить. В-пятых, напиши хорошую программу-к тебе будут относиться как к автору хорошей программы. читай форум, тысяча его тем будет полезна для тебя как разработчика, читай исходный код. Опыт людей в чистом виде. Удачи;)
Re: Стать разработчиком
Posted: Fri Sep 23, 2011 9:15 am
by asmars
Ребят, спасибо;)
Я сам презираю "кодеров" на Си, и всему этому высокоуровневому дер*** . Но в тоже время, один "не последние человек" в ИТ мире, сказал что кодеры С нужны сейчас, нужны толковые кодеры. А не такие как у меня 95% группы, они и на секунду представить не могут на кого они учатся. Асм-кодер, мало кому надо в наше время. НО! Но асм = сила ! Я считаю что если не понимать как все происходит на низком уровне, то можно вообще не соваться в ПК.. Я очень хочу понимать как все происходит, тем более асм - начало всего.. знаешь асм - выучишь и brainfuck

для этого "понимания" решил попробовать пройти "путь воина", создать свою ОСьку, написать каждый драйвер, каждый обработчик своими ручками. Сейчас буду пробовать разбираться в Колибри. По мере дружбы с Колибри, буду писать свою ОСЬку, это для того что бы не ходить на пары по кодингу.. т.к. препод ни материала не знает, с книжки прочитать не может даже.. я с ним договорился я пишу более менее полноценную ОС, и он мне ставит все зачеты, и курсач..
"Перед каждым коммитом нужно делать diff.Во избежание" - поясните..
______________
Живу в Киеве, Родина - Беларусь;)
Учусь в колледже, на втором курсе. Специальность - "Программист - технолог".
Интересует все что связано с ИТ миром, фехтование, книги, не однообразные люди.
Re: Стать разработчиком
Posted: Fri Sep 23, 2011 9:46 am
by SoUrcerer
asmars wrote:кодеры С нужны сейчас, нужны толковые кодеры. А не такие как у меня 95% группы
Факт - нужны талантливые люди нужны всегда.
asmars wrote:для этого "понимания" решил попробовать пройти "путь воина", создать свою ОСьку, написать каждый драйвер, каждый обработчик своими ручками.
Задача непростая. Для "понимания" я лично пошел учиться на инженера микроэлектроники. Четвертый курс - дисциплины "Микропроцессорная техника", "Отладочные средства микропроцессоров", "Системы сбора данных на МП", "Ассемблер". Дождался. Простую ОС действительно можно написать довольно быстро, чуть ли не за вечер. Смотря что она должна уметь.
asmars wrote:"Перед каждым коммитом нужно делать diff.Во избежание"
Есть такая замечательная программа - subversion. С ее помощью можно хранить исходный код программ в сети Интернет. Люди могут скачивать исходный код, делать свои исправления и затем закачивать их через subversion. Отправка кода называется "коммит". После того, как код отправлен, subversion присваивает исходному коду новый номер версии - ревизию (сейчас у нас уже 2234я ревизия). В нашем случае сразу после коммита специальная программа генерирует дистрибутив системы - ночную сборку. Если в коде, который был отправлен командой коммит, были ошибки, то пока они не будут исправлены, ночные сборки генерироваться не будут. Кроме того, командой коммит в сеть отправляются все исправления, сделанные в локальном репозитории (хранилище) данных subversion. Если автор коммита
случайно удалит какую-нибудь "i]"ненужную"[/i] папочку с исходным кодом ядра или программами, то эта папка так же удалится на сервере, ночные сборки перестанут генерироваться, и более того - все люди, которые после такой правки скачают себе новую ревизию исходных кодов, потеряют эти папки на своем компьютере. Конечно, можно будет восстановить, но лучше так не делать. Для того, чтобы предотвратить такие ситуации, в программе subversion есть команда diff. Она позволяет посмотреть, что именно будет загружено, удалено и переименовано.
p.s. Насколько я знаю, немалое количество разработчиков Колибри пользуется Linux и/или консольными программами для разработки Колибри - Qemu, SVN, fasm и так далее. Если с этим проблемы, то тоже стоит спросить на форуме или в личных сообщениях.
Re: Стать разработчиком
Posted: Fri Sep 23, 2011 10:05 am
by asmars
Спасибо, за пояснение!
С Никсами проблем нет. Правда недавно каким то чудом слетели иксы.. но то ничего.. поставлю что то себе, но не убунту! что то из ред хат подобного.. сейчас стоит федора.. с фасмом также, нет проблем, вот только с остальным.. QEMU какой то эмулятор, по моему.
Прочитал на вики
Система рассчитана на использование ассемблера для написания приложений, но есть и программы, написанные на языках высокого уровня (Си, C++, C--, Free Pascal, Forth).
что на сях тоже что то есть? или я чего то не допонимаю.
кстати, а сколько пользователей у Колибри ?
пользуются ли Колибри, как основной ОС ?
____________________
не в тему, но.. ребят вот мой загрузчик.. а как корректно выгрузиться из системы и выключить комп??
Code: Select all
use16
org 07c00h
main:
jmp far 0000:entry1
entry1:
cli
mov ax,cs
mov ds,ax
sti
mov ah,14
xor bl,bl
mov bx,tex
strt:
mov al,[bx]
test al,al
jz exit_
inc bx
int 10h
jmp strt
exit_:
cli
jmp $
tex db 'Hello ASM World',0Dh,0
times 510-($-main) db 0
db 0x55, 0xAA
Re: Стать разработчиком
Posted: Fri Sep 23, 2011 10:31 am
by SoUrcerer
asmars wrote:QEMU какой то эмулятор, по моему.
Именно так. QEMU - это эмулятор. Перезагружаться из рабочей системы в Колибри слишком долго - потому что укуришься ждать даже 25 секунд запуска Linux. Поэтому правки проверяются в основном в qemu.
asmars wrote:что на сях тоже что то есть? или я чего то не допонимаю.
Конечно есть на Си. В дистрибутив входят программы checkers, shell и table, написанные на Си (может еще какие-то входят), кроме того, есть FreeType, DosBox, Quake, Doom, ScummVM, Mesa и много всего другого.
asmars wrote:кстати, а сколько пользователей у Колибри ?
пользуются ли Колибри, как основной ОС ?
Сейчас я могу сказать, что только последняя официальная версия была загружена более 200 тысяч раз. Каждый месяц число загрузок увеличивается еще примерно на 10 тысяч. Мне неизвестно, пользуются ли
сейчас Колибри, как основной системой, но некоторое время назад один из разработчиков -
Asper - жил в Колибри. Сам я неоднократно использовал Колибри для оживления мертвых компьютеров. Ах да, забыл, это основная ОС на моем нетбуке.
Re: Стать разработчиком
Posted: Fri Sep 23, 2011 10:54 am
by asmars
Круто
Сам я неоднократно использовал Колибри для оживления мертвых компьютеров
Если не секрет, как можно использовать Колибри, в этом направлении ?
Re: Стать разработчиком
Posted: Fri Sep 23, 2011 11:10 am
by SoUrcerer
Я неоднократно копировал с помощью Колибри данные с поврежденных NTFS-томов, которые вызывали у Windows и Linux шок. Кроме того, Колибри хорошо работает и на системах без жестких дисков вообще. С Колибри компьютер меньше греется, и там, где DOS работает долго и стабильно, а с Windows через полчаса комп умирает от жары - Колибри работает не хуже DOS. Колибри непритязательна к видеокартам. На нескольких компьютерах, с которыми я работал, видеокарта (в основном это были GeForce) глючила с "родными" драйверами в Windows и Linux, а в VESA-режиме в Колибри работала прекрасно.
Когда под рукой нет быстрого интернета и диска с ОС, а родная система "слетела" - можно скачать Колибри и играться в простые игрушки, пока диск с ОС не появится.
Re: Стать разработчиком
Posted: Fri Sep 23, 2011 11:57 am
by art_zh
SoUrcerer wrote:Перезагружаться из рабочей системы в Колибри слишком долго - потому что укуришься ждать даже 25 секунд запуска Linux. Поэтому правки проверяются в основном в qemu.
Я не пользуюсь qemu - правлю только на реальном железе. Правда, код очень сильно к этому железу привязан.
Перезагрузка Колибри - это 5-10 секунд, не понимаю зачем нужен Линукс.
SoUrcerer wrote:
Сейчас я могу сказать, что только последняя официальная версия была загружена более 200 тысяч раз. Каждый месяц число загрузок увеличивается еще примерно на 10 тысяч. Мне неизвестно, пользуются ли сейчас Колибри, как основной системой, но некоторое время назад один из разработчиков - Asper - жил в Колибри. Сам я неоднократно использовал Колибри для оживления мертвых компьютеров. Ах да, забыл, это основная ОС на моем нетбуке.
Встраиваемая А-версия
сейчас используется в системах технического зрения и биохимических экспериментах.
И еще - для диагностики и тестирования нестандартной компьютерной периферии, например, прототипов PCIe-устройств.
Re: Стать разработчиком
Posted: Mon Sep 26, 2011 2:52 am
by Freeman
Если я скажу, что будет неплохо, если разработчики поделится своим опытом в виде заметки "Как я пишу под Колибри" -- это "вумный совет" или действительно полезная вещь?
Типа, я пишу под [ОС], использую [редактор], компилю прямо из него, настройка для FASM [такая]. Чтобы записать скомпилированный файл в образ Колибри, пользуюсь [программой или драйвером]. Запускаю в [эмуляторе], команда [такая]. В самой Колибри для запуска использую [файловый менеджер]. Отлаживаю [отладчиком] так-то...
Получится вполне себе описалово, не? И каждому новичку не надо было проходить обряд посвящения через поиск программ и задавание вопросов на форуме. Собрать и на вики разместить.
Re: Стать разработчиком
Posted: Mon Sep 26, 2011 6:52 am
by asmars
Freeman, да, не плохо было бы!
Еще можно сделать спец.раздел для такого на вики, и там описывать работу с каждой прогой помогающей так или иначе при разработке.. писать особенности..
Еще можно было бы сделать что то вроде репозотория, что бы без проблем можно было найти что то.. хотя в основном все оупенсорс.. но ничего, если все будет собрано в одном месте, будет удобнее

Re: Стать разработчиком
Posted: Mon Sep 26, 2011 7:08 am
by SoUrcerer
ОК. Моя основная среда разработки - linux, в качестве текстового редактора использую nano (иногда leafpad). Компилирую Сишный код через make-файлы и ассемблерный командой fasm из командной строки (до этого я скопировал fasm в /usr/bin/). Файлы закидываю на образ с помощью mtools:
mcopy -moi ~/kolibri.img file ::file
Запускаю в эмуляторе qemu:
qemu -fda ~/kolibri.img -boot a -vga vmware
Re: Стать разработчиком
Posted: Mon Sep 26, 2011 10:14 am
by Serge
У меня основная среда Windows. Редактирую и компилирую fasm в MultiEdit. Для проектов на Си использую cygwin. Файлы в образ закидываю Winimage. Эмуляторы Qemu, VirtualBox, Bochs.
Re: Стать разработчиком
Posted: Mon Sep 26, 2011 4:05 pm
by lev
Windows
Fasm, С--, самописные пакеты для Hiasm fasm и С--
Редактирование плагином для ТС - Syn 1.5
Компиляция кодов даблкликом из TC. Hiasm компилирует соответствующими вызовами.
В fasm'овских exe заменил hexредактором .bin на .kex, чтобы не возиться с переименованиями или строками переименовки в батниках.
Тестирование - KlbrInWin, Qemu
Закидывание на образ - архиваторным плагином для TC Imaginator, в отличие от монтирующих файлсистемных - не лочит образ, не надо монтировать-размонтировать.
Время от времени пробую всякие C, mbasic и т.п.