Здравствуйте, pagid, Вы писали:
S>>Ну, это по срокам кода (коих 6399191 полезных) — если 1 чел. в среднем пишет около 15 строк кода в день при зарплате $ 140 тыс. в год. Понятно что строки низкоуровневые, это не вам не C#. На C 15 строк в день на такой зарплате — это норма. S>>И вопрос в том, возможно ли это? Ну хорошо, возможно ли это лет через 10?
P>Зачем?
Все нынешние ОС — шлак по сути. Нужна нормальная альтернатива.
Здравствуйте, Shmj, Вы писали:
S>Ну, это по срокам кода (коих 6399191 полезных) — если 1 чел. в среднем пишет около 15 строк кода в день при зарплате $ 140 тыс. в год. Понятно что строки низкоуровневые, это не вам не C#. На C 15 строк в день на такой зарплате — это норма. S>И вопрос в том, возможно ли это? Ну хорошо, возможно ли это лет через 10?
Здравствуйте, AlexRK, Вы писали:
vsb>>Другой вопрос — зачем это всё? Чем текущие ядра не устраивают?
ARK>Почему именно ядра? Операционные системы — это не только ядра.
ARK>А ядра... Ну, они насквозь дырявые, например. По причине использования небезопасных С/C++ по всей кодовой базе.
Честно говоря, не понимаю смайликов.
Вот недавно IID постил:
Можно только догадываться, сколько подобных ошибок разбросано по кодовой базе в миллионы строк. А можно почитать отчеты PVS-studio и убедиться, что их действительно тьма.
До тех пор, пока порядок операндов будет определяться только программистом исходя из их "говорящих" названий buf & rbuf, таких ошибок будет море. И никакие многоуровневые собеседования, задачи про гномиков, кодревью и тесты тут не помогут.
Здравствуйте, Shmj, Вы писали:
S>чтобы переписать Linux с нуля...
Имелось ввиду ЗАКОПАТЬ?
S> если 1 чел. в среднем пишет около 15 строк кода в день...
Это кто так пишет? Безрукобезногий инвалид, набирающий носом? Ныне как-то побыстрее код пишется, IDE помогает в полный рост.
S> Если все сделать с чистого листа...
Но беда в том, что если строить башню на фундаменте из навоза (это я про архитектуру PC), то ничего кроме навозной кучи вы не получите. Как правильно сказали в комментах, железо тоже достигло своего апогея безалаберности и хаоса — нужно категорически менять. Писать ОС для существующего павлиноуткоежа — обидная трата времени.
S> А так же разработать единые стандарты для девайсов, чтобы и драйвера не нужно было писать отдельно для каждого производителя.
В идеальном мире прогеров — да, это прекрасно. Но судя по вывертасам производителей типагеймерских клавиатур (как пример), им нафик не нужна ваша "не нужно было писать" — ровно наоборот: чем уникальнее экосистема, тем больше людей можно на неё подсадить навечно (как у Эппла). Увы, такое решается исключительно жёстким контролем государства — никаких судов, оправданий — просто фирма, лепящая выкрутасы на ровном месте, признаётся "идущей вразрез с общепринятыми стандартами" и штрафуется с запретом реализации продукции на локальном рынке.
У принтера, клавиатуры, мыши, должен быть свой ОДИН драйвер.
S>И вопрос в том, возможно ли это?
Те, у кого есть сила и деньги это сделать, меньше всего в этом заинтересованы. ( Так что даже через 10 лет будет всё тот же бардак и уныние.
Показательный пример: оптоволокно. ОДИН стандарт мог заменить все эти USB, HDMI, SATA, COM, LPT и т.п. Никто даже чесаться не стал воплощать одно решение на 50 лет — куда удобнее лепить USB 1-2-3-4-...100 и продавать новые шняги на бестолковом, вечно "улучшаемом" стандарте.
Бизнес — это вообще никогда не было про "прогресс", это всегда стагнация и раздрай.
Здравствуйте, L.K., Вы писали: LK>Для начала нужна принципиально новая аппаратная архитектура.
Отож. Смысла её делать на морально устаревшем кремнии нет никакого.
Нужен новый носитель. А ещё лучше — новая физика, безо всех этих энергоёмких квантовых процессов.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Ночной Смотрящий, Вы писали:
S>> Один может начать разработку ОС только в одном случае — если сойдет с ума. Получится что-то типа https://ru.wikipedia.org/wiki/TempleOS НС>Ну так получилось же даже у психа.
Во-первых, ничего хорошего не получилось.
Во-вторых, думаете психом быть так уж легко? Он же все свободное время ей уделял и больше ничем не занимался. У нормального чела нет таких возможностей.
Здравствуйте, Sinclair, Вы писали:
S>Простейшая, казалось бы, штука — клавиатура. Ну что там можно изобрести? Выясняется, что стандарт USB для клавиатур не рассчитан на обработку более 5 нажатий одновременно.
Глупость какая-то. USB — последовательный порт. Всё, что нужно — передавать последовательно события нажатия и события отпускания клавиш. Проблема в контроллере самой клавиатуры.
Здравствуйте, okon, Вы писали: O>что значит единые стандарты, они впринципе есть, ты втыкаешь видеокарту она как-то работает со стандартным драйвером. O>Драйвера от производителя нужны если ты хочешь выжать максимум из видеокарты, использовать все ее фичи, а фичи у разных компаний всегда будут разные, в этом заключается их конкуренция и возможность существования.
Более того — хардкоженье какого-либо подхода в стандарте резко связывает руки; в итоге все производители вынуждены делиться на два лагеря: конформисты, которые бьются в узкой нише соответствия стандарту, и нон-конформисты, которые выходят за рамки стандарта для обеспечения каких-либо плюшек.
Простейшая, казалось бы, штука — клавиатура. Ну что там можно изобрести? Выясняется, что стандарт USB для клавиатур не рассчитан на обработку более 5 нажатий одновременно. Упс. В итоге производители клавиатур вынуждены либо жить в рамках этого, либо выпускать свои драйвера, которые обхитряют это ограничение (скажем, представляя клавиатуру как 2 устройства одновременно).
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Shmj, Вы писали:
S>А так же разработать единые стандарты для девайсов, чтобы и драйвера не нужно было писать отдельно для каждого производителя.
Вот, помнится, в былые времена был стандарт для видеокарт — VESA. Если видеокарта поддерживает VESA, то и универсальный драйвер VESA подойдёт к любой такой видеокарте. Нужны стандарты типа таких, когда железо полностью совместимо на уровне команд через порты. Но существующее железо к единому стандарту уже не притянуть. Нужно проектировать заново.
Здравствуйте, Shmj, Вы писали:
S>Вопрос в другом. По большей части такой большой объем ядра — легаси-код. Если все сделать с чистого листа, чистое ядро без поддержки старья. А так же разработать единые стандарты для девайсов, чтобы и драйвера не нужно было писать отдельно для каждого производителя.
S>И вопрос в том, возможно ли это? Ну хорошо, возможно ли это лет через 10?
Нет, невозможно. Считать строки — неправильно. Нужно отталкиваться от строк когда либо написаных для этого линуса. Строки те, что есть сейчас — это идеальный результат. Но этот вариант недостижим, т.к. разработчики обязательно будут переизобретать велосипеды, ошибаться, исправлять и тд. Соответсвенно начальную оценку надо увеличить раз в десять по минимуму.
Здравствуйте, Kolesiki, Вы писали:
K>Показательный пример: оптоволокно. ОДИН стандарт мог заменить все эти USB, HDMI, SATA, COM, LPT и т.п. Никто даже чесаться не стал воплощать одно решение на 50 лет — куда удобнее лепить USB 1-2-3-4-...100 и продавать новые шняги на бестолковом, вечно "улучшаемом" стандарте.
На остальное даже отвечать не хочется, но вы в курсе что "оптоволокно" — это физическая среда, а не стандарт? А стандатров на эту среду хоть ж***й ешь. Начиная с коннекторов.
Здравствуйте, Ikemefula, Вы писали:
I>Что значит "только отлаженые" ? I>Нужно отталкиваться от строк когда либо написаных для этого линуса.
Когда продукт доведен до релиза — считают сколько получилось строк. Важно не сколько вообще написали, а сколько написали пригодных для использования. Иначе можно легко генерить ценность — писать дерьмо потом удалять, потом снова писать.
Здравствуйте, Shmj, Вы писали:
I>>Что значит "только отлаженые" ? I>>Нужно отталкиваться от строк когда либо написаных для этого линуса.
S>Когда продукт доведен до релиза — считают сколько получилось строк. Важно не сколько вообще написали, а сколько написали пригодных для использования. Иначе можно легко генерить ценность — писать дерьмо потом удалять, потом снова писать.
Эта метрика несостоятельна. Ты хоть раз переписывал софт ? Никогда не бывает так, что двигаешься идеально. Всегда уходишь в ту, или иную сторону. Например, показалось, что твое решение будет лучше. Попробовал — не выходит. Время потрачено и теперь надо все вернуть, а уже потом написать ту самую идеальную версию.
То есть, траты времени определяются не идеальными строчками, а всем путем, по которому ты шел к финалу.
Здравствуйте, Sinclair, Вы писали:
LK>>Для начала нужна принципиально новая аппаратная архитектура. S>Отож. Смысла её делать на морально устаревшем кремнии нет никакого. S>Нужен новый носитель. А ещё лучше — новая физика, безо всех этих энергоёмких квантовых процессов.
Не обязательно так. Представьте, например, что научатся делать non-volatile memory с производительностью кэша 1 уровня процессора и размером где-нибудь в терабайт. То есть диск не нужен, оперативная память не нужна — всё изначально загружено и находится в процессе исполнения. И либо нужна эмуляция постоянной и оперативной памяти (хотя по факту это одна область), либо архитектура ОС, которая сможет со всем этим работать "нативно".
ЗЫ. Само собой "нужна" — не означает "экономически выгодна". Просто максимально эффективное использование такой архитектуры современными ОС затруднительно (см. non-volatile memory, например, где приходится менять архитектуру программ чтобы получить выигрыш)
чтобы переписать Linux с нуля, требуется работа 200 программистов в течение девяти с половиной лет и обойдётся это в $268 млн
Как считали...
Ну, это по срокам кода (коих 6399191 полезных) — если 1 чел. в среднем пишет около 15 строк кода в день при зарплате $ 140 тыс. в год. Понятно что строки низкоуровневые, это не вам не C#. На C 15 строк в день на такой зарплате — это норма.
Вопрос в другом. По большей части такой большой объем ядра — легаси-код. Если все сделать с чистого листа, чистое ядро без поддержки старья. А так же разработать единые стандарты для девайсов, чтобы и драйвера не нужно было писать отдельно для каждого производителя.
И вопрос в том, возможно ли это? Ну хорошо, возможно ли это лет через 10?
Здравствуйте, Shmj, Вы писали:
S>А так же разработать единые стандарты для девайсов, чтобы и драйвера не нужно было писать отдельно для каждого производителя.
За гранью фантастики.
S>И вопрос в том, возможно ли это? Ну хорошо, возможно ли это лет через 10?
Google Fuchsia
Здравствуйте, Kolesiki, Вы писали:
S>> если 1 чел. в среднем пишет около 15 строк кода в день... K>Это кто так пишет? Безрукобезногий инвалид, набирающий носом? Ныне как-то побыстрее код пишется, IDE помогает в полный рост.
Так пишут высококлассные спецы, которые получают от $140 тыс. в год.
Говнокодеры пишут по 100500 строк в день и получают со скрипом $20 тыс. в год.
Здравствуйте, AlexRK, Вы писали:
ARK>UPD. Ах да, писать надо, разумеется, ни в коем случае не на Ц/Ц++ (быть может только самый низкоуровневый кусок тыщ на 10 строк, не больше).
Здравствуйте, AeroSun, Вы писали:
ARK>>UPD. Ах да, писать надо, разумеется, ни в коем случае не на Ц/Ц++ (быть может только самый низкоуровневый кусок тыщ на 10 строк, не больше).
AS> в общем писать ОС надо на джаве?
Конечно. Других ведь языков не существует, только Ц да жаба.
Здравствуйте, Shmj, Вы писали:
S>И вопрос в том, возможно ли это? Ну хорошо, возможно ли это лет через 10?
Ну ща, Трамп ZTE ещё похуавеит, и невозможное станет возможным
Реально своих ОС много у кого есть. У Касперского, например. Дело за желающими эти ОС использовать
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
S>Вопрос в другом. По большей части такой большой объем ядра — легаси-код. Если все сделать с чистого листа, чистое ядро без поддержки старья. А так же разработать единые стандарты для девайсов, чтобы и драйвера не нужно было писать отдельно для каждого производителя.
что значит единые стандарты, они впринципе есть, ты втыкаешь видеокарту она как-то работает со стандартным драйвером.
Драйвера от производителя нужны если ты хочешь выжать максимум из видеокарты, использовать все ее фичи, а фичи у разных компаний всегда будут разные, в этом заключается их конкуренция и возможность существования.
”Жить стало лучше... но противнее. Люди которые ставят точку после слова лучше становятся сторонниками Путина, наши же сторонники делают акцент на слове противнее ( ложь, воровство, лицемерие, вражда )." (с) Борис Немцов
Здравствуйте, Shmj, Вы писали:
S>Здравствуйте, Ikemefula, Вы писали:
I>>Что значит "только отлаженые" ? I>>Нужно отталкиваться от строк когда либо написаных для этого линуса.
S>Когда продукт доведен до релиза — считают сколько получилось строк. Важно не сколько вообще написали, а сколько написали пригодных для использования. Иначе можно легко генерить ценность — писать дерьмо потом удалять, потом снова писать.
Строки считать — та ещё ерунда.
Есть код, где ничего сложного нет. Просто большое количество рутинных вещей.
Есть код, который наоборот, сверхзаковыристый. С очень нетривиальными действиями.
А ещё, есть код, который является результатом большой-большой предварительной работы. Пусть даже он не слишком сложный.
Вот например математика какая-нибудь. Там ты можешь чуть ли не месяц думать над разными вещами, дабы в конце написать строк 100-200.
Так долго оттого получается, что ты и сам не представляешь вначале, что надо писать, как всё правильно сделать. Надо предварительно найти решение разных вопросов.
Бывает, что одну и ту же задачу можно написать разными способами. Покороче или подлиннее. Разумеется, то что короче — оно правильнее. Только вот по логике считателя строк, создатель более длинного решения — производительнее, и должен зарабатывать больше.
Ещё вот, когда ты пишешь код, ты не только набиваешь его на клавиатуре. Тебе надо и поразмышлять, и почитать документацию, и подобрать подходящие элементы, которые уже написаны, и продумать вообще действия, которые будут выполняться в программе. Там навалом всего. Ну это ещё помимо отладки и тестовых прогонов. Ну и архитектура конечно. А ещё иногда надо придумывать форматы файлов, сетевые протоколы. Последнее в коде не фигурирует.
Здравствуйте, AlexRK, Вы писали:
ARK>Здравствуйте, Ночной Смотрящий, Вы писали:
ARK>>>Все нынешние ОС — шлак по сути. Нужна нормальная альтернатива.
НС>>Ну займись, раз знаешь как надо.
ARK>Язык сперва доделаю, потом займусь.
Здравствуйте, Ночной Смотрящий, Вы писали:
C>>Вот тут товарищи работают: http://faculty.engineering.asu.edu/zhao/ НС>Они не над микропроцессорами работают.
Они начинали работать над ними, но пока переключились на память.
НС>>>Да при чем тут силовая электрика? C>>С неё начинается. НС>Или не начинается. Перспективных технологий море, чем нитрид галлия лучше остальных?
Из нитрида галлия на кремнии научились делать пластины обычного диаметра (8-12 дюймов), которые стоят не сильно дорого (всего в разы дороже кремния).
Для арсенида галлия с трудом удаётся получить 4", при стоимости в десятки раз большей, чем кремний. 8" пластины из арсенида — это уже штучный продукт, с ценой в тысячу раз большей кремния.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Здравствуйте, AleksandrN, Вы писали:
AN>>Приведи перечень подобных факапов за вчерашний день, с последствиями.
НС>Да чо там, за сеголдняшний надо.
Можно и за сегодняшний. По твоим словам на Линуксе по 100 факапов за день. Полдня уже прошло, значит 50 факапов уже есть. Где список?
Здравствуйте, Shmj, Вы писали:
S>И вопрос в том, возможно ли это?
Конечно возможно.
S>Ну хорошо, возможно ли это лет через 10?
Само ядро это, грубо говоря, десять человеколет. Абсолютно подъёмная задача, хотя и требует квалифицированных специалистов. Драйверы должны писать производители в общем-то. Если их убедишь. Гугл, например, сможет убедить.
Другой вопрос — зачем это всё? Чем текущие ядра не устраивают? Под которые уже, какие-никакие, но драйверы написаны и драйверописателей хватает.
vsb>Само ядро это, грубо говоря, десять человеколет. Абсолютно подъёмная задача, хотя и требует квалифицированных специалистов. Драйверы должны писать производители в общем-то. Если их убедишь. Гугл, например, сможет убедить.
Иииии. Дальше что? На ней магическим образом появится все то, что людям нужно?
Здравствуйте, L.K., Вы писали:
НС>>Как я мог забыть. Да, сперва надо написать компилятор. LK>Для начала нужна принципиально новая аппаратная архитектура.
О да! Но начать следует с принципиально новых транзисторов.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Ну займись, раз знаешь как надо.
Плохой совет. Может предложишь еще и самолет самому спроектировать?
Это не для одного человека. Один может начать разработку ОС только в одном случае — если сойдет с ума. Получится что-то типа https://ru.wikipedia.org/wiki/TempleOS
Здравствуйте, Shmj, Вы писали:
НС>>Ну займись, раз знаешь как надо. S>Плохой совет. Может предложишь еще и самолет самому спроектировать? S>Это не для одного человека.
Ну так если начать и продемонстрировать кошерность идеи, то другие подхватят.
S> Один может начать разработку ОС только в одном случае — если сойдет с ума. Получится что-то типа https://ru.wikipedia.org/wiki/TempleOS
Здравствуйте, Kolesiki, Вы писали:
S>> если 1 чел. в среднем пишет около 15 строк кода в день...
K>Это кто так пишет? Безрукобезногий инвалид, набирающий носом?
Наверное имеется в виду — чистый код для проекта. Под него еще пишутся тесты, размер которых немного другой.
K>Ныне как-то побыстрее код пишется, IDE помогает в полный рост.
Ага. Вот так вот привыкнешь к этой помощи, а она (IDE) тебе, скатина, не то подставит. Ты и не заметишь
Сегодня обнаружил "багу", скорее всего созданную из-за этой помощи. Вместо
S>Плохой совет. Может предложишь еще и самолет самому спроектировать? S>Это не для одного человека. Один может начать разработку ОС только в одном случае — если сойдет с ума.
Вообще-то это разные вещи.
Спроектировать (т.е. описать концепцию, функционал, технические характеристики, модули и их связи) — вполне можно одному.
Разработка... в ряде случаев тоже можно сделать одному. Ну или небольшой командой. Сколько там человек пилят ReactOS? Но у них с самого начала была ясная цель — сделать открытую копию WinXP. А у тебя какая цель?
Здравствуйте, ltc, Вы писали:
ARK>>А ядра... Ну, они насквозь дырявые, например. По причине использования небезопасных С/C++ по всей кодовой базе. ltc>Честно говоря, не понимаю смайликов.
Так смех без причины — признак дурачины. Старо, как мир.
ltc>Вот недавно IID постил: ltc>Можно только догадываться, сколько подобных ошибок разбросано по кодовой базе в миллионы строк. А можно почитать отчеты PVS-studio и убедиться, что их действительно тьма. ltc>До тех пор, пока порядок операндов будет определяться только программистом исходя из их "говорящих" названий buf & rbuf, таких ошибок будет море. И никакие многоуровневые собеседования, задачи про гномиков, кодревью и тесты тут не помогут.
О том и речь. Просто в, хм, субстанцию, которую из себя представляют ядра Windows/Linux/BSD, вложена уйма человеколет. Переписывать их дорого и эти дуршлаги просто латают, внося попутно новые дырки. Пипл хавает.
Я щетаю, надо брать базовый слой совместимости с виндовыми приложениями а-ля Wine (_без_ совместимости до драйверов) и писать под этот вариант чистое и небольшое, без свиста и пердежа, ядро.
UPD. Ах да, писать надо, разумеется, ни в коем случае не на Ц/Ц++ (быть может только самый низкоуровневый кусок тыщ на 10 строк, не больше).
Здравствуйте, pagid, Вы писали:
P>Здравствуйте, Shmj, Вы писали:
S>>Ну, это по срокам кода (коих 6399191 полезных) — если 1 чел. в среднем пишет около 15 строк кода в день при зарплате $ 140 тыс. в год. Понятно что строки низкоуровневые, это не вам не C#. На C 15 строк в день на такой зарплате — это норма. S>>И вопрос в том, возможно ли это? Ну хорошо, возможно ли это лет через 10?
P>Зачем?
Потому что затрахала всех нынешняя чехарда с драйверами.
Правда, проблема тут не в ОС, а в устройствах.
Здравствуйте, Mamut, Вы писали:
M>>>Иииии. Дальше что? На ней магическим образом появится все то, что людям нужно? A>>Не магическим образом, а методом перекомпиляции.
M>Что-то методом перекомпиляции в Линуксе не появился магическим образом Фотошоп, а на Маке и Линуксе игры в каком-либо значительном количестве 🤔
Насколько я понимаю, ТС говорил про замену Линукса. Там всё делается перекомпиляцией. Я проверял.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>>>Как я мог забыть. Да, сперва надо написать компилятор. LK>>Для начала нужна принципиально новая аппаратная архитектура. НС>О да! Но начать следует с принципиально новых транзисторов.
Так есть уже — вакуум-канальные, графеновые и т.д.
На терагерцах работают, т.е. на порядок быстрее лучших кремниевых.
Но им еще предстоит пройти путь своего развития.
На мой взгляд — человечеству новая серьёзная ОС нужна. Для десктопов и серверов.
Прошло довольно много времени, ландшафт IT изменился. Появились куча вещей.
Многое в операционках можно сделать по-другому. Обеспечить большую надёжность, безглючность работы. Защиту приложений друг от друга. Надо ещё выкинуть вот этот вот x86. Даёшь новую OS и другую аппаратную платформу!
Помнится, когда мне было лет 16-17, я всё сам размышлял на тему — если мне самому писать ОС, что бы я в ней сделал? Мой друг, кстати, ОС писал. Он контрибьютил в одну open-source операционку (вот этот вот ReactOS). Правда говнокодил сильно. Я ему говорил про недостатки кода, а он и слышать не хотел
Я вот додумался до того, чтобы уйти от концепции файлов. Т.е. даже так — вот ты ставишь приложение в ОС, оно в каких-то файлах на диске размещается. Которые потом могут быть прочитаны левыми сторонами (юзером или приложениями). Могут быть модифицированы или удалены. Плюс ещё зависимости между аппликейшенами. Вот этот вот DLL-hell. Это всё источник глюков. Надо ставить приложения не пофайлово, а некими кусками. Ссылающимися друг на друга. Ну и garbage collection сделать.
Виндовый реестр, я тоже бы видоизменил. Вот эта вот иерархия — довольно неудачный подход. надо как-то более индивидуально хранить конфигурацию. Чтобы чётче было бы видно — где чьи настройки. Чтобы никто не мог влезть куда не следует.
Транзакционность изменений в конфигурации, записи файлов — тоже круто. Убрать всякое legacy — надо.
Ещё я бы поставил под вопрос саму концепцию файлов как таковых (т.е. последовательности байтов). Вот это не очень круто, когда мы все вынуждены бесконечно сериализовывать/десериализовывать данные. Какие-то более структурированные форматы хочется иметь.
Можно, кстати, вообще — сделать "frozen" файлы для приложений. Суть в том, что когда ты ставишь приложение, оно появляется в виде неких "виртуальных" файлов на чем-то вроде device-fs. Которые можно только прочитать. Ни переместить, ни удалить, ни изменить их невозможно.
Ещё, на мой взгляд, виндовый подход с наличием множества отдельных дисков лучше монолитного дерева в unix-ах.
Только я бы не диски бы делал, а некие обобщённые разделы. С label-ами в качестве названия, вместо букв.
Тогда, например, когда несколько юзеров сидят на машине, им можно выдать свой собственный набор разделов каждому.
Например — системный, общий для всех. Ну и личный юзерский — каждому свой. Т.е. не единый набор дисков для всей системы.
Надо выкинуть вот это вот досовское наследие: зарезервированные имена COM, AUX, LPT, и иже с ними.
Ещё, как-то надо продумать переносимость, и как её применяют в разных девайсах. Android же, он linux, ведь так?
А MacOS использует BSD код? Вряд ли на девайсах нужны всякие фишки, уместные на десктопах.
Ещё, на мой взгляд, windows хороша тем что драйвера подключаемые, а не как там монолитное ядро linux.
И при загрузке DLL, там как я помню, адреса правятся. А в linux там relocatable code, который вызывает доп. проблемы с производительностью, из-за появляющихся команд вызова. Я не помню детали, давно читал об этом.
Эх, не тем я занимаюсь, не тем... Какой же кайф покодить системный софт, а жизнь мне не даёт подобной возможности.
В те времена, такое воодушевление было...
Тебе лет 14 (год где-то 2001), ты пробуешь всякие там API винды. Ваяешь DLL-ку, пробуешь COM, пробуешь DirectX, пробуешь 3D графику, пробуешь игры писать, пробуешь сетевой код. Сплошной кайф. А другие спрашивают — что ты там в своём компьтере сидишь? Нет, им не понять.
Честно говоря, я считаю что в жизни у меня, пожалуй, слишком много хорошего. А времени столь мало, чтобы всё это попробовать.
Здравствуйте, Sinclair, Вы писали:
LK>>Для начала нужна принципиально новая аппаратная архитектура. S>Отож. Смысла её делать на морально устаревшем кремнии нет никакого.
Тут, на самом деле, всё именно так — на смену кремнию начинает подходить нитрид галлия.
Здравствуйте, Cyberax, Вы писали:
LK>>>Для начала нужна принципиально новая аппаратная архитектура. S>>Отож. Смысла её делать на морально устаревшем кремнии нет никакого. C>Тут, на самом деле, всё именно так — на смену кремнию начинает подходить нитрид галлия.
Это всё-равно традиционный подход, т.е. тупиковый.
И да, у нитрида галлия высокий порог, для низковольтной техники лучше арсениды галлия.
Они используются давно, но выходят сильно дороже кремния.
Здравствуйте, Ikemefula, Вы писали:
I>Нет, невозможно. Считать строки — неправильно. Нужно отталкиваться от строк когда либо написаных для этого линуса. Строки те, что есть сейчас — это идеальный результат. Но этот вариант недостижим, т.к. разработчики обязательно будут переизобретать велосипеды, ошибаться, исправлять и тд. Соответсвенно начальную оценку надо увеличить раз в десять по минимуму.
Вообще то именно отлаженные строки кода в итоговом проекте и считают по COCOMO и FP. Понятно что чел. больше 15 строк в день пишет, но после отладки и пр. — так и получается на C.
Здравствуйте, AlexRK, Вы писали:
ARK>UPD. Ах да, писать надо, разумеется, ни в коем случае не на Ц/Ц++ (быть может только самый низкоуровневый кусок тыщ на 10 строк, не больше).
Здравствуйте, AleksandrN, Вы писали:
AN>Погуглил на тему ОС, написанных не на C. AN>Некоторые из них давно не обновлялись, некоторые — вяло развиваются.
Все мейнстримовые оси написаны на ц, это медицинский факт.
Здравствуйте, AeroSun, Вы писали:
AS>Здравствуйте, AlexRK, Вы писали:
ARK>>UPD. Ах да, писать надо, разумеется, ни в коем случае не на Ц/Ц++ (быть может только самый низкоуровневый кусок тыщ на 10 строк, не больше).
AS> в общем писать ОС надо на джаве?
Такая попытка была. Но JavaOS работала поверх микроядра. На чём оно написано информации не нашёл, но наверное на C или ассемблере.
Были попытки сделать процессоры, с аппаратной поддержкой JVM. Но проекты не развиваются. Для них наверняка и ядро на Джаве можно написать.
Здравствуйте, Shmj, Вы писали:
I>>Нет, невозможно. Считать строки — неправильно. Нужно отталкиваться от строк когда либо написаных для этого линуса. Строки те, что есть сейчас — это идеальный результат. Но этот вариант недостижим, т.к. разработчики обязательно будут переизобретать велосипеды, ошибаться, исправлять и тд. Соответсвенно начальную оценку надо увеличить раз в десять по минимуму.
S>Вообще то именно отлаженные строки кода в итоговом проекте и считают по COCOMO и FP. Понятно что чел. больше 15 строк в день пишет, но после отладки и пр. — так и получается на C.
Что значит "только отлаженые" ?
Нужно отталкиваться от строк когда либо написаных для этого линуса.
Здравствуйте, Cyberax, Вы писали:
S>>Отож. Смысла её делать на морально устаревшем кремнии нет никакого. C>Тут, на самом деле, всё именно так — на смену кремнию начинает подходить нитрид галлия.
Можно ссылочку на микропроцессор общего назачения на нитриде галия?
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>>>Только почему то на винде проблем нет. A>>Не болтай ерундой. На Винде проблемы тоже есть.
НС>Крайне редко. С линуксей не сравнить.
Ты ещё ножкой потопай. Вот я в 21 веке проблемы с Виндой имел, а с Линуксом не имел.
Здравствуйте, Ночной Смотрящий, Вы писали:
S>>>Отож. Смысла её делать на морально устаревшем кремнии нет никакого. C>>Тут, на самом деле, всё именно так — на смену кремнию начинает подходить нитрид галлия. НС>Можно ссылочку на микропроцессор общего назачения на нитриде галия?
Ну так пока только "начинают". Сейчас основные применения — силовая электроника.
Здравствуйте, Cyberax, Вы писали:
НС>>Можно ссылочку на микропроцессор общего назачения на нитриде галия? C>Ну так пока только "начинают".
Начинают это когда есть изделия. А пока только "треплются". Ровно как треплются про оптронику, транзисторы из графена, белковые транзисторы, микромеханические транзисторы и кучу еще всего.
C> Сейчас основные применения — силовая электроника.
В силовой электронике чего только нет, но там совсем другой расклад. Вон и с арсенидом галлия высокочастотные блоки давно уже делают, а вот с процессорами как то не очень.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>>>Можно ссылочку на микропроцессор общего назачения на нитриде галия? C>>Ну так пока только "начинают". НС>Начинают это когда есть изделия. А пока только "треплются". Ровно как треплются про оптронику, транзисторы из графена, белковые транзисторы, микромеханические транзисторы и кучу еще всего.
Изделия есть, но пока не конкурентны с кремнием. Что неудивительно, так как все тех. процессы рассчитаны на него.
Я был на выставке силовой электрики (меня интересуют инверторы и DC-оптимизаторы для солнечной энергии), и общался с нитридщиками. Они там жалуются, что у них персонал постоянно сманивают микроэлектронщики. Так что я уверен, что работа идёт.
C>> Сейчас основные применения — силовая электроника. НС>В силовой электронике чего только нет, но там совсем другой расклад. Вон и с арсенидом галлия высокочастотные блоки давно уже делают, а вот с процессорами как то не очень.
Арсенид галлия лучше кремния, но пластины из него так и не научились производить дёшево и с нужной чистотой для микроэлектроники.
Прорыв в нитриде галлия в том, что его всего 3 года назад научились быстро наносить на субстрат с постоянным качеством плёнки.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Вон и с арсенидом галлия высокочастотные блоки давно уже делают, а вот с процессорами как то не очень.
Поначалу ж были только транзисторы, потом сборки, потом цифровые микросхемы, а теперь на пластине целиком ресивер, с делителями частоты, модуляторами/демодуляторами цифры в аналог и обратно, плюс внешний цифровой интерфейс на всё это. Это уже специализированный процессор, считай.
Здравствуйте, Somescout, Вы писали: S>>Нужен новый носитель. А ещё лучше — новая физика, безо всех этих энергоёмких квантовых процессов. S>Не обязательно так.
Да я же просто пошутил! S>Представьте, например, что научатся делать non-volatile memory с производительностью кэша 1 уровня процессора и размером где-нибудь в терабайт. То есть диск не нужен, оперативная память не нужна — всё изначально загружено и находится в процессе исполнения. И либо нужна эмуляция постоянной и оперативной памяти (хотя по факту это одна область), либо архитектура ОС, которая сможет со всем этим работать "нативно".
Да, вы совершенно правы. Операционную систему RT-11FB не имело смысла тащить на Пентиумы; архитектура ОС, построенная на линейной виртуальной памяти с аппаратной изоляцией сильно отличается от архитектуры оси, рассчитанной на сегментную организацию реальной памяти.
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, Cyberax, Вы писали:
НС>>>>Можно ссылочку на микропроцессор общего назачения на нитриде галия? C>>>Ну так пока только "начинают". НС>>Начинают это когда есть изделия. А пока только "треплются". Ровно как треплются про оптронику, транзисторы из графена, белковые транзисторы, микромеханические транзисторы и кучу еще всего. C>Изделия есть
Там можно ссылочку то?
C>Я был на выставке силовой электрики
Здравствуйте, vdimas, Вы писали:
НС>>Вон и с арсенидом галлия высокочастотные блоки давно уже делают, а вот с процессорами как то не очень. V>Поначалу ж были только транзисторы, потом сборки, потом цифровые микросхемы, а теперь на пластине целиком ресивер, с делителями частоты, модуляторами/демодуляторами цифры в аналог и обратно, плюс внешний цифровой интерфейс на всё это. Это уже специализированный процессор, считай.
Тем не менее конкуренции кремнию в микропроцессорах они так и не составили.
То что я слышал последнее — они научились делать простые ИС, которых в теории хватит на очень простой процессор.
C>>Я был на выставке силовой электрики НС>Да при чем тут силовая электрика?
С неё начинается.
Здравствуйте, Sinclair, Вы писали:
S>Простейшая, казалось бы, штука — клавиатура. Ну что там можно изобрести? Выясняется, что стандарт USB для клавиатур не рассчитан на обработку более 5 нажатий одновременно. Упс. В итоге производители клавиатур вынуждены либо жить в рамках этого, либо выпускать свои драйвера, которые обхитряют это ограничение (скажем, представляя клавиатуру как 2 устройства одновременно).
Ого. А чем их не устроил PS/2 (забыл как контроллер назывался) по сути с keydown/up эвентами... ограничивалось только структурой пленочек внутри клавиатуры. Да и никаких key modifiers в железяке...
Они не над микропроцессорами работают. А так можно дофига найти тех, кто работает с теми же GFET, и они поперспективнее выглядят.
C>>>Я был на выставке силовой электрики НС>>Да при чем тут силовая электрика? C>С неё начинается.
Или не начинается. Перспективных технологий море, чем нитрид галлия лучше остальных?
Здравствуйте, Maniacal, Вы писали:
M>Здравствуйте, Sinclair, Вы писали:
S>>Простейшая, казалось бы, штука — клавиатура. Ну что там можно изобрести? Выясняется, что стандарт USB для клавиатур не рассчитан на обработку более 5 нажатий одновременно.
M>Глупость какая-то. USB — последовательный порт. Всё, что нужно — передавать последовательно события нажатия и события отпускания клавиш. Проблема в контроллере самой клавиатуры.
Ну, в общем ясно. Проблема не в USB, а в стандарте HID, где размер пакета максимум 8 байт из которых один резервный. Нужны или специальные драйвера для клавиатуры или хак, когда клавиатура видится в системе сразу как две или даже четыре клавиатуры. С PS/2 протокол был проще, никаких универсальных HID. Тупо или мышь или клавиатура.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Здравствуйте, alpha21264, Вы писали:
НС>>>Крайне редко. С линуксей не сравнить. A>>Ты ещё ножкой потопай.
НС>Обойдусь без твоих привычек.
Не обойдёшся. Вот тут как раз соседняя ветка.
Нет, это не проблема драйвера, это проблема Винды.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Тем не менее конкуренции кремнию в микропроцессорах они так и не составили.
Дык, цены конские.
Моё замечание было про отсутствие видимых затруднений в технологическом плане для дальнейшего развития.
Ну мало ли... Бывают такие области, где высокая цена не преграда.
Здравствуйте, Maniacal, Вы писали:
M>Проблема не в USB, а в стандарте HID, где размер пакета максимум 8 байт из которых один резервный. Нужны или специальные драйвера
Да, одно время некоторые клавы ставили свои дрова.
Здравствуйте, Cyberax, Вы писали:
НС>>Они не над микропроцессорами работают. C>Они начинали работать над ними, но пока переключились на память.
Ну то есть все как я и говорил — еще не начинают, а только треплются.
НС>>>>Да при чем тут силовая электрика? C>>>С неё начинается. НС>>Или не начинается. Перспективных технологий море, чем нитрид галлия лучше остальных? C>Из нитрида галлия на кремнии научились делать пластины обычного диаметра (8-12 дюймов), которые стоят не сильно дорого (всего в разы дороже кремния). C>Для арсенида галлия с трудом удаётся получить 4", при стоимости в десятки раз большей, чем кремний. 8" пластины из арсенида — это уже штучный продукт, с ценой в тысячу раз большей кремния.
Арсенид галлия это единственная альтернатива, которую ты знаешь?
Здравствуйте, alpha21264, Вы писали:
НС>>Обойдусь без твоих привычек. A>Не обойдёшся.
Нет, друг мой, твои дурные привычки вовсе не обязательны.
A> Вот тут как раз соседняя ветка. A>Нет, это не проблема драйвера, это проблема Винды. A>http://rsdn.org/forum/flame.comp/7546060.1
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Пфф, у линуксей таких факапов по 100 на дню. Просто у венды это редко, да и масштабы последствий не сопоставимы, потому и такой шум.
Приведи перечень подобных факапов за вчерашний день, с последствиями.
Здравствуйте, Ночной Смотрящий, Вы писали:
НС>Ровно как треплются про <...> микромеханические транзисторы...
А это что?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, jamesq, Вы писали:
J>Ещё вот, когда ты пишешь код, ты не только набиваешь его на клавиатуре. Тебе надо и поразмышлять, и почитать документацию, и подобрать подходящие элементы, которые уже написаны, и продумать вообще действия, которые будут выполняться в программе. Там навалом всего. Ну это ещё помимо отладки и тестовых прогонов. Ну и архитектура конечно. А ещё иногда надо придумывать форматы файлов, сетевые протоколы. Последнее в коде не фигурирует.
А ещё ведь ML бывает, и часть логики программы может вообще в данных сидеть Иногда очень значительная.
Интересно, какая программа длиннее КАИССА или АльфаГо?
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском
Здравствуйте, Somescout, Вы писали:
S>Не обязательно так. Представьте, например, что научатся делать non-volatile memory с производительностью кэша 1 уровня процессора и размером где-нибудь в терабайт. То есть диск не нужен, оперативная память не нужна — всё изначально загружено и находится в процессе исполнения. И либо нужна эмуляция постоянной и оперативной памяти (хотя по факту это одна область), либо архитектура ОС, которая сможет со всем этим работать "нативно".
S>ЗЫ. Само собой "нужна" — не означает "экономически выгодна". Просто максимально эффективное использование такой архитектуры современными ОС затруднительно (см. non-volatile memory, например, где приходится менять архитектуру программ чтобы получить выигрыш)
Уже сейчас есть NVMe SSD с охренительной пиковой скоростью, да вот беда — оси и приложения не умеют их корректно использовать и делают все в тормозном QD1. Упс.
Здравствуйте, Maniacal, Вы писали:
M>Глупость какая-то. USB — последовательный порт. Всё, что нужно — передавать последовательно события нажатия и события отпускания клавиш. Проблема в контроллере самой клавиатуры.
В USB нет никаких событий. Любые операции всегда должен инициировать хост.
Здравствуйте, Codealot, Вы писали:
V>>Если опрос постоянный в цикле, то какая разница? C>Большая.
Думаешь?
В этом смысле вызываемый ЦАП на модеме тоже опрашивается периодически, а "событие" приёма пакета генерирует более высокий слой архитектуры. ))
Здравствуйте, vdimas, Вы писали:
V>Думаешь? V>В этом смысле вызываемый ЦАП на модеме тоже опрашивается периодически, а "событие" приёма пакета генерирует более высокий слой архитектуры. ))
Думаю. При поллинге, на источнике уже нужен буфер событий. А поскольку контакты могут дребезжать, то буфера на пару-тройку событий не хватит. А если буфер переполнится, то хост будет думать что кнопка нажата, когда на самом деле нет, или наоборот.
Здравствуйте, Codealot, Вы писали:
C>Думаю. При поллинге, на источнике уже нужен буфер событий. А поскольку контакты могут дребезжать
Дребезг отрабатывается микроконтроллером на стороне клавы.
Т.е. скорость попеременного нажатия/отпуская клавиш ограничена настройками соотв. алгоритма.
C>А если буфер переполнится, то хост будет думать что кнопка нажата, когда на самом деле нет, или наоборот.
USB может опрашиваться десятки тысяч раз в сек, каждое устройство говорит хосту, как часто его надо опрашивать.
Подробности этого "знают" соотв. протоколы и реализующие их драйвера, бо на самом низком уровне USB мало что ограничивает, т.е. большее значение имеют прикладные данные, идущие по USB (payload), которые (этот payload) для самой железки USB — чёрный ящик. Внтутри этого payload бывает так, что "матрёшка" из прикладных протоколов имеет глубину более 1. Т.е. всё как в обычной сети.
Здравствуйте, vdimas, Вы писали:
V>Дребезг отрабатывается микроконтроллером на стороне клавы. V>Т.е. скорость попеременного нажатия/отпуская клавиш ограничена настройками соотв. алгоритма.
Ты хотел знать, почему есть разница
V>USB может опрашиваться десятки тысяч раз в сек