Внутренности Linux - КИТ 2024

  Рет қаралды 3,564

Young&&Yandex

Young&&Yandex

7 күн бұрын

Спикер: Андрей Мичурин, руководитель группы разработки компонентов Деплоя
Рассмотрим, как работают планировщик процессов и подсистема виртуальной памяти. Проговорим, для чего нужны прерывания. И узнаем, что такое cgroup и namespace.

Пікірлер: 11
@michurinandrey
@michurinandrey 2 күн бұрын
Спасибо за просмотр и интерес к технологиям. Хочу отметить, что в данной лекции я допустил несколько неточностей, ошибок и опечаток. * 17:02 clone() будет видно, если трейсить bash из которого я запускаю strace * 25:01 обрабатывать нельзя только kill * 42:49 Stopped обозначается T * 44:33 Terminated обозначается X * 40:54 LA учитывает не только R, но процессы с D стейтом. * 2:44:21 utc namespace - про имя хоста Будьте внимательны!
@user-yo8wm5bd6z
@user-yo8wm5bd6z 5 күн бұрын
Спасибо за очень интересную лекцию!
@ep4sh
@ep4sh 3 күн бұрын
17:02 немного тут Вас не понял - "этот вызов имел под собой и fork и exec" - мы запускаем strace, который также создаёт child процесс. Чтобы увидеть желаемый вызов нужно запустить второй bash (в соседнем pty, например), в котором запустить strace c аттачем по pid на первый баш (strace -p $PID) - то системный вызов (clone, все же это Linux) будет видно.
@michurinandrey
@michurinandrey 2 күн бұрын
Очень крутое замечание! Без clone() никуда, действительно надо стрейсить баш из которого вызываем, что бы поймать clone()! Тут главная мысль, что все пишут про fork() && exec(), а по факту, мы видим другое clone && execve.
@ep4sh
@ep4sh Күн бұрын
2:02:56 где-нибудь тут можно было упомянуть про TLB, наверно про него и был вопрос (косвенно, если я верно понял..)
@user-xz6mo6wn4d
@user-xz6mo6wn4d 4 күн бұрын
40:54 LA - это не количество процессов, исполняющихся на CPU (в состоянии Running). Это отношение всех процессов (с состояниями R и D) к имеющимся ресурсам CPU
@michurinandrey
@michurinandrey 4 күн бұрын
Спасибо ! Я это подсветил в своем комментарии выше. Ошибки опечатки и неточности описываю там .
@fish9370
@fish9370 Күн бұрын
Будто Роберта Лава перечитал. Конечно поверхностно, но для студентов наверно глубже пока и не надо
@michurinandrey
@michurinandrey Күн бұрын
Я в лекции прям явно упоминал, что это краткий пересказ Роберта Лава, в моей интерпретации и с моими ошибками. Спасибо за просмотр.
@user-rb6fv4fe2v
@user-rb6fv4fe2v 4 күн бұрын
Нельзя так нагло обманывать неокрепшие умы детей про load average. Когда в Linux впервые появились средние значения нагрузки, они отражали только потребность в ресурсах процессора, как и в других ОС. Но позднее они претерпели изменения, в них включили не только выполняемые задачи, но и те, что находятся в непрерываемом состоянии (TASK_UNINTERRUPTIBLE или nr_uninterruptible). Это состояние используется ветвями кода, которые хотят избежать прерывания по сигналам, в том числе задачами, блокированными дисковым вводом/выводом, и некоторыми блокировками. Вы могли уже сталкиваться с этим состоянием: оно отображается как состояние "D" в выходных данных ps и top. На странице ps(1) его называют «uninterruptible sleep (usually IO)».
@michurinandrey
@michurinandrey 4 күн бұрын
Спасибо за уточнение! Действительно, похоже сейчас это так работает.
Каха ограбил банк
01:00
К-Media
Рет қаралды 10 МЛН
СНЕЖКИ ЛЕТОМ?? #shorts
00:30
Паша Осадчий
Рет қаралды 8 МЛН
Stupid Barry Find Mellstroy in Escape From Prison Challenge
00:29
Garri Creative
Рет қаралды 21 МЛН
Каха ограбил банк
01:00
К-Media
Рет қаралды 10 МЛН