Стать разработчиком

Everything you can't fit into other forums
  • Привет.
    Да, конечно. Присоединяешься и начинаешь работать. Никаких командиров и указчиков чего тебе делать в сообществе нет - делаешь то что сам желаешь. Важно лишь координировать свои действия с другими, если начнешь вдруг менять код существующих проектов, чтобы не создавать сложностей себе и другим. Специальных материалов не много, в основном они разбросаны по форуму. Есть еще 3 выпуска электронного журнала для Колибри, можно оттуда кое-чего узнать.
  • Я бы советовал скачать репозиторий Колибри (например через websvn.kolibrios.org), компилятор fasm, эмулятор qemu, что-нибудь для редактирования образов дисков (winimage или mount),официальный дистриб 0.7.7.0 (с ним идет документация) и ночную сборку (на ней экспериментировать), и еще можно скачать sdk ( на сайте ).После этого читать инструкции из официального дистрибутива, открыть sysfuncs в отдельном окошке и не закрывать, компилировать код из папки programs/develop/examples с svn,начиная с самого простого. После того,как простые учебные программы заработают без правок, можно понемногу их менять,изучать системные вызовы. В этом поможет sdk и электронные журналы. Смело задавай вопросы на форуме, тебе скорее всего подскажут и помогут. Даже тема есть-помогите новичку. Она очень интересная:)
    В Колибри есть библиотеки,они нужные и важные.Информация по ним есть на нашей вики.
    Когда освоишься с кодом для Колибри, можешь переходить к самому ядру:) тут тебе помогут уже другие люди.
    Как уже сказал Mario, в проекте никто никого не заставляет делать что-то.Мы работаем над Колибри потому, что нам это нравится. Это накладывает определенные ограничения на разработчиков. Во-первых, мы считаем, что Си (Паскаль, что угодно кроме асма) в коде ядра - некруто и некошерно, ломает весь кайф:) Во-вторых, сюда приходили десятки, если не сотни людей, которые заявляли "Хочу интернет/тридэ/мужиков с ружьями/офис", и не хотели пальцем о палец ударить для реализации своих хотелок. Разработчикам, понятное дело, это не нравится, поэтому есть что-то вроде правила: если тебя не спрашивали об идеях, а ты сам ее предложил-есть ненулевая вероятность,что эту идею будешь воплощать в жизнь только ты. Однако толковые идеи всегда приветствуются. Для идей своих будущих проектов есть целый форум "Идеи", а для хотелок- тема "Что я хочу увидеть в Колибри завтра" (и мне кажется, что добрая половина хотелок все же была реализована доброй половиной разработчиков). В-третьих, мы в основном обмениваемся экспериментальным кодом на форуме,а стабильный заливаем на svn.Перед каждым коммитом нужно делать diff.Во избежание.А то были случаи.В-четвертых, оскорбления недопустимы.А то и бан можно получить. В-пятых, напиши хорошую программу-к тебе будут относиться как к автору хорошей программы. читай форум, тысяча его тем будет полезна для тебя как разработчика, читай исходный код. Опыт людей в чистом виде. Удачи;)
  • Ребят, спасибо;)
    Я сам презираю "кодеров" на Си, и всему этому высокоуровневому дер*** . Но в тоже время, один "не последние человек" в ИТ мире, сказал что кодеры С нужны сейчас, нужны толковые кодеры. А не такие как у меня 95% группы, они и на секунду представить не могут на кого они учатся. Асм-кодер, мало кому надо в наше время. НО! Но асм = сила ! Я считаю что если не понимать как все происходит на низком уровне, то можно вообще не соваться в ПК.. Я очень хочу понимать как все происходит, тем более асм - начало всего.. знаешь асм - выучишь и brainfuck ;) для этого "понимания" решил попробовать пройти "путь воина", создать свою ОСьку, написать каждый драйвер, каждый обработчик своими ручками. Сейчас буду пробовать разбираться в Колибри. По мере дружбы с Колибри, буду писать свою ОСЬку, это для того что бы не ходить на пары по кодингу.. т.к. препод ни материала не знает, с книжки прочитать не может даже.. я с ним договорился я пишу более менее полноценную ОС, и он мне ставит все зачеты, и курсач..

    "Перед каждым коммитом нужно делать diff.Во избежание" - поясните..

    ______________
    Живу в Киеве, Родина - Беларусь;)
    Учусь в колледже, на втором курсе. Специальность - "Программист - технолог".
    Интересует все что связано с ИТ миром, фехтование, книги, не однообразные люди.
  • asmars wrote:кодеры С нужны сейчас, нужны толковые кодеры. А не такие как у меня 95% группы
    Факт - нужны талантливые люди нужны всегда.
    asmars wrote:для этого "понимания" решил попробовать пройти "путь воина", создать свою ОСьку, написать каждый драйвер, каждый обработчик своими ручками.
    Задача непростая. Для "понимания" я лично пошел учиться на инженера микроэлектроники. Четвертый курс - дисциплины "Микропроцессорная техника", "Отладочные средства микропроцессоров", "Системы сбора данных на МП", "Ассемблер". Дождался. Простую ОС действительно можно написать довольно быстро, чуть ли не за вечер. Смотря что она должна уметь.
    asmars wrote:"Перед каждым коммитом нужно делать diff.Во избежание"
    Есть такая замечательная программа - subversion. С ее помощью можно хранить исходный код программ в сети Интернет. Люди могут скачивать исходный код, делать свои исправления и затем закачивать их через subversion. Отправка кода называется "коммит". После того, как код отправлен, subversion присваивает исходному коду новый номер версии - ревизию (сейчас у нас уже 2234я ревизия). В нашем случае сразу после коммита специальная программа генерирует дистрибутив системы - ночную сборку. Если в коде, который был отправлен командой коммит, были ошибки, то пока они не будут исправлены, ночные сборки генерироваться не будут. Кроме того, командой коммит в сеть отправляются все исправления, сделанные в локальном репозитории (хранилище) данных subversion. Если автор коммита случайно удалит какую-нибудь "i]"ненужную"[/i] папочку с исходным кодом ядра или программами, то эта папка так же удалится на сервере, ночные сборки перестанут генерироваться, и более того - все люди, которые после такой правки скачают себе новую ревизию исходных кодов, потеряют эти папки на своем компьютере. Конечно, можно будет восстановить, но лучше так не делать. Для того, чтобы предотвратить такие ситуации, в программе subversion есть команда diff. Она позволяет посмотреть, что именно будет загружено, удалено и переименовано.

    p.s. Насколько я знаю, немалое количество разработчиков Колибри пользуется Linux и/или консольными программами для разработки Колибри - Qemu, SVN, fasm и так далее. Если с этим проблемы, то тоже стоит спросить на форуме или в личных сообщениях.
  • Спасибо, за пояснение!

    С Никсами проблем нет. Правда недавно каким то чудом слетели иксы.. но то ничего.. поставлю что то себе, но не убунту! что то из ред хат подобного.. сейчас стоит федора.. с фасмом также, нет проблем, вот только с остальным.. 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
  • asmars wrote:QEMU какой то эмулятор, по моему.
    Именно так. QEMU - это эмулятор. Перезагружаться из рабочей системы в Колибри слишком долго - потому что укуришься ждать даже 25 секунд запуска Linux. Поэтому правки проверяются в основном в qemu.
    asmars wrote:что на сях тоже что то есть? или я чего то не допонимаю.
    Конечно есть на Си. В дистрибутив входят программы checkers, shell и table, написанные на Си (может еще какие-то входят), кроме того, есть FreeType, DosBox, Quake, Doom, ScummVM, Mesa и много всего другого.
    asmars wrote:кстати, а сколько пользователей у Колибри ?
    пользуются ли Колибри, как основной ОС ?
    Сейчас я могу сказать, что только последняя официальная версия была загружена более 200 тысяч раз. Каждый месяц число загрузок увеличивается еще примерно на 10 тысяч. Мне неизвестно, пользуются ли сейчас Колибри, как основной системой, но некоторое время назад один из разработчиков - Asper - жил в Колибри. Сам я неоднократно использовал Колибри для оживления мертвых компьютеров. Ах да, забыл, это основная ОС на моем нетбуке.
  • Круто ;)
    Сам я неоднократно использовал Колибри для оживления мертвых компьютеров
    Если не секрет, как можно использовать Колибри, в этом направлении ?
  • Я неоднократно копировал с помощью Колибри данные с поврежденных NTFS-томов, которые вызывали у Windows и Linux шок. Кроме того, Колибри хорошо работает и на системах без жестких дисков вообще. С Колибри компьютер меньше греется, и там, где DOS работает долго и стабильно, а с Windows через полчаса комп умирает от жары - Колибри работает не хуже DOS. Колибри непритязательна к видеокартам. На нескольких компьютерах, с которыми я работал, видеокарта (в основном это были GeForce) глючила с "родными" драйверами в Windows и Linux, а в VESA-режиме в Колибри работала прекрасно.
    Когда под рукой нет быстрого интернета и диска с ОС, а родная система "слетела" - можно скачать Колибри и играться в простые игрушки, пока диск с ОС не появится.
  • SoUrcerer wrote:Перезагружаться из рабочей системы в Колибри слишком долго - потому что укуришься ждать даже 25 секунд запуска Linux. Поэтому правки проверяются в основном в qemu.
    Я не пользуюсь qemu - правлю только на реальном железе. Правда, код очень сильно к этому железу привязан.
    Перезагрузка Колибри - это 5-10 секунд, не понимаю зачем нужен Линукс.
    SoUrcerer wrote: Сейчас я могу сказать, что только последняя официальная версия была загружена более 200 тысяч раз. Каждый месяц число загрузок увеличивается еще примерно на 10 тысяч. Мне неизвестно, пользуются ли сейчас Колибри, как основной системой, но некоторое время назад один из разработчиков - Asper - жил в Колибри. Сам я неоднократно использовал Колибри для оживления мертвых компьютеров. Ах да, забыл, это основная ОС на моем нетбуке.
    Встраиваемая А-версия сейчас используется в системах технического зрения и биохимических экспериментах.
    И еще - для диагностики и тестирования нестандартной компьютерной периферии, например, прототипов PCIe-устройств.
  • Если я скажу, что будет неплохо, если разработчики поделится своим опытом в виде заметки "Как я пишу под Колибри" -- это "вумный совет" или действительно полезная вещь?

    Типа, я пишу под [ОС], использую [редактор], компилю прямо из него, настройка для FASM [такая]. Чтобы записать скомпилированный файл в образ Колибри, пользуюсь [программой или драйвером]. Запускаю в [эмуляторе], команда [такая]. В самой Колибри для запуска использую [файловый менеджер]. Отлаживаю [отладчиком] так-то...

    Получится вполне себе описалово, не? И каждому новичку не надо было проходить обряд посвящения через поиск программ и задавание вопросов на форуме. Собрать и на вики разместить.
  • Freeman, да, не плохо было бы!
    Еще можно сделать спец.раздел для такого на вики, и там описывать работу с каждой прогой помогающей так или иначе при разработке.. писать особенности..
    Еще можно было бы сделать что то вроде репозотория, что бы без проблем можно было найти что то.. хотя в основном все оупенсорс.. но ничего, если все будет собрано в одном месте, будет удобнее :)
  • ОК. Моя основная среда разработки - linux, в качестве текстового редактора использую nano (иногда leafpad). Компилирую Сишный код через make-файлы и ассемблерный командой fasm из командной строки (до этого я скопировал fasm в /usr/bin/). Файлы закидываю на образ с помощью mtools:
    mcopy -moi ~/kolibri.img file ::file
    Запускаю в эмуляторе qemu:
    qemu -fda ~/kolibri.img -boot a -vga vmware
  • У меня основная среда Windows. Редактирую и компилирую fasm в MultiEdit. Для проектов на Си использую cygwin. Файлы в образ закидываю Winimage. Эмуляторы Qemu, VirtualBox, Bochs.
  • Windows
    Fasm, С--, самописные пакеты для Hiasm fasm и С--
    Редактирование плагином для ТС - Syn 1.5
    Компиляция кодов даблкликом из TC. Hiasm компилирует соответствующими вызовами.
    В fasm'овских exe заменил hexредактором .bin на .kex, чтобы не возиться с переименованиями или строками переименовки в батниках.
    Тестирование - KlbrInWin, Qemu
    Закидывание на образ - архиваторным плагином для TC Imaginator, в отличие от монтирующих файлсистемных - не лочит образ, не надо монтировать-размонтировать.
    Время от времени пробую всякие C, mbasic и т.п.
  • Who is online

    Users browsing this forum: No registered users and 16 guests