История изменений
Исправление DRVTiny, (текущая версия) :
Замечания :)
По 9-му пункту - вытесняющая многозадачность предполагает переключение контекста по таймеру. Таким образом, что мы сэкономим на гринтредах, если переключение просто N раз секаунду? Я когда собирал тогда ещё ядра Linux 2.4, а потом первые 2.6 - можно было прямо в конфигурилке задавать частоту переключений: для десктопов повыше, для серверов пониже.
По 8-му - да, не абстракция, но существуют-то они внутри OS тредов, которые «вытесняемые потоки исполнения».
По 6-му пункту - если гринтреды в разных реальных/вытесняемых потоках исполнения, то они вообще никак друг с другом не соприкасаются, их, получается, переключают разные «внутриязыковые» планировщики?
Относительно N*M - я понял, что речь идёт именно о вытесняемых потоках исполнения N и M зелёных потоков. Просто исходно речь вроде шла об N процессах - и меня это конечно удивило (мне ли не знать, насколько геморно реализованы nix'овые IPC, например).
Исходная версия DRVTiny, :
Замечания :)
По 9-му пункту - вытесняющая многозадачность предполагает переключение контекста по таймеру. Таким образом, что мы сэкономим на гринтредах, если переключение просто N раз секаунду? Я когда собирал тогда ещё ядра Linux 2.4, а потом первые 2.6 - можно было прямо в конфигурилке задавать частоту переключений: для декстопов повыше, для серверов пониже.
По 8-му - да, не абстракция, но существуют-то они внутри OS тредов, которые «вытесняемые потоки исполнения».
По 6-му пункту - если гринтреды в разных реальных/вытесняемых потоках исполнения, то они вообще никак друг с другом не соприкасаются, их, получается, переключают разные «внутриязыковые» планировщики?
Относительно N*M - я понял, что речь идёт именно о вытесняемых потоках исполнения N и M зелёных потоков. Просто исходно речь вроде шла об N процессах - и меня это конечно удивило (мне ли не знать, насколько геморно реализованы nix'овые IPC, например).