OSDev

для всех
Текущее время: 26 апр 2024, 00:02

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




Начать новую тему Ответить на тему  [ Сообщений: 70 ]  На страницу 1, 2, 3, 4, 5 ... 7  След.
Автор Сообщение
 Заголовок сообщения: Стоит ли писать ОСЬ
СообщениеДобавлено: 06 мар 2012, 05:17 
Заблокирован

Зарегистрирован: 28 окт 2011, 12:14
Сообщения: 555
Откуда: Новосибирск
Люди, которые разрабатывают операционные системы иногда задумываются, нужно ли это делать, для кого и есть ли в этом смысл кроме личного опыта, и удовлетворения. Нужна ли на данный момент система в которой рисуются окошки, пишется текст, работают устройства, запускаются программы типа редакторов документов, браузера и т.д., и можно ли написать такую систему нашему брату по оружию?
Лично моё мнение, что можно и в этом есть смысл, т.к. сушествующие оси не идеальны. Они либо сложны, не корректны и глючны(как винда линукс), либо просты, и не дописаны(как колибри).
Нужна ли работоспособная ось, что для этого нужно?
Мне становится не интересно от того, что эта тема ни кого не интересует(написание оси) и складывается мнение, что все кто этим занимается не хотят чего то большего, чем просто получение каких то знаний от своих творений. Думаю, что в этом случае вы не цените свои знания и умения.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Стоит ли писать ОСЬ
СообщениеДобавлено: 06 мар 2012, 08:35 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
ОС, пригодная для использования -- это прежде всего прикладные программы :) С этой точки зрения создать систему, способную конкурировать не то что с виндолинухом -- даже с упомянутой Колибри в одиночку практически невозможно (ну, разве что писатель -- полный гений и поэтому выдающий в единицу времени раз в 20 больше работающего кода, чем обычный программист с квалификацией выше средней).

Однако толпу народа можно собрать либо за деньги, либо если уже есть нечто готовое, работоспособное и потенциально перспективное. Вот последнее и можно сделать в одиночку. Другое дело, что это достаточно тяжело не только технически, но и организационно. Например,та же КОС, увы, в нынешнем виде абсолютно бесперспективна, поскольку совершенно хаотична как внутри, так и с точки зрения API (следствие того, что Менуэт, откуда она откололась, по своей типа архитектуре больше похож на отвратительно сделанный BIOS, чем на сколько-нибудь вменяемую ОС; собственно, разработчики КОС не столько развивают систему, сколько изобретают всё новые и новые костыли). Соответственно, чтобы ОС можно было развивать, она должна быть хорошо продумана и задокументирована, даже если разработчик -- один человек. Причём продумывать надо не только те части, которые планируется реализовать в ближайшее время, но и всю систему в комплексе -- хотя бы в черновом виде, но чтобы сложилось ясное впечатление о том, как её составные части будут взаимодействовать между собой. (Под "как" понимается не техническая организация взаимодействия, а более глобальные вещи: какой компонент за что конкретно отвечает, какие компоненты к нему обращаются, как осуществляется синхронизация между компонентами системы, как обрабатываются возможные ошибки и нештатные ситуации типа исчерпания памяти и т.д.).

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

Приличную сложность представляет также многопроцессорная обработка, а без неё тоже сейчас никуда, поскольку практически все выпускаемые процессоры архитектуры IA-32 -- многоядерные. Если SMP не поддерживается, это автоматом означает, что ОС не имеет перспектив, ну а добавление SMP в уже написанную систему в конечном итоге приведёт к переписыванию её чуть ли не полностью (можно вспомнить, например, эпопею с переработкой Линуха). Эту часть тоже надо проектировать (синхронизация уровня ядра, правила распределения прерываний между процессорами и т.п.).

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Стоит ли писать ОСЬ
СообщениеДобавлено: 06 мар 2012, 16:24 

Зарегистрирован: 04 май 2011, 18:13
Сообщения: 121
viewtopic.php?f=18&t=475 аналог темы.
Вопрос в той теме был еще про навыки и опыт. "Где их применить в жизни? Поможет ли это заработать деньги где либо еще?".

Можем развить тему по этим вопросом, чтобы компенсировать.

Итак, господа! В рамках топика "Стоит ли писать ОС": человек, который написал ОСь(например по масштабу MS DOS или выше), в будущем сможет использовать эти навыки? В каких областях ты можешь придти этаким крутым дядькой, и педалить в 2 раза быстрее своих коллег прикладников, которые кроме джавы под Андроид ничего больше не знают? Можно ли бить пяткой в грудь, если очень хорошо разобрался в разработке ОС? Оценит тебя, как специалиста, работодатель?


Кстати, у самого такого возникало чувство какого-то превосходства и крутизны, что мол "вот ты знаешь больше, ведь ты копаешь глубоко". Когда поднимал тему указанную по ссылке, сидел на работе с айпадами и Objective C. А рядом молодой человек, до этого не знавший программирование вообще. Тупо человек с улицы. Его взяли джуниором под Андроид писать. В этой ситуации ты со своими вселенскими познаниями "истины" чувствуешь себя каким-то старпером-задротом.


Последний раз редактировалось JSON 07 мар 2012, 00:07, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Стоит ли писать ОСЬ
СообщениеДобавлено: 06 мар 2012, 16:41 
Заблокирован

Зарегистрирован: 28 окт 2011, 12:14
Сообщения: 555
Откуда: Новосибирск
SII вы пытаетесь продумать всё, а это с первого взгляда сложно. Драйвера пишутся по открытым спецификациям и после разбора спецификаций драйвер можно написать на любую ось, ну к примеру я разобрал контроллер ahci и могу написать себе драйвер и всем кто попросит, написал графические функции и они применимы в моей и в ваших осях, те же векторные шрифты очень быстрые и гладкие, могу дать.
Для оси мне кажется вполне хватает драйвера для дисков(ahci), юсб(ehci, там и флешки и мышки и веб камеры), звук(hda, все современные звукавухи), сетевухи(хотябы парочка), видео(парочки на первое время хватит). Функции графического интерфейса (лично для меня это не проблема, могу написать на любой вкус). И любая объектная система, чтобы пользователь мог открывать окошки запускать программки с кнопками и списками.
Всё это вполне реально написать нескольким людям, я написал 40% от этого и если это будет красиво и быстро и удобно, то благодарных пользователей будет много, т.к. существующие оси не корректны.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Стоит ли писать ОСЬ
СообщениеДобавлено: 06 мар 2012, 17:15 
Заблокирован

Зарегистрирован: 28 окт 2011, 12:14
Сообщения: 555
Откуда: Новосибирск
StasBaybak писал(а):
Кстати, а какая профессия вообще раскроет тебя как личность перед девушкой? Чтоб ты сказал: "Я специалист бла бла" сразу стало ясно и этим все сказанно. Не важно это особо. Ну а все таки?!


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Стоит ли писать ОСЬ
СообщениеДобавлено: 06 мар 2012, 20:08 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Тоже считаю, что знание низкоуровневого программирования при использовании языков высокого уровня является рудиментом, слишком велико абстрагирование. При приёме на работу обычно это не является плюсом. Максимум что может пригодиться, и будет цениться другими - знание системного API.

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

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Стоит ли писать ОСЬ
СообщениеДобавлено: 06 мар 2012, 23:21 

Зарегистрирован: 31 окт 2011, 18:20
Сообщения: 230
По поводу ЯВУ и асмы:
Тут как посмотреть. Когда пишем под х86 или х64, то с их восемью ядрами и 4 гигагерцами на каждом ясен пень, что от асмы толку мало. Там можно запустить прогу php, юзая интерпретатор, написанный на перле, интерпретатор которого написать на яве, ВМ которого написать на .NET, и все равно будет работать с терпимой скоростью.

А вот когда переезжаем в другие сферы - все не так однозначно. Например, юзаем AVR-микроконтроллеры (или другие копеечные 8-мибитки). Пишем мигание светодиодом на асме - все супер, все работает, все прозрачно. Пишем его же на чистом си - получаем прогу, которая занимает все 64кб флеша, глючит на каждом шагу из-за недосмотров и непрозрачности кода. Так что в таких вещах асма не просто полезна: без неё хороший код написать невозможно. Даже юзая чистый си в голове надо держать множество асмовых нюансов, вроде "а что если посередине моего A = B вклинится прерывание? А что если там-то память повредит? А что если ......."

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Стоит ли писать ОСЬ
СообщениеДобавлено: 07 мар 2012, 00:08 

Зарегистрирован: 04 май 2011, 18:13
Сообщения: 121
Станислав писал(а):
StasBaybak писал(а):
Кстати, а какая профессия вообще раскроет тебя как личность перед девушкой? Чтоб ты сказал: "Я специалист бла бла" сразу стало ясно и этим все сказанно. Не важно это особо. Ну а все таки?!



Про девушек: меня занесло не туда. Это бред больного рассудка. Будем считать, что вы этого позора не видели.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Стоит ли писать ОСЬ
СообщениеДобавлено: 07 мар 2012, 00:35 

Зарегистрирован: 21 сен 2007, 17:24
Сообщения: 1088
Откуда: Балаково
Нет, ну тема достаточно правильная - есть ли такие науки, которые являются как бы супер-науками, которые котируются везде, в любой отрасли и в любой жизненной ситуации. Я считаю такой математику, правда она мне пока что ещё не особо даётся. К примеру, на девушку можно произвести впечатление умением считать. Ну а компьютерные технологии так вообще завязаны на математике. Это всегда будет жирным плюсом в оценке потенциального работника при приёме на работу. Да и вообще.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Стоит ли писать ОСЬ
СообщениеДобавлено: 07 мар 2012, 02:35 

Зарегистрирован: 28 окт 2007, 18:33
Сообщения: 1418
Станислав писал(а):
SII вы пытаетесь продумать всё, а это с первого взгляда сложно


Сложно, а если всё делать исключительно из своей головы, -- то и вовсе невозможно. Поэтому совершенно необходимо изучать другие ОС, причём полноценные, а не всякие огрызки-обрубки (например, жутко популярная для встраиваемых решений FreeRTOS, как и коммерческие ядра типа там кейловской RTX, не заслуживают внимания: это не полноценные оси, а так... переключалки потоков с примитивными механизмами синхронизации). Мне в этом плане повезло намного больше, чем подавляющему большинству участников и нашего форума, и других: я начинал работать на системах 1960-70-х годов, в которых действительно важные вещи ещё не заслонены кучей всякой фигни, как в современных, и которые очень хорошо документированы. Если же говорить о нашем времени, то, ИМХО, самый лучший объект для изучения -- Винда, а отнюдь не Линух. Применительно к драйверной модели в ней надо изучать WDM, а не современную WDF: последняя представляет собой объектно-ориентированную надстройку над WDM и скрывает от разработчика драйвера многие внутренние механизмы системы. И если для драйверописателя это облегчает жизнь, то для разработчика системы -- только мешает, поскольку заслоняет истинную картину.

Цитата:
Драйвера пишутся по открытым спецификациям и после разбора спецификаций драйвер можно написать на любую ось, ну к примеру я разобрал контроллер ahci и могу написать себе драйвер и всем кто попросит


Изучив "открытые спецификации" на железо, Вы не сможете написать драйвер "на любую ось", поскольку Вы не знаете требований, предъявляемых конкретной системой к драйверам. У Винды своя драйверная модель, а значит, свой набор драйверов (на самом деле, даже несколько драйверных моделей), у Линуха -- своя, у QNX -- своя и т.д.

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


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

Цитата:
Для оси мне кажется вполне хватает драйвера для дисков(ahci), юсб(ehci, там и флешки и мышки и веб камеры), звук(hda, все современные звукавухи), сетевухи(хотябы парочка), видео(парочки на первое время хватит). Функции графического интерфейса (лично для меня это не проблема, могу написать на любой вкус). И любая объектная система, чтобы пользователь мог открывать окошки запускать программки с кнопками и списками.
Всё это вполне реально написать нескольким людям, я написал 40% от этого и если это будет красиво и быстро и удобно, то благодарных пользователей будет много, т.к. существующие оси не корректны.


Извините, бред. Судя по Вашим постам, Вы просто не представляете себе, сколько всякого железа внутри компутера, которым надо управлять, иначе будет не ОС, а очередная недоделка. Кстати говоря, Вы, похоже, не видите особой разницы между драйвером хост-контроллера USB и драйверами устройств, подключаемых к USB -- а между тем это совершенно разные вещи, и поэтому какой-нибудь там USB-мышкой управляет не один драйвер, а по меньшей мере два (собственно драйвер мыши и драйвер хост-контроллера USB). Не улавливаете Вы разницы между драйвером контроллера дисков и драйвером файловой системы (а последних может и должно быть несколько: как минимум FAT, NTFS и CDFS). Ну и так далее.


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

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


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

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


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

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