Загрузка и дерево процессов Linux и Windows. Параллельные программы: процессы, нити и волокна
Vložit
- čas přidán 29. 08. 2024
- Загрузка Linux и Windows: загрузчик ОС, ядро ОС, прародитель процессов, системные процессы, демоны (сервисы), прикладные процессы. Параллельные программы: процессы и нити (потоки) и волокна.
Средства межпроцессного взаимодействия IPC: файлы, именованные и неименованные каналы, почтовые ящики, разделяемая память и т.д.
Как же я рад что случайно наткнулся на этого препода. Уже несколько дней смотрю взахлеб.
Вообще случайно наткнулся и не пожалел! А как насчет собираться за кружкой кофе для обсуждений?
@@user-by2bh6fp5m Препод супер, уже заказал его книгу даже на эмоциях )
покупаю книгу вашу, спасибо за лекции !
Снимаю шляпу, отлично объясняете
Дмитрий, здравствуйте! Выражаю благодарность за Ваши уроки. Лучшее, что есть в ру-сегменте.
Было бы здорово увидеть от Вас подробное объяснение systemd.
Не то, что-бы прям очень подробное, но достаточное для начинающих есть в bhv.ru/product/vnutrennee-ustrojstvo-linux-2-izd/
@@DmitryKetov Дмитрий, большое спасибо за столь быструю обратную связь, обязательно изучу. Еще раз: большое спасибо за Ваши труды!
Изменяю сообщение: сейчас прошел по ссылке - а там Ваша книга. Обязательно куплю.
@@DmitryKetov Таки купил Вашу книгу, отличная! Спасибо!
Отличнейшие лекции, мне очень по нраву
Прекрасный материал,спасибо.
Супер )) Спасибо
Потрясающе!
вы лучший!!!!!
Эх, если бы в моём Инсте так объясняли предмет!
Хабаровск 96-2001 год специальность "Вычислительные машины". Примерно так и объясняли. Смотрю и ностальгирую.
Очень хороший уровень лекций на канале
В топе остались метрики wa - (i/o)wait time, si software interrupts, hi hardware interrupts, st steal time/stolen time (украденное время - ожидание доступа к использованию хостового cpu виртуалкой)
Большое спасибо за Ваши лекции. Смотрю с удовольствием.
Возникло несколько вопросов.
А работает ли вытесняющая многозадачность для user space нитей в Unix?
Раз уж планировщик ничего не знает о нитях из user space, то какой механизм отвечает за их переключение внутри процесса?
А как при кооперативной многозадачности планировщик поймет, что процесс ждёт ввод-вывод, если внутри работает несколько нитей? Если ждёт хотя бы одна нить? Или когда ждут всё?
>А работает ли вытесняющая многозадачность для user space нитей в Unix?
Нет, это невозможно.
> какой механизм отвечает за их переключение внутри процесса?
Добровольное переключение нити в другой контекст, см. например www.gnu.org/software/pth/pth-manual.html#item_pth_yield
> планировщик поймет, что процесс ждёт ввод-вывод,
Никак, весь процесс будет спать.
Дмитрий рассказывает про ядро, но получается очень интересно. Мне бы такого преподователя в мое время обучения!
Спасибо, интересно. За нити, волокна не понял для чего, зачем. Что можно дополнительно посмотреть?
Можно глянуть в книге vk.com/linux.internals, там есть с примерами и доп. объяснением
Т.е. дочерние процессы, формируемые основным процессом это и есть нить? (Ведь по сути они под управлением основного процесса, а следовательно и имеют общее адресное пространство)
То, что формируется "основным" процессом может быть и нитью и другим процессом. Зависит от способа формирования. Если fork() то получится процесс, если pthread_create() то нить. Но на деле в обоих случаях произойдет обращение к ядру при помощи системного вызова clone() в параметрах которого будет указано какие ресурсы у формируемого процесса должны быть общими с формирующими. Если все - получится нить. Если никаких - получится процесс.
@@DmitryKetov а возможно ли формирование дочернего процесса дочерним процессом?
@@vinar9232 Не просто возможно, но это еще и основа основ. Так и строится дерево процессов
Подскажите, нить в юзер спейсе рассматривается планировщиком процессов как равнозначный процесс, т.е. она стоит в общей очереди на выполнение с простыми процессами? Или же эти нити как бы внутри процесса и рассматриваются планировщиком как один процесс?
User space нити ядру не видны, планировщик отдает управление процессу, и его больше ничего не волнует.
Те нити которые рассматриваются планировщиком как равнозначный "процесс" это как раз kernel-space нити.
Спасибо!
почему нить а не поток ?
По сути.
Процессы (веревка) из нитей, нити из волокон.
Да и вообще www.google.com/search?q=thread&udm=2
Звук ужасный, увы(
а где взять презентацию или схемы ???
Судя по всему только купить его книгу. Там по сути все это есть
@@suhomlinov-vitaliy книга шикарная)
Мерзкие клацания заставляют чувствовать себя мазохистом, взявшимся смотреть эти лекции
ну нах
Тут два выхода. Или "мышки кололись, плакали, но продолжали есть кактус" или "чемодан, вокзал, другой утюб канал" :) А если серьезно, то контент не пилился "на продажу", это был просто видеожурнал для студентов.