Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Хватит болтать то надо действовать!

2.2K
16 апреля 2003 года
Bair Logic
32 / / 16.04.2003
________________________________________________
+----------------------------------------------+
| Хватит болтать то надо действовать! |
+----------------------------------------------+
------------------------------------------------
К сожалению не смог прочитать всех тем но могу сказать что на мой взгляд ОС это не совсем низкоуровневое програмирование и на Асме всю ос ну никак не выйдет максимум пару десятков процедур. Писать надо на Языках высокого уровня это доказанно практикой, Слышал сздесь про МенуетОС написанной на Асме сразу скажу это лажа а не ОС.
Блин нашелся бы умный человек который это все дело собрал бы в руки, ну создалбы сайт провелбы может какой нибуть опрос и написал бы ченибудь, как Линус Тодвальст (не помню как точно зовут) он же написал свою ОС Линукс за 2 месяца и всем показал свое творение, но это так фигня я думаю мы пойдем дальше ,выше.
Надо организовать проект с полной мельчайшей документацией чтобы любой человек в любое время мог присоедениться!
_________________________________________________
_________________________________________________
Страницы:
1.9K
18 апреля 2003 года
kswapd
93 / / 08.02.2003
Цитата:
Originally posted by Bair Logic
К сожалению не смог прочитать всех тем но могу сказать что на мой взгляд ОС это не совсем низкоуровневое програмирование и на Асме всю ос ну никак не выйдет максимум пару десятков процедур. Писать надо на Языках высокого уровня это доказанно практикой, Слышал сздесь про МенуетОС написанной на Асме сразу скажу это лажа а не ОС.
Блин нашелся бы умный человек который это все дело собрал бы в руки, ну создалбы сайт провелбы может какой нибуть опрос и написал бы ченибудь, как Линус Тодвальст (не помню как точно зовут) он же написал свою ОС Линукс за 2 месяца и всем показал свое творение, но это так фигня я думаю мы пойдем дальше ,выше.
Надо организовать проект с полной мельчайшей документацией чтобы любой человек в любое время мог присоедениться!



А смысл? Есть уже хорошие ОС, зачем изобретать велосипед? Делать еще один клон Юникса сегодня вобще смысла нет, вряд ли он станет популярнее Линукса или Фри. Если делать, то что-то принципиально новое (и лучше того что есть), а это не так легко. Вот в Юниксах все очень просто сделано: есть юзеры, есть файлы и есть процессы. Если придумать что-то лучше этого и еще проще, и чтоб работало, я только за :)

Линус, кстати написал не ОС, а ядро ОС, используя инструменты GNU, за что GNU на него обиделись и теперь всем говорят, что надо писать GNU/Linux :)

"Надо организовать проект с полной мельчайшей документацией чтобы любой человек в любое время мог присоедениться!" - как насчет CWEB (в плане полной мельчайшей документации) ?

467
18 апреля 2003 года
Edmond
72 / / 20.05.2000
Цитата:
Originally posted by Bair Logic
________________________________________________
+----------------------------------------------+
| Хватит болтать то надо действовать! |
+----------------------------------------------+
------------------------------------------------
Линус Тодвальст (не помню как точно зовут) он же написал свою ОС Линукс за 2 месяца и всем показал свое творение, но это так фигня я думаю мы пойдем дальше ,выше.



Эээхх, а он кстати Линукс не с нуля писал.
Вот так.

1.9K
18 апреля 2003 года
kswapd
93 / / 08.02.2003
Цитата:
Originally posted by Edmond


Эээхх, а он кстати Линукс не с нуля писал.
Вот так.



опа... а с чего же? Именно с нуля :)

1.8K
18 апреля 2003 года
Lonesome
112 / / 27.01.2003
Цитата:
Originally posted by kswapd


опа... а с чего же? Именно с нуля :)



Не-а :) Он его с Minix'а писал. Вплоть до 1994 года в линуксе присутствовал код из миникса

1.8K
18 апреля 2003 года
Lonesome
112 / / 27.01.2003
Цитата:

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



Как насчет GNU HURD? Сдается мне, товарищи, что она все-таки придет на смену Linux.

Цитата:

Линус, кстати написал не ОС, а ядро ОС, используя инструменты GNU, за что GNU на него обиделись и теперь всем говорят, что надо писать GNU/Linux :)



И правильно говорят :) Если бы не FSF, Линус бы задолбался сам писать на свою ось софт :)

2.2K
19 апреля 2003 года
Bair Logic
32 / / 16.04.2003
Цитата:
Originally posted by kswapd


А смысл? Есть уже хорошие ОС, зачем изобретать велосипед? Делать еще один клон Юникса сегодня вобще смысла нет, вряд ли он станет популярнее Линукса или Фри. Если делать, то что-то принципиально новое (и лучше того что есть), а это не так легко. Вот в Юниксах все очень просто сделано: есть юзеры, есть файлы и есть процессы. Если придумать что-то лучше этого и еще проще, и чтоб работало, я только за :)

Линус, кстати написал не ОС, а ядро ОС, используя инструменты GNU, за что GNU на него обиделись и теперь всем говорят, что надо писать GNU/Linux :)



А я и не говорю про клон Unix надо создать принципиально новую ОС, и естественно надо начаначь с ядра(а может и ядра не будет :)
А вообще надо начинать с замысла многие придумывают свои ОС но на них никто не обращает внимание хотя зря быть может там есть дельная идея!!! Собрать все ети идеи в одну кучу проанализировать и можно начинать.

2.2K
19 апреля 2003 года
Bair Logic
32 / / 16.04.2003
На мой взгляд план такой:
1.Цели ОС и ее предназначение
2.Решить на каком языке будем писать.
3.Ядро
4.Работа с памятью
5.Работа с устройствами
6.Файловая система
7.Какие у нашей ос будут приложения (структура)
8.Загрузчик
Это только!!!! на начальном этапе
И желательно графическую оболочку для большей наглядности работы ОС и для быстрого нахождения ошибок.
424
19 апреля 2003 года
(C)dragon
307 / / 04.12.2002
Да хватит об этом Linux, если писать, так что-то совсем новое, т.е. полностью универсальную ОС. Вот можно нормально в линуксе с графикой работать, если процедуры не в ядре находятся? Наиболее это чувствуется в 3D-играх. Так же Windows и к сетям приспособлен. Так вот план такой:

1. Полная универсальность.
2. ASM и C++
(Ну типа писать на C++, выводить ассемблерный листинг и оптимизировать вручную)
3. Монолитное ядро со встраиваемымы модулями
(Чтобы не было никаких перекомпиляций ядра.)
4. Ну это сразу не скажешь, думать надо.
5. А что тут может быть особенного?
6. Новая
7. Тоже новая структура.
8. Boot сектор и вторичные загрузчик
(Как в Windows NT)
2.2K
19 апреля 2003 года
Bair Logic
32 / / 16.04.2003
Да Линукс как детише интеренета только для него и годится. Если я у кого и вижу Linux(и прочие unix-ы) то только как Сервак. А на счет 3d графики это точно, видели бы вы как у меня TUX RACER играл на моем 800 селероне с 2 GeForce -м
2.2K
19 апреля 2003 года
Bair Logic
32 / / 16.04.2003
То новое, это новое, понятно что в новой ос все новое а какое именно??? Самый интересный вопрос!!!
Надо создать целый сайт для обсуждения и образцов разработки, а так же документация тоже не помешает я например всего не знаю как и все остальные.
1.8K
19 апреля 2003 года
Lonesome
112 / / 27.01.2003
Цитата:
Originally posted by Bair Logic
Да Линукс как детише интеренета только для него и годится. Если я у кого и вижу Linux(и прочие unix-ы) то только как Сервак.
А на счет 3d графики это точно, видели бы вы как у меня TUX RACER играл на моем 800 селероне с 2 GeForce -м



Да не в этом разница между NT и Linux. Обе эти системы достаточно преуспели в техническом плане (угу, обладая прямыми руками, можно любую из них приспособить под свои нужды) и существенное различие у них одно: Linux - свободная система, NT - закрытая. И если о технических недостатках и преимуществах можно спорить до пены у рта, то о лицензионных спорить не нужно :)

P.S. Стандартные драйвера XFree86 не поддерживают ускорение и чтоб оно поддерживалось на твоем ДжиФорсе, нужно ставить родные от nVidia.

1.8K
19 апреля 2003 года
Lonesome
112 / / 27.01.2003
Цитата:
Originally posted by (C)dragon
Да хватит об этом Linux, если писать, так что-то совсем новое, т.е. полностью универсальную ОС. Вот можно нормально в линуксе с графикой работать, если процедуры не в ядре находятся? Наиболее это чувствуется в 3D-играх.

Так же Windows и к сетям приспособлен. Так вот план такой:

1. Полная универсальность.
2. ASM и C++
(Ну типа писать на C++, выводить ассемблерный листинг и оптимизировать вручную)
3. Монолитное ядро со встраиваемымы модулями
(Чтобы не было никаких перекомпиляций ядра.)
4. Ну это сразу не скажешь, думать надо.
5. А что тут может быть особенного?
6. Новая
7. Тоже новая структура.
8. Boot сектор и вторичные загрузчик
(Как в Windows NT)



А где же новизна? И в чем смысл создания собственной файловой системы? "Еще один Mitja Gladkih?" (c) :)

1.8K
19 апреля 2003 года
Lonesome
112 / / 27.01.2003
Цитата:
Originally posted by Bair Logic
На мой взгляд план такой:
3.Ядро



Вот тебе идея по поводу ядра: дать возможность пользователям (не только root) загружать свои серверы ядра. Так как ядро будет микроядром, то они не смогут повлиять на работу самого микроядра и серверов других пользователей, а будучи серверами, будут работать эффективнее пользовательских приложений.

Допустим пользователь - любитель Windows, тогда загрузив соответствующий сервер ядра, он сможет иметь полный Look&Feel&все остальное своей любимой системы. В том числе и любимую ядреную графику.

А если пользователь - прожженый юниксоид, то он загрузит сервер posix-совместимости и тоже будет счастлив.

2Dragon: с монолитным ядром не удастся достичь той гибкости, которая необходима для действительно универсальной системы

3
19 апреля 2003 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by Lonesome


Вот тебе идея по поводу ядра: дать возможность пользователям (не только root) загружать свои серверы ядра. Так как ядро будет микроядром, то они не смогут повлиять на работу самого микроядра и серверов других пользователей, а будучи серверами, будут работать эффективнее пользовательских приложений.

Допустим пользователь - любитель Windows, тогда загрузив соответствующий сервер ядра, он сможет иметь полный Look&Feel&все остальное своей любимой системы. В том числе и любимую ядреную графику.

А если пользователь - прожженый юниксоид, то он загрузит сервер posix-совместимости и тоже будет счастлив.

2Dragon: с монолитным ядром не удастся достичь той гибкости, которая необходима для действительно универсальной системы




Топик гласит: "Хватит болтать то надо действовать!"
А в ответ очередная болтовня...

А всё потому, что вы, уважаемые, пытаетесь не только заново изобрести велосипед, но и оснастить его вечным двигателем, а в бардачок положить пару философских камней...

Вы посмотрите, на ваши требования к системе, плану действия и сравните его с требованиями и планом разработки существующих ОС, например Windows NT (Хелен Кастнер, кажется это описывала). Так вот если выбросить по-детски бредовые идеи, то получается, что и требования совпадают, и этапы. Шаблоно мыслим...

"Полная универсальность" - враг всего хорошего и надежного. Кто-нибудь может привести пример универсальной вещи в нашем мире, кроме пластилина. Моё мнение: сначала разберитесь, для чего нужна ваша новая ОС, и чем уже будет её специализация, тем удачней будет продукт.

Уже давно доказано, что в масштабе нашего мира нельзя сделать вечный двигатель, так неужели ещё кто-то думает, что достаточно написать идеальную ОС, чтоб работать на 286 с 3D-графикой, как на SG.

"Ну типа писать на C++, выводить ассемблерный листинг и оптимизировать вручную"
Напоминает анекдот про чукчу (извиняюсь перед представителями этой национальности, но "из песни слова не выкинишь"), которому подарили "Камаз":
- Ну как нравиться машина?
- Нравиться. Однако, собаки таскать её быстро устают.


Я не отговариваю вас писать новые ОСи. Пишите, может, что путное выйдет, а если не выйдет, то может хоть новые идеи родяться (как у алхимиков). Жаль, просто, смотреть на крайне-революционный настрой:
Все ОС неумные мы разрушим до основанья,
а за тем мы нашу ОС универсальную напишем...

Для начала обсудите: зачем? Чем не устраивают существующие? Думаю в результате правильных и упорядосенных ответов вы решите, что надо создать не одну универсальную ОС (которая и в стиральной машинке, и в игровой приставке, и на интернет-сервере, и на борту МКС), а несколько строго специализированных систем с возможностью их взаимодействия.

Это не нравоучения и не советы, а так, мысли в слух (IMHO).

Гы! И у меня есть идея. Пусть ваша ОС будет объектно-ориентированной, что не наблюдается ни в *nix, ни в Windows.

1.8K
19 апреля 2003 года
Lonesome
112 / / 27.01.2003
Цитата:
Originally posted by Green

Топик гласит: "Хватит болтать то надо действовать!"
А в ответ очередная болтовня...



В наше время, товарищ, писать ОС на коленках по меньшей мере глупо... Должна быть идея, вокруг которой и будет вестись разработка. Если же человек пытается разработать полную чушь, то в ходе, как ты выразился, "болтовни", у него это желание с гарантией пропадет - опять же польза.

Цитата:

Так вот если выбросить по-детски бредовые идеи,


Если ты имеешь ввиду высказанную мной идею, то она уже реализуется в HURD. Ты наверняка слышал про эту ОС?

Цитата:

Гы! И у меня есть идея. Пусть ваша ОС будет объектно-ориентированной, что не наблюдается ни в *nix, ни в Windows.


Такая система уже была разработана в середине 80х - NextStep.

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

2.2K
19 апреля 2003 года
Bair Logic
32 / / 16.04.2003
Во первых под "Хватит болтать то надо действовать!" подразумевается
не полное молчание а обсуждение на каком то примере (програмного кода)
Люди предлагают свой вариант допустим ядра, другие смотрят и обсуждают :)
Вот ждемс когда ктонибудь чтонибудь подкинет :)

Большая проблема заключается в том что все наши представления о ОС-ях навязанны нам создателями Unix-а, таже самая винда была слизанна с него (правда щас идет в другую сторону)
Сильно нового ничего никто так и не придумал!!!(Быть может и придумали только не реализовали) Не ужели нет больше пути чем Unix -путь или он появится только тогда когда координально изменится архитектура компьютера???

А на счет обьектно-ериентированости надо еще подумать, это же не просто так хухры-мухры
1.9K
19 апреля 2003 года
kswapd
93 / / 08.02.2003
Привет всем. ПонаписАли-то :)


Цитата:

Lonesome:

Он его с Minix'а писал. Вплоть до 1994 года в линуксе присутствовал код из миникса



Разве? А чего ж он тогда с Таненбаумом ругался по поводу плохого кода Миникса? (Хотя может я забыл чего)

Цитата:

Lonesome:

Как насчет GNU HURD? Сдается мне, товарищи, что она все-таки придет на смену Linux.



Ну в этом я сомневаюсь. Линукс слишком раскручен, вряд ли HURD его вытеснит в обозримом будущем.

Цитата:

Lonesome:

И правильно говорят :) Если бы не FSF, Линус бы задолбался сам писать на свою ось софт :)



Согласен :) И вобще, "каждая задача должна быть решена только один раз, т.к. творческие мозги - слишком ценный ресурс, чтоб тратить его на изобретение велосипеда" (с) :)

Цитата:

Bair Logic:

А я и не говорю про клон Unix надо создать принципиально новую ОС...



Так я только за! :) Только это почему то не так легко, как кажется.

Цитата:

(C)dragon:

Вот можно нормально в линуксе с графикой работать, если процедуры не в ядре находятся? Наиболее это чувствуется в 3D-играх.



Можно. Если все настроить как надо. К тому же, XFree86 - не единственная реализация X11, а X11 - не единственная графическая система. В этом то и смысл, что компоненты системы можно менять на какие угодно.

Цитата:

(C)dragon:

(Ну типа писать на C++, выводить ассемблерный листинг и оптимизировать вручную)



Ну вам уже про чукчу рассказали :)

Цитата:

Bair Logic:

...как у меня TUX RACER играл на моем 800 селероне с 2 GeForce -м



http://nightfly.asmodeus.com.ua/nvfaq.txt


Q:А почему вот тут у меня игрушка tuxracer, chromium, итд.. и тачка PIII/128/32 а она жутко тормозит
хотя ничего такоооого особенно крутого из себя не представляет?

A: Скорее всего у тебя карточка от nVidia, тоесть созданая на чипсете от
nVidia и носит название типа:
-VANTA
-TNT
-TNT2
-GeForce
-GeForce2
-GeForce3
-GeForce4
В норме эта карточка работает практически всеми современными дистрибутивами но поскольку создатели даных
чипсетов используют специфическое представление об OpenGL то для правильной поддержки 3Д требуются драйвера
от nVidia.



Цитата:

Bair Logic:

Большая проблема заключается в том что все наши представления о ОС-ях навязанны нам создателями Unix-а, таже самая винда была слизанна с него



Винда-то? Винда - потомок DOS, который абсолютно не похож на Unix (сказал бы я, на что он похож...)

Цитата:

Bair Logic:
Не ужели нет больше пути чем Unix



Есть. Винда :)

ИМХО Unix - почти идеальная ОС для существующей сегодня архитектуры компьютера. В хорошей ОС с точки зрения пользователя все должно быть как можно более просто (принцип KISS - keep it simple, stupid), что мы и наблюдаем в Unix. Если сумеете упростить еще больше - флаг вам в руки :) Но пока - только разговоры о том, что "все должно быть новым, а вот каким - черт его знает".

Кстати, идейка, а почему б не копнуть глубже, и изобрести новую архитектуру? :D

1.8K
19 апреля 2003 года
Lonesome
112 / / 27.01.2003
Цитата:
Originally posted by kswapd
Привет всем. ПонаписАли-то :)
Ну в этом я сомневаюсь. Линукс слишком раскручен, вряд ли HURD его вытеснит в обозримом будущем.



ИМХО раскручен не Linux (в смысле ядра), а именно GNU/Linux. Остается выбросить старое ядро и заменить его HURD'ом :)

Цитата:

Согласен :) И вобще, "каждая задача должна быть решена только один раз, т.к. творческие мозги - слишком ценный ресурс, чтоб тратить его на изобретение велосипеда" (с) :)


Тысячу раз верно (с) Ленин :)

Цитата:

Кстати, идейка, а почему б не копнуть глубже, и изобрести новую архитектуру? :D



Что-то до сих пор нет свободных архитектур, лицензированных под GNU GPL... Чтобы любая компания могла купить завод по производству микросхем и начать клепать эти процы :)

1.8K
19 апреля 2003 года
Lonesome
112 / / 27.01.2003
Цитата:
Originally posted by Bair Logic

Большая проблема заключается в том что все наши представления о ОС-ях навязанны нам создателями Unix-а



Я бы даже сказал - все наши представления об ОСях навязаны нам создателями транзистора :)

3
19 апреля 2003 года
Green
4.8K / / 20.01.2000
Цитата:
Originally posted by Lonesome

В наше время, товарищ, писать ОС на коленках по меньшей мере глупо... Должна быть идея, вокруг которой и будет вестись разработка. Если же человек пытается разработать полную чушь, то в ходе, как ты выразился, "болтовни", у него это желание с гарантией пропадет - опять же польза.



Согласен, вот только добавлю, что кроме голой идеи должен быть довольно строго расписсанный процесс разработки, штат специалистов различных областей IT. Один человек или группа энтузиастов ничего путного не напишут. К сожалению, время самородков-индивидуалов проходит.

Цитата:
Originally posted by Lonesome

Если ты имеешь ввиду высказанную мной идею, то она уже реализуется в HURD. Ты наверняка слышал про эту ОС?



Нет, не слышал. Наверное, я должен покраснеть за свою темноту? Честно говоря, я не являюсь страстным поклонником и ярым иследователем новых ОС. Я, так сказать, пользуюсь тем, что дают. Пользуюсь, улучшаю, приспосабливаю.

Цитата:
Originally posted by Lonesome

Такая система уже была разработана в середине 80х - NextStep.



А вот об этом слышал, поэтому и предлагаю использовать подобные подходы с учетом новых веяний в области OOA&D

Цитата:
Originally posted by Lonesome

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



А вот тут непонятка вышла. Новое, оригинальное, непохожее всегда привлекает. Мне и самому часто приходиться доказывать, что мои мысли не бред:
http://forum.codenet.ru/showthread.php?s=&threadid=9878
http://forum.codenet.ru/showthread.php?s=&threadid=9301

Кстати, о шаблонах... :)
Шаблонное мышление тренирует это самое иышление, если под шаблоном подразумевать template<> из С++

Бредом же я называю попытки достичь "полной универсальности, гибкости", попытки конкурировать (сразу же) с существующими ОС корпоративной разработки, попытки прыгнуть выше головы, точнее выше харда. Если думать о новых реалях, то думать надо реально.

424
20 апреля 2003 года
(C)dragon
307 / / 04.12.2002
Цитата:
Originally posted by Lonesome


Вот тебе идея по поводу ядра: дать возможность пользователям (не только root) загружать свои серверы ядра. Так как ядро будет микроядром, то они не смогут повлиять на работу самого микроядра и серверов других пользователей, а будучи серверами, будут работать эффективнее пользовательских приложений.

Допустим пользователь - любитель Windows, тогда загрузив соответствующий сервер ядра, он сможет иметь полный Look&Feel&все остальное своей любимой системы. В том числе и любимую ядреную графику.

А если пользователь - прожженый юниксоид, то он загрузит сервер posix-совместимости и тоже будет счастлив.

2Dragon: с монолитным ядром не удастся достичь той гибкости, которая необходима для действительно универсальной системы



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

Я говорил, что надо писать на C++, выводить ассемблерный листинг и оптимизировать циклы, а не весь код, т.к. в этом нет никакого смысла.

Очень хороший вариант ядра в NT. Там все драйверы находятся в одном контексте и связаны хотя "почти" прямыми вызовами(Через диспетчер ввода-вывода, который извлекает из таблицы адрес и передаёт туда управление). И добавить новый драйвер или заменить существующий можно не перезагружаясь, в отличии от линукса, где сами знаете, что делать надо. Это нечто среднее между монолитным и микроядром. И ещё - надо сделать такое ядро, чтобы надо было перезагружаться только для установки ОС(ну там новых версий) и чтобы можно было вывести ОС из любого сбойного состояния, а не перезагружаться сразу, как в XP.

1.8K
20 апреля 2003 года
Lonesome
112 / / 27.01.2003
Цитата:
Originally posted by (C)dragon


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


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

Цитата:

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


Ну ты меня удивляешь, чувак :) Ладно, буду считать, что в этом абзаце ты случайно написал "линукса" вместо "виндовса" :)


Цитата:

И ещё - надо сделать такое ядро, чтобы надо было перезагружаться только для установки ОС(ну там новых версий) и чтобы можно было вывести ОС из любого сбойного состояния,


Неужели ты все хочешь как в Linux? :)))

424
20 апреля 2003 года
(C)dragon
307 / / 04.12.2002
Цитата:
Originally posted by Lonesome

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



Серверы микроядра должны находится в Ring0, иначе это уже к ядру не имеет отношения.

Цитата:

Ну ты меня удивляешь, чувак :) Ладно, буду считать, что в этом абзаце ты случайно написал "линукса" вместо "виндовса" :)



Допустим я купил новую видеокарту. При запуске Windows просто загрузит для неё соответствующий драйвер, если он есть, а если нет, его просто ставишь и перезагружаешся. А у линукса придётся ядро перекомпилировать...

Цитата:

Неужели ты все хочешь как в Linux? :)))



А разве это плохо, что не будет перезагрузок?

1.8K
20 апреля 2003 года
Lonesome
112 / / 27.01.2003
Цитата:
Originally posted by (C)dragon


Серверы микроядра должны находится в Ring0, иначе это уже к ядру не имеет отношения.


Ладно, сейчас на пальцах объясню отличия микроядра от монолитного. В монолитном ядре очень многое выполняется на уровне супервизора: драйвера, менеджер памяти, менеджер процессов и т.п. В микроядре же все что только можно вынесено на пользовательский уровень, а на системном оставлено только то, чему необходим прямой доступ к аппаратуре. Самый простой пример: механизм переключения задач должен находится в ring0, но планировщик задач можно легко вынести и в ring3. В принципе, основная задача микроядра - осуществлять взаимодействие между пользовательскими процессами, в числе которых могут быть и сервера ядра. Даже драйвера легко выносятся в ring3 (учитывая что микроядро экспортирует возможности чтения/записи в порты и доступ к определенным "хардверным" областям памяти)


Цитата:
Originally posted by (C)dragon

Допустим я купил новую видеокарту. При запуске Windows просто загрузит для неё соответствующий драйвер, если он есть, а если нет, его просто ставишь и перезагружаешся. А у линукса придётся ядро перекомпилировать...


Держите меня.... ЭТо кто же тебе такую чушь рассказал? Во первых драйвер видеокарты к Linux имеет мало отношения (за видео отвечает X-сервер и соответственно достаточно перезапустить его - обычное пользовательское приложение!). Во вторых драйвера в Linux существуют в виде lkm - loadable kernel modules (обычные объектные файлы, имеющие функции init_module и cleanup_module), которые в любой момент времени можно загрузить и выгрузить. Более того - существует специальный демон kerneld, который автоматически загружает и выгружает необходимые модули. Например засунул ты в дисковод дискету с файловой системой, поддержки которой в ядре нет. Тогда при попытке монтирования kerneld это дело определит и драйвер нужной ФС загрузит.
Ну и естественно, никто не мешает напрямую вкомпилировать в ядро нужные драйвера, чтобы не тратить время на их загрузку.


Цитата:
Originally posted by (C)dragon

А разве это плохо, что не будет перезагрузок?


А если все будет как в Linux, то зачем еще одна ОС? :)

1.8K
20 апреля 2003 года
Exfector
74 / / 12.10.2002
Как насчёт RadiOS ( http://sourceforge.net/projects/radios ) ? По мне - довольно интерессная вещь и если-бы не отсутствие на данное время ресурса последнего, не пожалел-бы его на активное участие в проекте.
424
21 апреля 2003 года
(C)dragon
307 / / 04.12.2002
Цитата:
Originally posted by Exfector
Как насчёт RadiOS ( http://sourceforge.net/projects/radios ) ? По мне - довольно интерессная вещь и если-бы не отсутствие на данное время ресурса последнего, не пожалел-бы его на активное участие в проекте.



- Это опять клон Unix'а.

- Про то, чтобы менять драйвер, надо ядро перекомпилировать, написано во многих статьях про linux.

- Про микроядро. Если там всё распределено по уровням привилегий, то проц будет всё время проверять допуски на уровень, а это отнимает время. Всё ядро и системные драйверы(дисков, ведео, звука) должны быть в Ring0.

1.8K
21 апреля 2003 года
Lonesome
112 / / 27.01.2003
Цитата:
Originally posted by (C)dragon

- Про то, чтобы менять драйвер, надо ядро перекомпилировать, написано во многих статьях про linux.


Не иначе как империалистическая пропаганда корпораций-разработчиков платного ПО :) Я то думал, почему еще не все Linux юзают... Но, как сказано в Библии: "восстанет правда, перестанет господствовать неправда" :)

Цитата:
Originally posted by (C)dragon

- Про микроядро. Если там всё распределено по уровням привилегий, то проц будет всё время проверять допуски на уровень, а это отнимает время.


Молодец! Вот ты сам и показал недостаток микроядерных систем. Системный вызов в монолитной системе сопровождается двумя переключениями режимов: пользователь(ring3)-ядро(0)-пользователь(3). А в микроядерной - четырьмя: пользователь(3)-ядро(0)-сервер_обрабатывающий_вызов(3)-ядро(0)-пользователь(3).
Итого при прочих равных условиях, микроядро будет медленнее монолитного.
Недостатки на этом, к счастью, заканчиваются, и начинаются преимущества: легкая расширяемость, переносимость, принципиально новые возможности, вроде описанной мною ранее, очень высокая стабильность (ведь в ring0 только малюсенькое микроядро, которое легко отладить) и пр.


Цитата:
Originally posted by (C)dragon

Всё ядро и системные драйверы(дисков, ведео, звука) должны быть в Ring0.


Вот это и называется обычным монолитным ядром.

1.9K
21 апреля 2003 года
kswapd
93 / / 08.02.2003
Цитата:
Originally posted by Lonesome

Недостатки на этом, к счастью, заканчиваются, и начинаются преимущества: легкая расширяемость, переносимость, принципиально новые возможности, вроде описанной мною ранее, очень высокая стабильность (ведь в ring0 только малюсенькое микроядро, которое легко отладить) и пр.



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

1.8K
21 апреля 2003 года
Lonesome
112 / / 27.01.2003
Цитата:
Originally posted by kswapd


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



Да ну... Почему же одинаковое? В микроядре часть, взаимодействующая с аппаратурой (единственная непереносимая часть) - это может пару килобайт, а в монолитном?

А насчет разработки свободных систем - разницы действительно мало, а вот в эксплуатации разница есть. В стабильности например :)

1.9K
22 апреля 2003 года
kswapd
93 / / 08.02.2003
Цитата:
Originally posted by Lonesome


Да ну... Почему же одинаковое? В микроядре часть, взаимодействующая с аппаратурой (единственная непереносимая часть) - это может пару килобайт, а в монолитном?



Ну так и там также (на уровне исходников все разделено на переносимую и непереносимую части :))

Цитата:
Originally posted by Lonesome

А насчет разработки свободных систем - разницы действительно мало, а вот в эксплуатации разница есть. В стабильности например :)



Угу, и в производительности :D
А насчет стабильности тоже не факт - хорошо реализовать обмен сообщениями между серверами - довольно нетривиальная задача.

424
22 апреля 2003 года
(C)dragon
307 / / 04.12.2002
Короче, лучшее ядро - смешанное, и не надо с этим спорить.
1.9K
22 апреля 2003 года
kswapd
93 / / 08.02.2003
Цитата:
Originally posted by (C)dragon
Короче, лучшее ядро - смешанное, и не надо с этим спорить.



Ну поспорить всегда можно :) Может мы тут ненароком новый тип ядра выдумаем? :)))

1.8K
22 апреля 2003 года
Lonesome
112 / / 27.01.2003
Цитата:
Originally posted by kswapd

Ну поспорить всегда можно :) Может мы тут ненароком новый тип ядра выдумаем? :)))



Ага, давайте например все пользовательские приложения запихнем в ядро - для повышения производительности :))

1.8K
22 апреля 2003 года
gwg605
76 / / 06.03.2003
Ага, давайте например все пользовательские приложения запихнем в ядро - для повышения производительности :)) [/QUOTE]

Получится Novell :)
467
24 апреля 2003 года
Edmond
72 / / 20.05.2000
Гм....
И всё таки.
В чём собственно новые идеи ОС?
Хотя бы одна.
Написать оптимальную по коду ОСЬ уже пытаются Menuet (1, 2, 3, 1, 2, 3, :D :D )
Идея единого ядра.
Впрочем Win2000 даже превзошла эту идею!!!
Linux... впрочем.

Написать БОЛЬШОЕ не выйдет. Я могу поверить в написание маленького но КООРДИНАЛЬНО По технологии НОВОГО.
Правда, это не легче чем созддать 2 Винды :)))
2.0K
05 мая 2003 года
theBEST
54 / / 02.05.2003
Цитата:
Originally posted by Edmond
Гм....
И всё таки.
В чём собственно новые идеи ОС?
Хотя бы одна.
Написать оптимальную по коду ОСЬ уже пытаются Menuet (1, 2, 3, 1, 2, 3, :D :D )
Идея единого ядра.
Впрочем Win2000 даже превзошла эту идею!!!
Linux... впрочем.

Написать БОЛЬШОЕ не выйдет. Я могу поверить в написание маленького но КООРДИНАЛЬНО По технологии НОВОГО.
Правда, это не легче чем созддать 2 Винды :)))


Я тебя полностью поддерживаю! Есть у кого идеи чего то нового! НЕТ??? Ну и нафига здесь переливать из пустого в порпжнее??? Перемывать LINUX или UNIX. Если писать, то писать! Нужно создать команду! Я там на форуме создал тему "Хочу написать ос", кто хочет присоединяйтесь! Заранее всем благодарен theBEST.

723
06 мая 2003 года
Tommy
78 / / 13.10.2002
И так, я так понял вы собираетесь писать ОС. Прочитав все посты. я заметил:

- Вы споритее об архитектуре ОС, ну ладно согласен без этого нельзя, но выже не определили для чего предназначена Ос, а значит и не определили чётких целей, а это самый первый щаг на пути создания любого программного обеспечения.
- Не плохо бы было выложить архитектуру системы в общем, а то вы чё-то спорите хотя в сущности сисстема ни на сколько не продвигиется

Ну это только первые советы. Не сочтите что тут умнячаю, но все-таки это кстати.

Поэтому неплохо бы было определиться с целями а потом начинать споры.
554
06 мая 2003 года
Zhilin Mike
159 / / 11.02.2003
Все правильно. Но еще один вопрос. Давайте перед тем как выражаться на тему архитектуры - свои основные идеи о целях оси, ее особенностях, которые вы видете (или наоборот не находите но мечтаете) в современных операционках(с указанием самих оперов =)).Также на что вы новую ось хотите ставить - на стандартные пни или доисторические 86. То есть вопрос о ресурсах - какие они должны быть.
Короче, давайте начнем с идей. Потом пойдет разговор дальше.
1.8K
07 мая 2003 года
Lonesome
112 / / 27.01.2003
Цитата:
Originally posted by Zhilin Mike
Все правильно. Но еще один вопрос. Давайте перед тем как выражаться на тему архитектуры - свои основные идеи о целях оси, ее особенностях, которые вы видете (или наоборот не находите но мечтаете) в современных операционках(с указанием самих оперов =)).Также на что вы новую ось хотите ставить - на стандартные пни или доисторические 86. То есть вопрос о ресурсах - какие они должны быть.
Короче, давайте начнем с идей. Потом пойдет разговор дальше.



Оглядываю орлиным взором UNIX (да что уж тут говорить, даже ДОС - сильно недоделанный UNIX :)), замечаю вопиющие вытекающие из простоты недостатки:
1) Архитектура файловой системы (типа мы говорим девайс, подразумеваем файл; мы говорим файл, подразумеваем девайс/процесс/область памяти). Эта самая архитектура вынуждает использовать для работы со всеми девайсами только read(), write(), ioctl() и т.п., что не есть хорошо. Больше скажу - язык Си даже не позволит создать нечто более другое. Например - открыл ты девайс с помощью некой функции и вдруг - бац - появились неожиданно в адресном пространстве функции, которые предназначены для работы *именно* с этим девайсом. Например тут недавно хотели чайник к компу подключить...
teapot = open("/dev/teapot");
teapot->get_water(300);
teapot->on();
while (!teapot->is_ready());
teapot->off();


Едем дальше:
2) Архитектура многозадачности. Почему только процессы и потоки? Радикальное предложение: считать базовой (но не атомарной!) единицей выполнения не процесс. И даже не пользователя. Мы же сетевая ОС, значит единица выполнения - компьютер. Или даже вся сеть. Больше скажу - если в юниксах все считается файлами, то в нашей ОС все будет считаться сетями.

Например:
inet = open("/net/internet");
handle=inet->http->get("http://site.domain/");
Или даже:
handle=open("/net/internet/http/site.domain/");

P.S. И не надо говорить, что у меня крыша поехала, я это и так знаю :)

467
07 мая 2003 года
Edmond
72 / / 20.05.2000
Цитата:
Originally posted by Lonesome
вытекающие из простоты недостатки:
1) Архитектура файловой системы (типа мы говорим девайс, подразумеваем файл; мы говорим файл, подразумеваем девайс/процесс/область памяти). Эта самая архитектура вынуждает использовать для работы со всеми девайсами только read(), write(), ioctl() и т.п., что не есть хорошо.

По какой причине

Больше скажу - язык Си даже не позволит создать нечто более другое.

???? Это как?

Например - открыл ты девайс с помощью некой функции и вдруг - бац - появились неожиданно в адресном пространстве функции, которые предназначены для работы *именно* с этим девайсом. Например тут недавно хотели чайник к компу подключить...
teapot = open("/dev/teapot");
teapot->get_water(300);
teapot->on();
while (!teapot->is_ready());
teapot->off();

:D :D :D :D А заварить его можно? :D

Едем дальше:
2) Архитектура многозадачности. Почему только процессы и потоки? Радикальное предложение: считать базовой (но не атомарной!) единицей выполнения не процесс. И даже не пользователя. Мы же сетевая ОС, значит единица выполнения - компьютер.

Гм...
Вопрос: а сколько ннужно програмеру выпить пива, чтобы такое сказать :D?
Браво.
Но шутки шутками. Давайте сурьёзно. Я не вижу в этом предложении зерна, либо вы его плохо объяснили. При ЧЁМ ТУТ ПОТОКИ? И ПРОЦЕССЫ?

Если речь идёт о том, что я думаю, то это уже существует для WinNT
Там каждый процесс привязак к пользователю (вот вот... ) Если это не ТО что ВЫ хотели сказать, то объясните разницу.



Или даже вся сеть. Больше скажу - если в юниксах все считается файлами, то в нашей ОС все будет считаться сетями.

Например:
inet = open("/net/internet");
handle=inet->http->get("http://site.domain/");
Или даже:
handle=open("/net/internet/http/site.domain/");

Это ДЗЕН конечно, но помоему вы Глумитесь :))))

P.S. И не надо говорить, что у меня крыша поехала, я это и так знаю :)


Угу

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог