Информация об изменениях

Сообщение Re: Возможна ли серьезная новая ОС? от 15.09.2019 15:52

Изменено 15.09.2019 15:56 jamesq

Re: Возможна ли серьезная новая ОС?
Здравствуйте, Shmj, Вы писали:

На мой взгляд — человечеству новая серьёзная ОС нужна. Для десктопов и серверов.
Прошло довольно много времени, ландшафт IT изменился. Появились куча вещей.
Многое в операционках можно сделать по-другому. Обеспечить большую надёжность, безглючность работы. Защиту приложений друг от друга. Надо ещё выкинуть вот этот вот x86. Даёшь новую OS и другую аппаратную платформу!

Помнится, когда мне было лет 16-17, я всё сам размышлял на тему — если мне самому писать ОС, что бы я в ней сделал? Мой друг, кстати, ОС писал. Он контрибьютил в одну open-source операционку. Правда говнокодил сильно. Я ему говорил про недостатки кода, а он и слышать не хотел
Я вот додумался до того, чтобы уйти от концепции файлов. Т.е. даже так — вот ты ставишь приложение в ОС, оно в каких-то файлах на диске размещается. Которые потом могут быть прочитаны левыми сторонами (юзером или приложениями). Могут быть модифицированы или удалены. Плюс ещё зависимости между аппликейшенами. Вот этот вот 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 графику, пробуешь игры писать, пробуешь сетевой код. Сплошной кайф. А другие спрашивают — что ты там в своём компьтере сидишь? Нет, им не понять.

Честно говоря, я считаю что в жизни у меня, пожалуй, слишком много хорошего. А времени столь мало, чтобы всё это попробовать.
Re: Возможна ли серьезная новая ОС?
Здравствуйте, Shmj, Вы писали:

На мой взгляд — человечеству новая серьёзная ОС нужна. Для десктопов и серверов.
Прошло довольно много времени, ландшафт 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 графику, пробуешь игры писать, пробуешь сетевой код. Сплошной кайф. А другие спрашивают — что ты там в своём компьтере сидишь? Нет, им не понять.

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