Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Чт окт 19, 2017 2:01 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 23 сообщения ]  На страницу 1 2 След.
Автор Сообщение
 Заголовок сообщения: Реализация GUI
СообщениеДобавлено: Ср май 23, 2012 1:21 pm 
Не в сети

Зарегистрирован: Ср май 23, 2012 12:26 pm
Сообщения: 7
Всем добрый день. Как и многие другие, пишу реферат по Колибри. Перелопатив несколько тем на здешнем форуме, вики и ресурсе на народе нашел почти все что нужно, но некоторые вопросы остались.
В первую очередь интересует реализация пользовательского интерфейса и особенно устройство GUI котя командная строка насколько понял тоже есть.
Администрирование и защита данных на диске я так понял отсутствуют в принципе, поэтому если не затруднит расскажите про то что такое ring-0, ring-3, куда это относится (управление процессами?) и с чем это едят. Заранее спасибо.


Последний раз редактировалось Wirbelwind Ср май 23, 2012 2:34 pm, всего редактировалось 1 раз.

Вернуться к началу
 Заголовок сообщения: Re: Реалиция GUI
СообщениеДобавлено: Ср май 23, 2012 2:20 pm 
Wirbelwind писал(а):
что такое ring-0, ring-3, куда это относится (управление процессами?)

http://ru.wikipedia.org/wiki/Кольца_защиты


Вернуться к началу
   
 Заголовок сообщения: Re: Реализация GUI
СообщениеДобавлено: Ср май 23, 2012 5:30 pm 
Не в сети

Зарегистрирован: Ср май 23, 2012 12:26 pm
Сообщения: 7
а поскольку ядро монолитное то кольца как бы 2 значит. Тут же 2 вопроса - есть ли что то кроме ядра и дров и ринг-0 и как именно ограничен ринг-3.
Понимаю что писать про гуи это нудно и долго, как и было сказано в "общеобразовательной" теме http://board.kolibrios.org/viewtopic.php?f=1&t=1179 <<Работа с видеокартой - это, собственно, GUI, на тему которого можно говорить отдельно довольно долго>> но говорить пожалуй пора. Хотя бы в пределах половины странички а4 общей не железячной информации.=)


Вернуться к началу
 Заголовок сообщения: Re: Реализация GUI
СообщениеДобавлено: Ср май 23, 2012 5:39 pm 
Wirbelwind писал(а):
как именно ограничен ринг-3.

Это аппаратное решение на уровне процессора. Гуглите и читайте документацию.
Wirbelwind писал(а):
но говорить пожалуй пора. Хотя бы в пределах половины странички а4 общей не железячной информации

Все что есть на ресурсах вам доступно. Я просто беру код и документацию, думаю и программирую. И я лично не собираюсь писать за вас ваш реферат. Смотрите описание системных функций - их не так уж и много. http://wiki.kolibrios.org/wiki/Documentation/ru

З.Ы. Тут на форуме появляется иногда товарищ SII - его любимое занятен пофлудить на тему "какая дрянь эта ваша Колибри". Я думаю воды в реферат можно взять у него, обычно он обитается на форуме http://osdev.ru


Вернуться к началу
   
 Заголовок сообщения: Re: Реализация GUI
СообщениеДобавлено: Ср май 23, 2012 7:02 pm 
Не в сети

Зарегистрирован: Ср май 23, 2012 12:26 pm
Сообщения: 7
Цитата:
Я просто беру код и документацию, думаю и программирую. И я лично не собираюсь писать за вас ваш реферат.

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


Вернуться к началу
 Заголовок сообщения: Re: Реализация GUI
СообщениеДобавлено: Ср май 23, 2012 7:20 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пт авг 14, 2009 1:46 am
Сообщения: 1291
Mario
Не, ну зачем ты так сразу - видишь же, что есть у человека вполне позитивный интерес. Ну не все все сразу просекают, сам же помнишь как сложно поначалу

Wirbelwind
Помогу если надо. Только если пообещаешь как закончишь реферат - выложить ссылку на него, чтоб другим новичкам полегче было.


Вернуться к началу
 Заголовок сообщения: Re: Реализация GUI
СообщениеДобавлено: Ср май 23, 2012 7:31 pm 
art_zh
Я вроде не выражался и никого не ругал, ну кроме вышеупомянутого товарища SII, который естественно в теоретике самый умный (и только в теоретике, так как его кода никто не видел).
Не все вещи можно изложить доступным бытовым языком. Зачастую все мои попытки делать подобные вещи заканчивались приходом какого нибудь не совсем местного человека, который поплевывая свысока указывал уже на мои неточности в формулировках. В общем большой отрицательный опыт у меня. Да, и из всех писателей курсовых и рефератов на моей памяти лишь один человек выложил свою работу. Остальные внезапно пропадали - таким образом принося объективный ноль результата на затраченные усилия помогающих.


Вернуться к началу
   
 Заголовок сообщения: Re: Реализация GUI
СообщениеДобавлено: Ср май 23, 2012 9:14 pm 
Не в сети

Зарегистрирован: Ср сен 15, 2010 7:22 pm
Сообщения: 101
Выскажу некоторые соображения по поводу GUI Kolibri OS:
(1) Графический интерфейс Kolibri OS наиболее близок к SDL. Главные отличия:
- основной программный интерфейс на ассемблере (однако имуются обёртки системных вызовов для C);
- реализован полностью в ядре операционной системы;
- имеет поддержку некоторых графических элементов, которых нет в SDL: кнопки, отображение текста и чисел, ... (этих элементов нет в базовом SDL, но их можно найти во множестве различных расширений);
- возможен многооконный интерфейс по принципу один поток (thread) - одно окно (многооконный интерфейс возможен в новой версии SDL 1.3. - теперь уже 2.0, однако эта версия пока не достигла состояния стабильной);
- окно всегда перерисовывается по командам соответствующего потока исполнения (в SDL окну, точнее - его рабочей области, - соответствует начально инициализованный буфер графических данных - surface, в котором и хранится изображение окна, при перерисовке используются данные этого буфера, при этом приложение обычно даже не информируется);
(2) Ещё одна библиотека похожего уровня - это xlib (X-windows), однако в GUI Kolibri OS нет даже намёка на клиент-серверную (причём сетевую) архитектуру xlib. Поэтому сравнивать xlib и GUI Kolibri OS скорее всего нецелесообразно.
(3) Над GUI Kolibri OS имеются некоторые библиотеки графических элементов интерфейса, однако им пока ещё очень далеко до возможностей GTK. Однако GTK - это "супергигант", который тем самым вступает в резкое противоречие с "философией" Kolibri OS. (Моё личное мнение - эту библиотеку даже не имеет смысла портировать в Kolibri OS. Первой кандидатурой для портирования надо рассматривать FLTK, но для этого требуется хорошая поддержка C++, в наличие которой пока я очень сомневаюсь: если я не прав - поправляйте ...)

P.S.

Для начала хватит


Вернуться к началу
 Заголовок сообщения: Re: Реализация GUI
СообщениеДобавлено: Чт май 24, 2012 12:44 am 
Не в сети

Зарегистрирован: Ср май 23, 2012 12:26 pm
Сообщения: 7
Итак, всем спасибо.
Пообщался с SII, про гуй правда ничего не узнал, полазил ещё немного по здешней вики, потом по обычной вики, прочитал все что успело здесь появиться, пораскинул мозгами и закончил творчество.
если интересно, вот что получилось.


Вложения:
реферат.docx [46.53 КБ]
117 скачиваний
Вернуться к началу
 Заголовок сообщения: Re: Реализация GUI
СообщениеДобавлено: Чт май 24, 2012 1:11 am 
Цитата:
Частично портированы такие программы

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

Есть такая вещь как "именованная область". Функция 68 (подфункциии 22, 23), синхронизация на уровне приложения, но обмен между потоками вполне нормальный.
Цитата:
делается поддержка файловой системы ext2

Ext3 также прекрасно читается. Вообще ЕМНИП они существенно отличаются только на запись файлов, наличием журналирования.
Цитата:
Разумеется, концепция быстрой разработки приложений в принципе не может быть реализована.

Неверно. Если портировать уютный библиотечки, то говнокод можно будет лепить так же просто, как строить собачью конуру из бетонных блоков.
Цитата:
И тем не менее все же очень хочется увидеть операционную систему от русскоязычных разработчиков выступающую на мировом рынке наравне с Windows и Unix системами.

Не та ОС! Экс-президент Дима Медведев одобряет другую систему.


Вернуться к началу
   
 Заголовок сообщения: Re: Реализация GUI
СообщениеДобавлено: Чт май 24, 2012 2:40 am 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пт авг 14, 2009 1:46 am
Сообщения: 1291
в реферате много копипасты, особенно по истории создания системы (я это где-то уже читал, слово в слово!).
Это не есть хорошо.
Попробуй пересказать своими словами хотя бы каждое второе предложение.

определение Операционной Системы в самом начале - очень сумбурное и неполное.
любая ОС должна
1) уметь запускать на выполнение и снимать с выполнения пользовательские программы
2) обеспечивать необходимый системный сервис - в первую очередь взаимодействие пользовательских программ с реальным "железом" компьютера
3) обеспечивать оперативное и долговременное сохранение/предоставление информации в некотором стандартном формате; в частности - организовать межпрограммный обмен данных и практическую реализацию таких абстракций, как файл, устройство, поток в/в и т.п.

Насчет GNU GPL-лицензии ты забыл упомянуть очень важный принцип: да, ты можешь смотреть, изменять, продавать исходный код GUI GPL-программ как тебе вздумается. Но в уплату за эти 33 удовольствия ты обязан выставить измененный тобой код на всеобщее обозрение под той же самой GUI GPL-лицензией - и подарить всем желающим возможность изучать твой код, изменять и продавать его, оставив тебе один лишь голый копирайт...

"API представлено приблизительно 70-ю функциями..." - многое из менуэтовского хлама удалено за ненадобностью, осталось то ли 50, то ли 52 функции.
"...достаточно примитивными, что подразумевается их количеством." - ты не по количеству суди, а по функциональности: в Колибри практически все системные функции - весьма и весьма крутонавороченные. И еще - они все вручную оптимизированы на максимальную скорость и минимальный размер кода.

Кстати, а ты не в курсе, сколько сотен сисфункций в Линуксе? а в Винде?

"если функция была удалена, приложение работать не сможет или не будет обладать полным закладывавшимся при его разработке функционалом" формально и теоретически - да, но на практике в Колибри сложилась уникальная методика правки ядерного кода: устаревшие сисфункции меняются или выкидываются из ядра только после многочисленных экспериментов и тестовых прогонов, длинных и острых дискуссий. Как правило, основную часть тестов производит сам автор рацпредложения (тот, кому больше всех надо), после чего выкладывает новую версию ядра на всеобщее растерзание. Поскольку прикладных программ в системе (прямо скажем) немного, все глюки выявляются и исправляются довольно быстро. А еще этому способствует молниеносная скорость правки ядерного кода: цикл правка-компиляция-перезагрузка-тестовый прогон на реальном железе занимает всего полторы-две минуты, а простая компиляция ядра - меньше секунды!

"Пожалуй, наиболее сложные и мощные api-функции используются при разработке графического интерфейса пользователя, хотя это тоже очень трудоемкий процесс, по сравнению, например, с разработкой интерфейса windows-приложений." - здесь налицо сразу ДВА случая так называемого вранья.
1) GUI-функции в большинстве своем не мощные, и не сложные, и не самые.
2) разработка пользовательского интерфейса - простой и вовсе не трудоемкий процесс. Попробуй сам - и убедишься, что наляпать кнопочки в винде и наполнить их полезной функциональностью ничуть не проще и даже не быстрее, чем создать подобное окошко в Колибри.

Заключение - а вот сюда лучше было бы скопипастить что-нибудь более умное и членораздельное - я нифига не понял ни одной авторской мысли в этом потоке. Даже не знаю к чему придираться...


Последний раз редактировалось art_zh Пт июн 15, 2012 2:02 am, всего редактировалось 1 раз.

Вернуться к началу
 Заголовок сообщения: Re: Реализация GUI
СообщениеДобавлено: Чт май 24, 2012 9:54 am 
Не в сети
Аватара пользователя

Зарегистрирован: Вт янв 24, 2006 8:50 am
Сообщения: 249
art_zh, ты конечно извини, но что за "GUI-лицензия"? Может GPL?


Вернуться к началу
 Заголовок сообщения: оффтоп
СообщениеДобавлено: Вт июн 12, 2012 5:47 pm 
Не в сети

Зарегистрирован: Ср май 23, 2012 12:26 pm
Сообщения: 7
да кстати вспомнил недавно про эту мегаось и подумал:
а если она вся такая маленькая и компактная, то может стоит попробовать устанавливать её целиком или хотя бы частично в кэш процессора?
просто делюсь мыслью, возможность сего действа в принципе мне неизвестна


Вернуться к началу
 Заголовок сообщения: Re: Реализация GUI
СообщениеДобавлено: Вт июн 12, 2012 9:13 pm 
Не в сети
Kernel Developer
Аватара пользователя

Зарегистрирован: Пт авг 14, 2009 1:46 am
Сообщения: 1291
s1n
Конечно GNU GPL, долблюсь.

Wirbelwind
она уже почти вся там


Вернуться к началу
 Заголовок сообщения: Re: Реализация GUI
СообщениеДобавлено: Вт июн 12, 2012 9:33 pm 
Не в сети

Зарегистрирован: Пн сен 24, 2007 11:11 am
Сообщения: 2814
Может, имеется в виду BIOS?


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 23 сообщения ]  На страницу 1 2 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB