Как я рад, что у Вас находится время образовывать нас, Док! Спасибо огромное! Стало интересно, какой используется sсheduler у NT-like операционных систем. Благодаря open source ReactOS, к счастью, есть возможность ознакомиться с исходниками и если меня поиски вывели на правильную дорожку, нашел файл thrdschd.c с Kernel Thread Scheduler. Если я правильно понял, там нашел функции, связанные с: 1) управлением и планированием потоков, 2) процессом выбора потока, скорее всего, для составления расписания скедьюлера, 3) очередью на основе уровней приоритета 4) переключением контекста, когда потоки не в состоянии "готов к выполнению", 5) самое интересное и яркое - функция SetPriorityThread, которая скорее всего позволяет изменять приоритет потока. Связанный с вышеизложенным вопрос: позволяют ли нам эти исходники полагать, что в данном случае имеем дело с Multilevel Feedback-Queue, а не Priority-based Scheduling? Хотя и при этом всем имеется нечто похожее на вытесняющую многозадачность с переключением потоков с подсчетом квантов, что весьма похоже и на Round Robin (хотя и с бустом тредов и резетом квантов, позволяя все еще выполняться процессу). В чистом виде какой-либо подход, как это водится, не используется и имеем дело с интересным гибридом ?
@user-qd4wu7nf5u2 күн бұрын
Тайрелл Уэллик, ты выжил и стал ютубером?
@MrCter2 күн бұрын
А вот настройках в windows (оптимизировать работу ос для работы приложений/служб) она прямо переключает класс планировщика? или это один и тот же планировщик, но с разными настройками?
@TechBusinessDev2 күн бұрын
А как определить сколько времени займет тот или иной процесс, чтобы спланировать очередь его выполнения?
@fish93702 күн бұрын
С самого начала все процессы равны (если администратор не указал иное). А дальше в процессе исполнения, параметры уточняются. Переслушайте еще раз
@user-hn1ph6ry8l3 күн бұрын
А есть алгоритмы "ленивого" планировщика? Я как-то хотел сделать планировщик для минимальной нагрузки системы периодическими задачами, но чет не осилил. Суть - есть обработчик, в который можно размещать задачи на периодическое выполнение, указав интервал. Ну например берем задачу X, которая должна каждую минуту что-то делать и делает она это 10 секунд. Далее, добавляем задачу Y, которая каждую минуту делает что-то так же 10 секунд. Соответственно, нам надо ее положить через 20 секунд от первой, тогда они максимально равномерно размазывают нагрузку. Но вот как нормально их считать в Т+1 цикле, если они динамически добавляются и удаляются, а также учесть, что время выполнения - эвристика, как делать перераспределение при овербукинге - чет оказалось сложным. Нет каких-то готовых схем для таких типов задач? У меня просто нет профильного образования, вдруг этому в институтах таки учат?
@PS-bp4ju4 күн бұрын
А когда выбирают тип/реализацию шедулера в ос, на что опираются? Проводят какие-то абстрактные симуляции или запускают реальные задачи или какие-нибудь синтетические тесты? Ведь к сложным системам планирования еще нужно как-то придти, почему они именно такие, а не другие. В общем, как это на практике происходит?
@abragin3 күн бұрын
Опираются на требования, предъявляемые к этой ОС. Ведь если это ОС реального времени, то там одно. По типу исполняемых задач тоже можно узнать, хотя бы даже то самое юниксовое деление процессов на interactive / batch / daemon
@user-pk6rw9tw3m4 күн бұрын
Ничёсе, в прошивку киборга добавили опцию моргания, а на превью он даже улыбнулся! ))) И в концовке намёк на улыбку! )))
@rayrayray46534 күн бұрын
Класс!!!
@user-ht3qw7tw8r4 күн бұрын
Спасибо! Очень полезно 🎉
@non53094 күн бұрын
Очередное отличное видео по теме. С удовольствием сошлюсь на него и оставлю ссылку в своем курсе многопроцессного программирования. Спасибо!
@sterd04 күн бұрын
Контент становиться все вкуснее и жирнее. Я так жду ваши темы, как никогда не ждал сериала "Богатые тоже плачут".
@mikhailmikhail76704 күн бұрын
О, я видел как он моргнул!
@HeyWhoTheFuckAreYou4 күн бұрын
В Windows в реестре есть параметр win32priorityseparation, на сколько я понимаю он как то связан с темой данного видео.
@user-vw1fg9hr8m4 күн бұрын
DrBragin так там же nice - вежливость относительно остальных, а не приоритет. -20 не вежливый нужно много времени. Ну типа, да всё ещё не удобно :)
@olgerdborichko10265 күн бұрын
весьма познавательно. Дикция всегда такая или ОРЗ?
@mr.hashford7135 күн бұрын
о, как раз пишу велосипед для esp32. Спасиб)
@alexanderspeshilov8395 күн бұрын
Концовка - огонь. Сразу есть мысли к каким темам прикрепить "Дурачка", "Систему", "Моя оборона" и "Винтовка это праздник", "Непонятную песенку" и "Отряд не заметил...".
@u2bear3775 күн бұрын
6:40 Всё-таки "по-русски" слово "first" произносится без "р" вообще: "фёст". И "short" тоже: "шо̄т".
@olegkulishov11784 күн бұрын
Ну это же не урок английского) По теме бы комментарии какой-нибудь, было бы куда интереснее и полезнее!
@abragin4 күн бұрын
Ай спик фром май харт!
@arkam15 күн бұрын
Я, человек весьма слабо разбирающийся в программировании, алгоритмах и ОС, слушая ваши лекции на ночь, сам того не замечая, начинаю что-то понимать. И пускай в жизни мне это не пригодится, но пощеголять знаниями перед парой товарищей порою случается крайне приятно. Спасибо! Буду ждать новых лекций!
@fish93702 күн бұрын
Да, если приглядеться, разработчики используют алгоритмы из реальной жизни
@TheGreabock5 күн бұрын
С каждым разом всё интереснее!
@SuperArt1st5 күн бұрын
Я и не планировал среди ночи смотреть это видео, но у планировщика были другие планы...
@u2bear3775 күн бұрын
Cистемный процесс sleep перемещён в очередь с более низким приоритетом, чем интерактивный процесс watchyt. А утром он будет вытеснен realtime-процессом getup, успеет ли он завершиться или нет. Кажется, нужно что-то поправить в конфигах...
@rkc1375 күн бұрын
не зря так поздно решил лечь
@u2bear3775 күн бұрын
Отдельный лайк за дублирование терминов на английском языке.
@lycan95907 күн бұрын
Ну канеш лайк ставить, че тут еще думать та ?:)
@nikzav21112 күн бұрын
Мне скоро экзамен по ОС сдавать. Спасибо вам большое, очень доступно объяснете!)
@lycan959023 күн бұрын
Мощь и трепет!!!! Мое почтение и преклонение. Очень крутой чел!!!
@user-yd9xy3rb4x27 күн бұрын
Почему к меня не было таких лекций(((
@user-yd9xy3rb4x27 күн бұрын
Чувак ты охуенен, вообще без воды!
@yodude2493Ай бұрын
Браво маэстро!
@NomadicDmitryАй бұрын
Оо Реакт знаю, пользовался. Прикольная штука, жаль слишком плохо работает до сих пор на многом железе. Но минималистичная и винда в ее классической форме, без чепухи, что навесили за последние 25 лет. Респект вам!
@abraginАй бұрын
Спасибо! Да, поэтому разработка Реактоса продолжается до сих пор, люди хотят винду, но без чепухи)
@NomadicDmitryАй бұрын
@@abragin Прекрасно! Надо еще посмотреть ваши разработки, последний раз пару лет назад ставил. Пожалуйста, больше видео про Реакт ОС. Да и вообще - любая помощь в популярязации если нужна, я только рад. Я сам тестировщик по профессии 😄 У меня претензии тоже имеются по багам, но учитывая сколько кропотливого труда вы смогли сделать в небольшой команде - респект. Вы - молодцы! 👍
@gooseobАй бұрын
я только щас заметил что на превьюшке написано синзахроциния)
@egorshiryaev6058Ай бұрын
Спасибо за проделланную работу, все по сути и без воды.
@alexeykononov5596Ай бұрын
Действительно кратко, но курс не полный) Нет лекции по сокетам (синхронным, асинхронным). А судя по реализации в реактосе, вам есть что рассказать (даже кратко).
@abraginАй бұрын
Да, спасибо! У меня тут вынужденный перерыв в производстве новых видео случился, а так конечно ещё много о чём есть рассказать
@user-tp1qn2wt6tАй бұрын
Спасибо за лекцию!
@qnikelqАй бұрын
Кратко, ёмко и по сути) Хотелось бы больше визуализаций озвучиваемой информации, например, иллюстрация почему в 64ех разрядных ОС максимум не 2^64. Спасибо!
@arpiepasov7623Ай бұрын
Ментат дома Ордос Эдрик Оу теперь рассказывает про компьютеры. kzread.info/dash/bejne/gq52u8mdaZjFgaQ.html
@user-ir5qn2ro4qАй бұрын
Концовка взрыв, записался ко врачу болит бок
@antoha9486Ай бұрын
Понравилось. Спасибо за труд.
@user-fz9tc4df8sАй бұрын
сказал что не будет рассказывать как препод или как по учебнику,но в итоге получилось скучно нудно и подача 1в1 как в учебнике и как преподают везде
@abraginАй бұрын
Ну окей, мнения разные, в любом случае обратная связь всегда полезна
@user-fz9tc4df8sАй бұрын
@@abragin определенно
@user-ox6nq7gu8iАй бұрын
Бля братан ну ты хотя бы моргай чтоль
@azerqgamingАй бұрын
Во время вашего рассказа вспомнил про ленендарный segmentation fault😂
@user-fw3kx2ix3pАй бұрын
Спасибо большое ❤
@EugeneShperlАй бұрын
Не сразу понял, что это не адвокат Егоров и то, что diy не будет
@andreytsaregorodcev4804Ай бұрын
спасибо за видео, жду раскрытие темы многоядерности и как ОС работает с несколькими ядрами ЦП.
@German_1984Ай бұрын
Забавно как по-разному строят цикл лекций сторонники монолитных и микро ядер :)
@abraginАй бұрын
Как можно быть сторонником моно...микроядер? 😅
@abraginАй бұрын
Я вообще топлю за наноядра
@vecherinskyАй бұрын
Читал книги Таненбаума лет, кажется, 7 назад, когда шли первые годы только моего опыта работы. Но это были какие-то огромные объемы информации в сравнительно быстрое время полученные. Соответственно, далеко не все получилось понять с ходу (я только после понял, что без начальных курсов и некоторой подготовки такие книги просто не осилить). Теперь имею огромное счастье быть слушателем этих самых начальных курсов с исключительно четким и понятным объяснением, которые дают это самое недостающее ранее понимание. Спасибо, Док!
Пікірлер
Ваш канал это просто отдушина в мире обучения турок серилизации JSON-а. Жду каждое видео прям с нетерпением 😊
А можно ещё рассказать про семафоры, мониторы, решение тупиков и как ОС использует память
Несомненно! kzread.info/dash/bejne/laCG2aNmeqqogaw.html
Новое домашнее задание от Игоря Вихорькова
Как я рад, что у Вас находится время образовывать нас, Док! Спасибо огромное! Стало интересно, какой используется sсheduler у NT-like операционных систем. Благодаря open source ReactOS, к счастью, есть возможность ознакомиться с исходниками и если меня поиски вывели на правильную дорожку, нашел файл thrdschd.c с Kernel Thread Scheduler. Если я правильно понял, там нашел функции, связанные с: 1) управлением и планированием потоков, 2) процессом выбора потока, скорее всего, для составления расписания скедьюлера, 3) очередью на основе уровней приоритета 4) переключением контекста, когда потоки не в состоянии "готов к выполнению", 5) самое интересное и яркое - функция SetPriorityThread, которая скорее всего позволяет изменять приоритет потока. Связанный с вышеизложенным вопрос: позволяют ли нам эти исходники полагать, что в данном случае имеем дело с Multilevel Feedback-Queue, а не Priority-based Scheduling? Хотя и при этом всем имеется нечто похожее на вытесняющую многозадачность с переключением потоков с подсчетом квантов, что весьма похоже и на Round Robin (хотя и с бустом тредов и резетом квантов, позволяя все еще выполняться процессу). В чистом виде какой-либо подход, как это водится, не используется и имеем дело с интересным гибридом ?
Тайрелл Уэллик, ты выжил и стал ютубером?
А вот настройках в windows (оптимизировать работу ос для работы приложений/служб) она прямо переключает класс планировщика? или это один и тот же планировщик, но с разными настройками?
А как определить сколько времени займет тот или иной процесс, чтобы спланировать очередь его выполнения?
С самого начала все процессы равны (если администратор не указал иное). А дальше в процессе исполнения, параметры уточняются. Переслушайте еще раз
А есть алгоритмы "ленивого" планировщика? Я как-то хотел сделать планировщик для минимальной нагрузки системы периодическими задачами, но чет не осилил. Суть - есть обработчик, в который можно размещать задачи на периодическое выполнение, указав интервал. Ну например берем задачу X, которая должна каждую минуту что-то делать и делает она это 10 секунд. Далее, добавляем задачу Y, которая каждую минуту делает что-то так же 10 секунд. Соответственно, нам надо ее положить через 20 секунд от первой, тогда они максимально равномерно размазывают нагрузку. Но вот как нормально их считать в Т+1 цикле, если они динамически добавляются и удаляются, а также учесть, что время выполнения - эвристика, как делать перераспределение при овербукинге - чет оказалось сложным. Нет каких-то готовых схем для таких типов задач? У меня просто нет профильного образования, вдруг этому в институтах таки учат?
А когда выбирают тип/реализацию шедулера в ос, на что опираются? Проводят какие-то абстрактные симуляции или запускают реальные задачи или какие-нибудь синтетические тесты? Ведь к сложным системам планирования еще нужно как-то придти, почему они именно такие, а не другие. В общем, как это на практике происходит?
Опираются на требования, предъявляемые к этой ОС. Ведь если это ОС реального времени, то там одно. По типу исполняемых задач тоже можно узнать, хотя бы даже то самое юниксовое деление процессов на interactive / batch / daemon
Ничёсе, в прошивку киборга добавили опцию моргания, а на превью он даже улыбнулся! ))) И в концовке намёк на улыбку! )))
Класс!!!
Спасибо! Очень полезно 🎉
Очередное отличное видео по теме. С удовольствием сошлюсь на него и оставлю ссылку в своем курсе многопроцессного программирования. Спасибо!
Контент становиться все вкуснее и жирнее. Я так жду ваши темы, как никогда не ждал сериала "Богатые тоже плачут".
О, я видел как он моргнул!
В Windows в реестре есть параметр win32priorityseparation, на сколько я понимаю он как то связан с темой данного видео.
DrBragin так там же nice - вежливость относительно остальных, а не приоритет. -20 не вежливый нужно много времени. Ну типа, да всё ещё не удобно :)
весьма познавательно. Дикция всегда такая или ОРЗ?
о, как раз пишу велосипед для esp32. Спасиб)
Концовка - огонь. Сразу есть мысли к каким темам прикрепить "Дурачка", "Систему", "Моя оборона" и "Винтовка это праздник", "Непонятную песенку" и "Отряд не заметил...".
6:40 Всё-таки "по-русски" слово "first" произносится без "р" вообще: "фёст". И "short" тоже: "шо̄т".
Ну это же не урок английского) По теме бы комментарии какой-нибудь, было бы куда интереснее и полезнее!
Ай спик фром май харт!
Я, человек весьма слабо разбирающийся в программировании, алгоритмах и ОС, слушая ваши лекции на ночь, сам того не замечая, начинаю что-то понимать. И пускай в жизни мне это не пригодится, но пощеголять знаниями перед парой товарищей порою случается крайне приятно. Спасибо! Буду ждать новых лекций!
Да, если приглядеться, разработчики используют алгоритмы из реальной жизни
С каждым разом всё интереснее!
Я и не планировал среди ночи смотреть это видео, но у планировщика были другие планы...
Cистемный процесс sleep перемещён в очередь с более низким приоритетом, чем интерактивный процесс watchyt. А утром он будет вытеснен realtime-процессом getup, успеет ли он завершиться или нет. Кажется, нужно что-то поправить в конфигах...
не зря так поздно решил лечь
Отдельный лайк за дублирование терминов на английском языке.
Ну канеш лайк ставить, че тут еще думать та ?:)
Мне скоро экзамен по ОС сдавать. Спасибо вам большое, очень доступно объяснете!)
Мощь и трепет!!!! Мое почтение и преклонение. Очень крутой чел!!!
Почему к меня не было таких лекций(((
Чувак ты охуенен, вообще без воды!
Браво маэстро!
Оо Реакт знаю, пользовался. Прикольная штука, жаль слишком плохо работает до сих пор на многом железе. Но минималистичная и винда в ее классической форме, без чепухи, что навесили за последние 25 лет. Респект вам!
Спасибо! Да, поэтому разработка Реактоса продолжается до сих пор, люди хотят винду, но без чепухи)
@@abragin Прекрасно! Надо еще посмотреть ваши разработки, последний раз пару лет назад ставил. Пожалуйста, больше видео про Реакт ОС. Да и вообще - любая помощь в популярязации если нужна, я только рад. Я сам тестировщик по профессии 😄 У меня претензии тоже имеются по багам, но учитывая сколько кропотливого труда вы смогли сделать в небольшой команде - респект. Вы - молодцы! 👍
я только щас заметил что на превьюшке написано синзахроциния)
Спасибо за проделланную работу, все по сути и без воды.
Действительно кратко, но курс не полный) Нет лекции по сокетам (синхронным, асинхронным). А судя по реализации в реактосе, вам есть что рассказать (даже кратко).
Да, спасибо! У меня тут вынужденный перерыв в производстве новых видео случился, а так конечно ещё много о чём есть рассказать
Спасибо за лекцию!
Кратко, ёмко и по сути) Хотелось бы больше визуализаций озвучиваемой информации, например, иллюстрация почему в 64ех разрядных ОС максимум не 2^64. Спасибо!
Ментат дома Ордос Эдрик Оу теперь рассказывает про компьютеры. kzread.info/dash/bejne/gq52u8mdaZjFgaQ.html
Концовка взрыв, записался ко врачу болит бок
Понравилось. Спасибо за труд.
сказал что не будет рассказывать как препод или как по учебнику,но в итоге получилось скучно нудно и подача 1в1 как в учебнике и как преподают везде
Ну окей, мнения разные, в любом случае обратная связь всегда полезна
@@abragin определенно
Бля братан ну ты хотя бы моргай чтоль
Во время вашего рассказа вспомнил про ленендарный segmentation fault😂
Спасибо большое ❤
Не сразу понял, что это не адвокат Егоров и то, что diy не будет
спасибо за видео, жду раскрытие темы многоядерности и как ОС работает с несколькими ядрами ЦП.
Забавно как по-разному строят цикл лекций сторонники монолитных и микро ядер :)
Как можно быть сторонником моно...микроядер? 😅
Я вообще топлю за наноядра
Читал книги Таненбаума лет, кажется, 7 назад, когда шли первые годы только моего опыта работы. Но это были какие-то огромные объемы информации в сравнительно быстрое время полученные. Соответственно, далеко не все получилось понять с ходу (я только после понял, что без начальных курсов и некоторой подготовки такие книги просто не осилить). Теперь имею огромное счастье быть слушателем этих самых начальных курсов с исключительно четким и понятным объяснением, которые дают это самое недостающее ранее понимание. Спасибо, Док!
Топ. И пауза в конце топ)