Цитата:
да, процессор под ОС, а почему бы нет
Процессор - средство решения задачи. Он выполняет код. Я уже сказал, процессор делается с оптимизацией под
конкретную задачу. На микроконтроллерах зачастую работают вообще без всяких ОС.
ОС - сервис, обеспечивающий
универсальный механизм работы с ресурсами железки.
Если затачивать процессор под ОС, то мы будем иметь убогий процессор, на котором эффективно работает только ОС, а все остальное работает медленно и плохо. Да и кто возьмётся реализовывать такой процессор? Что-то я сомневаюсь, что Intel этим впечатлится.
Другое дело, что можно сделать процессор
для ПК, на которых никаких специфических задач не нужно выполнять, и его уже оптимизировать так, чтобы
любая ОС на нем работала хорошо, т.к. большинство десктопных ОС выполняют похожие операции.
Цитата:
но может не стоит с этого начинать писать ОС ?
Конечно, не с этого. Никто с этого и не начинает. Только в процессе разработки приходится реализовывать кое-какие драйвера, просто чтобы разработка могла идти дальше. Например, без драйвера диска, хотя бы IDE, не особо-то сделаешь, чтобы ОС догружала дополнительные файлы в x64 режиме.
Цитата:
почему не может ?
сколько задач крутиться одновременно ? 1000 или 10000 ?
вот смотрю у себя в таск менеджере - 34 задачи (из них только 8 моих, остальное винда)
сколько памяти занимает слепок задачи ? мегабайт ? 10 ?
реально килобайта 4 - 1 страница
100 задач - 400 кил
что нельзя выделить 1 мег под хранение контекста задачи ?
Прямо сейчас открыл и посмотрел. Задачи: 79. Потоки: 962. Для потоков нужно хранить состояние регистров, для процессов - контекст (указатель на таблицы страниц).
Intel пытались сделать аппаратное переключение задач, но ничего хорошего из этого не вышло и в результате механизм был отправлен на свалку истории из-за медлительности.
Цитата:
да не нужно мне в ядре сильно с памятью работать. просто для ядра проверок не нужно много. а вот если экспортировать то проверки нужны.
То, что не нужно ВАМ, не значит, что не нужно никому. Вам не нужно - не делайте менеджер, кто-то запрещает что ли? А тем, кому нужно - те делают.
И проверок у меня никаких нет. Просто испорченная таблица разметки в режиме ядра уронит систему, а испорченная таблица в режиме юзера уронит процесс, и это будут его проблемы. А вызвать функцию из режима юзера, передав параметром таблицу режима ядра невозможно, т.к. память ядра недоступна.
Цитата:
я ж говорю о коне в вакууме
Так это, того.
Проект идеальной ОС с заточкой процессора под неё:
1) Любая операция системы занимает 0 мкс;
2) В процессор встроена аппаратная работа со всем существующим и не существующим железом, а также всеми высокоуровневыми протоколами и стандартами;
3) Процессор аппаратно выделяет/освобождает страницы памяти;
4) Все приложения поставляются в байт-коде, при этом выполнение любого байткода происходит за 0 мкс;
5) Система имеет API-функции для мгновенного решения всех существующих и несуществующих в природе задач;
6) Система неуязвима.
Вот и всё. Чего ещё проектировать сферического коня в вакууме?
Суть ОСДев-а состоит в том, чтобы на
реальном оборудовании построить систему, которая работает приемлемое время/позволяет довольно просто под нее разрабатывать/обеспечивает нормальную безопасность. А на сферических конях любой может напроектировать чего угодно, только оно никогда не будет реализовано, потому что сферических коней не существует.