Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Например, что будет через 10 лет, будем ли мы использовать летающие машины, беспроводную энергетику и откажемся ли мы от бумажных денег.
4. Операционая должна уметь запускаться поверх Unix, но только в режиме совместимости. Само же ядро должно быть собственное. Нужно взять новейшие разработки, типа Horizon OS.
Найду ресурсы выведу продкут, не найду не будет его вообще. С технической же точки зрения проблемы никакой нет.
Хотят тут многие и минсуют жутко и стебутся, что это невозможно, тем не менее еще в 90ых годах люди сделали в этой области столько разработок, что осталось лишь все аккуратно собрать вместе, отладить и вывести в продакшин.
Поверх любой из операционок (Windows, Linux, Unix, MacOs) по желанию. Single address space все же. Чтобы было удобно, из своей операционки взял и открыл, как виртуалку. Но конечно же и должно быть своё ядро, чтобы можно было запустить без хостовой прослойки.Почему тогда такое не сделали еще? Или вы думаете, что разница между Windows и Linux так ничтожна? Максимум, что сейчас есть, это что-то наподобие Seamless режима в VirtualBox или наподобие Xen в режиме bare metal. Однако почему-то ни то, ни другое не дает двум настолько разным операционкам работать с одной памятью.
Я читал Таннебаума и не только… По поводу реализуемости. Вы так говорите, как-будто я портал в паралельный мир, предлагаю открыть, при помощи кухонного комбайна. Комунисты, например, при помощи палки и веревки болванки многотонные в космос запускали, которые по звездам ориентировались без микроэлектроники. А вы меня софтом запугиваете. Весь вопрос в масштабе мышлени и емкости сознания, не более того. Технически не так все сложно.Окей, частично реализуемо, согласен. Вопрос в том, кому это будет надо и сколько это займет времени/денег.
Например, вы пишете в документе «Дубовцев Алексей», операционнаяОкей, пишем в документе Дуб Рем. Фамилия и имя, ничего сложного… Как оно тогда будет определять? И это при том, что имен — дофига и больше (учитывая все разнообразие языков и вариаций), а в качестве фамилии может служить практически любое слово?
система должна сразу понять, что это человек и с ним можно связаться.
В Танго у пользователя по умолчанию будет только один логин и пароль на вход в систему. Вход в приложения будет производиться автоматически, без участия пользователя.Специалисты по информационной безопасности просто рыдают: зачем же тогда выдумывают все эти пароли? Не для того ли, чтобы какая-нибудь левая прога под видом полезной не узнала Один Самый Главный Пароль От Всего Сразу?
Любая программа содержит функции. Я хочу один раз написать функциюПоздравляю! Вы изобрели компиляцию в байткод наподобие Java, Flash, .NET и открыли для себя интерпретируемые языки! И в результате вы получаете программы, которые можно будет использовать для простых приложений… но которые будут уступать нативным приложениям в том случае, если на них будет лежать серьезная нагрузка.
для пользователя и хочу, чтобы он использовал эту функцию на любых
удобных ему платформах. На Winows, Linux, MacOS, Android, iPhone, на
других мобильных устройствах.
2.9.2 Хочу расширять модель верстки новыми компонентамиПоздравляю в который раз! Теперь вы изобрели шаблонизаторы. Вы с XSLT знакомы? Только честно.
Сила разума и емкость сознания – вот что важно.А также радиус ауры и количество мидихлориан. Let Force be with you, young Skywalker!
Необходимо научится транслировать хотя бы одну инструкцию. ДабыЧто это за хрень там написана? О_о Как же абстрагирование от ОС и платформы, транзакции памяти, гибкие механизмы компиляции? А если серьезно, что оно делает? Всего-навсего берет 4 килобайта памяти, использует 5 байт под 2 ассемблерные операции, выполняет их… и все. Ваша операционка тоже будет брать память, но забывать освобождать ее?
долго не рассуждать, попусту приведем код, который это умеет делать.
<кусок кода>
Почему тогда такое не сделали еще? Или вы думаете, что разница между Windows и Linux так ничтожна? Максимум, что сейчас есть, это что-то наподобие Seamless режима в VirtualBox или наподобие Xen в режиме bare metal. Однако почему-то ни то, ни другое не дает двум настолько разным операционкам работать с одной памятью.
Специалисты по информационной безопасности просто рыдают: зачем же тогда выдумывают все эти пароли? Не для того ли, чтобы какая-нибудь левая прога под видом полезной не узнала Один Самый Главный Пароль От Всего Сразу?
Поздравляю! Вы изобрели компиляцию в байткод наподобие Java, Flash, .NET и открыли для себя интерпретируемые языки! И в результате вы получаете программы, которые можно будет использовать для простых приложений… но которые будут уступать нативным приложениям в том случае, если на них будет лежать серьезная нагрузка.
Поздравляю в который раз! Теперь вы изобрели шаблонизаторы. Вы с XSLT знакомы? Только честно.
Что это за хрень там написана? О_о Как же абстрагирование от ОС и платформы, транзакции памяти, гибкие механизмы компиляции? А если серьезно, что оно делает? Всего-навсего берет 4 килобайта памяти, использует 5 байт под 2 ассемблерные операции, выполняет их… и все. Ваша операционка тоже будет брать память, но забывать освобождать ее?
Ну вобощем сделали. Самое показательное решение Parallels Deskop, для мака. В вообще например есть Rotor от самого Microsoft, реализующий функционал ядра виндов на FreeBSD.Под «показательным решением» вы имеете в виду что-то типа этого? Так это тот самый seamless режим, про который я говорил. Насколько понимаю, реализуется драйвером видео на эмулируемой машине. Где здесь единое адресное пространство и отсутствие прослойки? А Rotor от Microsoft — это всего лишь реализация .NET.
Ну вообще сквозную идентификацию не я придумал. Нам этим какраз и бьются Microsoft и Google (Windows Live Id, Password, Google Identity) и иже с ними. А поповду украдут, ну украли у вас например пароль от банка клиента и толку-то, без смс транзакцию не сделать.Хм. Тут я с вами даже соглашусь… слегка. Просто потому, что Google с Microsoft всего лишь предоставляют альтернативные способы аутентификации, используя их в-основном в своих сервисах. Пользоваться ими или нет — это уже дело разработчика. Однако никто не предлагает хранить все пароли в одном месте или пользоваться только одним паролем. А насчет подтверждения транзакции смской, так тут я могу только посоветовать посмотреть на Яндекс.Деньги: ввод платежного пароля для совершения любой операции со счетом.
не сильно уже уступаютЭм… Уже вышли .NET 4, VC++10, GCC 4.5.1, а вы предлагаете посмотреть на сравнение VC6 против Delphi неопознанной версии, да еще и с VCL? А насчет высокой нагрузки… никто ведь не пишет клон Apache на питоне или C#, верно?
www.rsdn.ru/article/devtools/perftest.xml
www.rsdn.ru/article/devtools/perftest2.xml
Вы хотели, увидеть в книге — листинг ядра, полноценной операционки? )))Хотелось бы. Но уж никак не ожидал увидеть подающийся под громким названием названием JIT непонятный неоптимизированный код из трех функций, в котором ради 5 байт выделяют 4 килобайта памяти и забывают их в конце освободить.
Где здесь единое адресное пространство и отсутствие прослойки?
А Rotor от Microsoft — это всего лишь реализация .NET.
А насчет высокой нагрузки… никто ведь не пишет клон Apache на питоне или C#, верно?
Ну и самый большой минус подобной идеи: как стыковать написанные на разных языках куски кода? Для C++ мне надо одни библиотеки, для питона — другие, для перла — третьи. Вызовы функций — отдельный кошмар. Как быть с этим?
Хотелось бы. Но уж никак не ожидал увидеть подающийся под громким названием названием JIT непонятный неоптимизированный код из трех функций
#include <rotor_pal.h>
extern void *dlopen(const char *file, int mode);
int main(int argc, char *argv[])
{
WCHAR src[4] = {'f', 'o', 'o', '\0'};
WCHAR dest[4] = {'b', 'a', 'r', '\0'};
WCHAR dir[5] = {'/', 't', 'm', 'p', '\0'};
HANDLE h;
int b;
PAL_Initialize(argc, argv);
SetCurrentDirectoryW(dir);
SetCurrentDirectoryW(dir);
h = CreateFileW(src, GENERIC_WRITE, FILE_SHARE_READ, NULL, CREATE_NEW, 0, NULL);
WriteFile(h, "Testing\n", 8, &b, FALSE);
CloseHandle(h);
CopyFileW(src, dest, FALSE);
DeleteFileW(src);
PAL_Terminate();
return 0;
}
Под виндой на .NET нельзя писать драйвера ядра, потому что винда не поддерживает байткод на подобном уровне.
IIS ну никак не может быть написано на C# (разве что оболочка конфигурации). Хотя бы потому, что появилось оно еще до C#, а последние его версии используют специальный драйвер ядра

Единая система базовой типизации хороша только для ЯВУ, и то не для всех. К примеру, в питоне конструктор класса называется __init__, а в си он называется согласно имени класса.
Я уж промолчу, что существуют такие вполне даже живые и используемые языки, как brainfuck. В нем переменные отсутствуют, классов нет, нет даже умножения. Какие там будут типы?
Зачем писать не инженерную книгу про операционки, если в ней касаться их внутреннего строения, приводить куски кода?
То, что вы написали, вполне можно показывать министрам. Авось оценят и выделят финансирование…
А здесь это разумно посчитают бредом.
Извиняюсь за резкие слова, но просто уже накипело.
Танго — Операционная система из будущего