OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Пятница, 29 Март, 2024 18:39

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 125 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Понедельник, 04 Сентябрь, 2006 13:20 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
CheshireCat писал(а):
a mogno uznat cherez chto on rabotaet?

через GNOME, которая когда меняется, то и "on" перестает работать...........


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux+BlackBox=?
СообщениеДобавлено: Четверг, 13 Сентябрь, 2007 14:20 

Зарегистрирован: Вторник, 04 Июль, 2006 13:04
Сообщения: 88
Откуда: Novosibirsk
Vlad писал(а):
И что ты собрался программировать на статических структурах? :)

а между тем то что для программиста динамическая память -
для ядра практически статическая)) помедитируйте над этим))
еще есть старый гайд о том как писать на си надежные программы.
там вместо адресов используются токены.
да вот еще только что прочел тут про язык Композита
и заметил что у меня было много похожих мыслей))


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux+BlackBox=?
СообщениеДобавлено: Четверг, 13 Сентябрь, 2007 15:05 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Цитата:
а между тем то что для программиста динамическая память -
для ядра практически статическая)) помедитируйте над этим))
еще есть старый гайд о том как писать на си надежные программы.
там вместо адресов используются токены.

А про токены не развернёте поподробней, или ссылочки? У меня тут примерно в этом направлении мысли недавно шли.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux+BlackBox=?
СообщениеДобавлено: Четверг, 13 Сентябрь, 2007 18:39 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
CheshireCat писал(а):
а между тем то что для программиста динамическая память -
для ядра практически статическая)) помедитируйте над этим))


Над чем медитировать? Если для ядра "динамическая память" и может иметь иной смысл, то "динамические структуры данных" они и в Африке динамические структуры данных, независимо от того, в какой памяти они лежат.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux+BlackBox=?
СообщениеДобавлено: Понедельник, 29 Октябрь, 2007 04:38 

Зарегистрирован: Вторник, 04 Июль, 2006 13:04
Сообщения: 88
Откуда: Novosibirsk
2Илья: поищите статью с названием типа "Reliable software - no more excuses"

2Vlad: динамические структуры данных можно организовать в собственном статическом массиве или нескольких. этакий личный менеджер памяти.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux+BlackBox=?
СообщениеДобавлено: Понедельник, 29 Октябрь, 2007 08:11 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
CheshireCat писал(а):
2Vlad: динамические структуры данных можно организовать в собственном статическом массиве или нескольких. этакий личный менеджер памяти.


Ага. Можно. Только не на обероне ;) О чем и речь. Нечего оберону с его GC делать в ядреном коде. И убогость существующих обероновских ОС только подтверждает сию объективную реальность.

P.S. Напишите Линусу о желании написать что-то ядреное на обероне, он человек прямолинейный, сразу скажет куда пойти :) Или почитайте его претензии к C++, как возможного языка для написания GIT (а это всего лишь VCS, не OC).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux+BlackBox=?
СообщениеДобавлено: Понедельник, 29 Октябрь, 2007 14:03 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Vlad писал(а):
... Нечего оберону с его GC делать в ядреном коде.


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux+BlackBox=?
СообщениеДобавлено: Понедельник, 29 Октябрь, 2007 17:00 

Зарегистрирован: Среда, 28 Февраль, 2007 00:08
Сообщения: 142
Откуда: Нижний Новгород
Vlad писал(а):
Нечего оберону с его GC делать в ядреном коде. И убогость существующих обероновских ОС только подтверждает сию объективную реальность.

А вы попробуйте поставить Си в теже условия что и Оберон - выключьте оптимизации скорости и сразу станет ясно что Си нечего делать в ядреном x86 коде потому как тормозить будет ужасно .. да еще и безопасность ниже ассемблера :shock:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux+BlackBox=?
СообщениеДобавлено: Вторник, 30 Октябрь, 2007 03:14 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
info21 писал(а):
Vlad писал(а):
... Нечего оберону с его GC делать в ядреном коде.

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


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux+BlackBox=?
СообщениеДобавлено: Вторник, 30 Октябрь, 2007 03:18 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
batyrmastyr писал(а):
А вы попробуйте поставить Си в теже условия что и Оберон - выключьте оптимизации скорости


Если бы оберон кому-то был нужен в ядре, то приличный оптимизатор давно написали бы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux+BlackBox=?
СообщениеДобавлено: Вторник, 30 Октябрь, 2007 08:49 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Vlad писал(а):
info21 писал(а):
Vlad писал(а):
... Нечего оберону с его GC делать в ядреном коде.

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


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


(У меня дежа вю?)

Почему каждая программа должна содержать NEW?
Оберон никого не заставляет использовать динамическую память.
По замыслу и по построению.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux+BlackBox=?
СообщениеДобавлено: Вторник, 30 Октябрь, 2007 10:05 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
info21 писал(а):
Почему каждая программа должна содержать NEW?


А я ничего и не говорил про NEW. Мне все равно как это будет выглядеть (хотя сразу оговорюсь, что SYSTEM я там видеть не хочу). Речь зашла о динамических структурах данных, размещенных в предварительно выделенном куске памяти. Как это будет выглядеть на C/C++ я представляю - там память в непосредственном распоряжении программиста. Покажите как будет выглядеть в таких условиях работа с двунаправленным списком (как простейшим примером динамической структуры данных) на обероне, и я признаю, что я так и не понял что такое оберон и с чем его едят.

info21 писал(а):
Оберон никого не заставляет использовать динамическую память.
По замыслу и по построению.


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux+BlackBox=?
СообщениеДобавлено: Вторник, 30 Октябрь, 2007 12:38 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Vlad писал(а):
info21 писал(а):
Оберон никого не заставляет использовать динамическую память.
По замыслу и по построению.


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


Что же тут сильного? Простой факт.
От опечатки сбор мусора не включится.

Насчет фантазии: у нас тут AVC специалист по ТРИЗ -- там как-то это дело упражняют...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux+BlackBox=?
СообщениеДобавлено: Вторник, 30 Октябрь, 2007 14:44 

Зарегистрирован: Среда, 28 Февраль, 2007 00:08
Сообщения: 142
Откуда: Нижний Новгород
Vlad писал(а):
batyrmastyr писал(а):
А вы попробуйте поставить Си в теже условия что и Оберон - выключьте оптимизации скорости


Если бы оберон кому-то был нужен в ядре, то приличный оптимизатор давно написали бы.

Включите логику :mrgreen:
Если бы Оберон тормозил в ядре, то оптимизатор написали бы вместе с ОСью и компилятором. В Си оптимизатор сделали потому что он тормозил.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux+BlackBox=?
СообщениеДобавлено: Вторник, 30 Октябрь, 2007 15:14 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1428
Я знаю одну очень полезную программу на Паскале, не использующую new. ;-)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux+BlackBox=?
СообщениеДобавлено: Вторник, 30 Октябрь, 2007 19:26 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
info21 писал(а):
Насчет фантазии: у нас тут AVC специалист по ТРИЗ -- там как-то это дело упражняют...


Вы ушли от ответа. Просто скажите, что вы не знаете как это сделать (но при этом позволяете себе утверждать, что я чего-то не понимаю в обероне). А если AVC знает, то я думаю он не откажется просветить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux+BlackBox=?
СообщениеДобавлено: Четверг, 01 Ноябрь, 2007 18:22 

Зарегистрирован: Среда, 31 Октябрь, 2007 18:58
Сообщения: 252
Откуда: Austria, Bruck
2Vlad со стороны, понятно, что вы пишите прикладные прогарммы, но ниразу не системные.

Память "прикладных" программ для ядра - это огромный статический массив байт. Ядру память то никто не выделяет :)

NEW - это неявный вызов функции ОС, которая выдает адрес ячейки в этом массиве байт.

Если ядро оперирует статическими переменными, что мешает, тогда писать на Обероне ядро ОС? Кстати никто не запрещает внутри ядра на Обероне использовать свой набор функций типа Alloc|Free, для собственных функций.

А для прикладных програм можно предложить другой набор функций для работы с памятью. И даже со сборщиком мусора :)

По этому поводу почитайте Кернигана и Ричи "Язык С". Там есть пример простейшего манагера памяти.
(полезно будет заглянуть в исходники Лиункса верси 1.0) :wink:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux+BlackBox=?
СообщениеДобавлено: Четверг, 01 Ноябрь, 2007 19:20 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
То-то Вирт удивится...


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux+BlackBox=?
СообщениеДобавлено: Четверг, 01 Ноябрь, 2007 23:26 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
hothing писал(а):
2Vlad со стороны, понятно, что вы пишите прикладные прогарммы, но ниразу не системные.


Свои менеджеры памяти я писал, не сомневайтесь.

hothing писал(а):
Если ядро оперирует статическими переменными, что мешает, тогда писать на Обероне ядро ОС?


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

hothing писал(а):
Кстати никто не запрещает внутри ядра на Обероне использовать свой набор функций типа Alloc|Free, для собственных функций.


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

Код:
void *memory = kernel_alloc(sizeof(some_object));
some_object *o = init_object(memory);


На С++ с перегруженными new/delete и стандартной библиотекой, поддерживающей понятие аллокатора, это будет еще элегантнее. На обероне - мне страшно представить (пример до сих пор так никто и не привел, только рассуждения о том, что это возможно). Кроме того, как только в обероне появляется явное манипулирование памятью (тот самый Free, который ты упомянул), о какой либо безопасности ("герметичности") говорить уже не приходится. В любом месте все может обрушиться не хуже чем в C. Что остается из достоинств оберона? Цикл WHILE без break? Контроль границ массивов? Сомнительный по эргономичности синтаксис? Та же строгая типизация скорее будет мешать, чем помогать, когда дело дойдет до структур данных типа:

Код:
struct data
{
    char description[16];
    int count;
    char variable_data[1]; // up to "count" bytes
};


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Linux+BlackBox=?
СообщениеДобавлено: Четверг, 01 Ноябрь, 2007 23:29 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 18:38
Сообщения: 1857
Valery Solovey писал(а):
То-то Вирт удивится...


Вирт писал что-то для линуксового ядра на обероне? А что именно?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 125 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.

Часовой пояс: UTC + 3 часа


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

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


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

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB