закончил физтех в далеком 2016м, весь материал на этот момент приходится знать по работе и так. Но структурированность и подача материала не оставляют шанса на пропуск новых видео. Поделился каналом со всеми кому могло быть релевантно)
мне кажется или лектор становится чуть улыбчивее с каждым видео ? это или весна так радует или поглощенные души с весенним настроением отражаются на лице этого некроманта?)
Лично мне не хватает какой-то визуализации - это кратно увеличит кол-во зрителей и кол-во тех, кто досмотрел до конца. Как пример - видео Alek OS, или же вариант попроще - курс по сетям от Андрея Созыкина - поток слов тут же отражается в некоторой визуализации - схемы, таблицы, и это очень сильно улучшает восприятие, особенно учитывая что речь о технической области
На этот счёт разные мнения есть, про pid vs pee-eye-dee, но эльф он и в средиземье эльф 😅 www.quora.com/How-should-I-pronounce-pid-as-in-Process-ID#:~:text=Pronounce%20pid%20(process%20ID)%20as,rhymes%20with%20kid%20or%20squid.
Очень доходчиво, всё по полочкам. Обожаю системное программирование на ассемблере(fasm|nasm) LInux - был счастлив увидеть здесь видео о работе с ядром на ассемблере.
Как всегда прекрастно. Только хотелось бы подробностей например что PID это сокращение от Process ID. И как это работает на уровне взаимодействия железок и программной части. Директивы процессора и т.д
Спасибо! Подготовка видео занимает довольно много времени, и дело даже не в технических моментах типа записи и монтажа видео, а в творческом: порой, неделю я просто думаю как выстроить повествование так, чтобы всё было логично "от и до", без перескакивания по темам, какие интересные подробности добавить, а что только мешает и можно исключить. И до тех пор, пока не выложу на всеобщее обозрение, не могут быть уверен насколько правильно сделал. Оценивают только зрители, по комментариям, лайкам и новым подписчикам я уже немножко понимаю, что было правильно, а что не очень.
@@abragin Есть опыт в подготовке контента, могу помогать в подготовке по мере возможностей. Помогаю из-за того, что контент интересный и не стандартный.
Спасибо, отлично структурированная инфа! user-level threads это получается те самые green threads т.е. легковесные потоки а-ля корутины/горутины/файберы?
В этом изложении темы мне не хватает описания адресного пространства много-поточных процессом и нюансов работы со стеками в них. И, кстати, мне вообще не попадалось хорошего изложения этой темы. Так что это вовсе не упрёк, а лишь слова для алгоритмов и скромное пожелание попробовать рассказать об этом в будущем. ;) 2024-03-19 11:30
Upd: а также, я помню, что т.н. "пользовательские потоки" нельзя было разнести по ядрам. Или что-то изменилось? Если нет, то на этом стоит сделать акцент, а то студенту покажется, что они лучше (быстрее создаются), в то время, как толку от них в определенных классах приложений - ноль.
Объяснение очень хорошее, но все-таки из за неимения практики, это не до конца понятно. Надо бы несколько лабораторных работ сделать на С++ под Linux and Windows.
@@abraginвначале задан тон терминалов и олдскульных текстовых редакторов, а потом появлятся ide и шиндовская панель задач. Возможно, стоило все сделать в одном стиле (vs + панели задач) либо (олдскульный редактор + htop). Ну, это конечно тонкости
Я пользуюсь Windows разных версий и Windows Sergey тоже, из Linux привык к Ubuntu, из BSD предпочитаю FreeBSD, для обучения - ReactOS и NetBSD, на маках выбор небольшой - macOS, но девятку никогда всерьёз не использовал, только поигрался. Ну всякого разного ещё можно найти по мелочи.
@@abragin про windows мне понятно,я вот тоже когда пользовался то убунту приелась (в хорошем смысле) ) freebsd пробовал на виртуальной машине,говорят zfs молодец для серверов но он для меня как густой лес , мака у меня не было
Потому что адрес следующей команды (т.е. счетчик команд, регистр eip/rip) тоже копируется. Получается, что следующая команда - это то, что после fork().
Может кто нибудь объяснить что значит "в адресное пространство каждого процесса по фиксированному виртуальному адресу проецируется ядро" и зачем это нужно 03:42 за ранее спасибо
У ядра, как и у всех роцессов есть свой код и свои данные, и существует оно в единственном экземпляре. Каждому процессу в системе необходимо имет доступ к ядру - для выполнения системных вызовов, доступа к его данным. В микроядерных системах такой доступ предоставляется в виде межпроцессного взаимодействия посредством сообщений, а в монолитных системах физическая память, в которой расположен код и данные ядра отображается с помощью механизма виртуальной памяти в каждый процесс. Этакая общая память, если хотите, между процессами. Конечно же, она защищена определённым образом, иначе бы легко было всё испортить, но если не усложнять - то как-то так.
@@abragin я имел ввиду межпроцессное взаимодействие.в если адресное пространство у потоков общее в рамках процесса, то и конкуренция за ресурсы например переменные и их блокировки присутствует?
Не понимал раньше, книжки по С++ на 100-120 страниц. Для кого она написана? Кто уже досконально знает С++? Так и эти видео, чтобы хорошо объяснить матерьял конкретно в этом видео, понадобится пару часов, а кто и так знает что и зачем - зачем смотреть видео?
не понимаю, какие то книшки по плюсикам? стандарт плюсов - это 5000 страниц гонг-вопрос: а для кого и зачем пишутся какие то книшки по плюсикам? вы стандарт по плюсикам читайте, зачем вам какие то книшки? не хотите? а чего вдруг не хотите?
Шикарно. А можно видео где все это в практику превращается? Желательно на питоне, threading, multiprocessing с тонкостями, флагами и как это под капотом в линукс работает. :)
Минута молчания в конце как всегда прекрасна😅
Это прям стиль!
Взгляд в душу))
Это он через экран смотрит на зрителей и определяет для себя зашла ли тема)
К тому моменту просто уже все данные прочитаны и воспроизведены, а исполняемая программа ещё не завершена... Вот и получается пауза.
@@timandr7540 system_pause();
закончил физтех в далеком 2016м, весь материал на этот момент приходится знать по работе и так. Но структурированность и подача материала не оставляют шанса на пропуск новых видео. Поделился каналом со всеми кому могло быть релевантно)
Огромное спасибо! Очень приятно, что растёт не просто число просмотров, а количество подписчиков
мне кажется или лектор становится чуть улыбчивее с каждым видео ? это или весна так радует или поглощенные души с весенним настроением отражаются на лице этого некроманта?)
Концовки шедевр
Это Т-1000, мимикрирующий под доктора Брагина
Сделайте под финальное молчание еще плавное погашение света в комнате....
Спасибо за познавательный контент, ждём продолжения
и в темноте только желтизна темных в ночи глаз ночного зверя что медленно высасывает твою душу
@@skiramish желтизна глаз - это плохо, печень лечить надо
Уходя гасите всех
@@user-xq4ft9yu2c Это если жёлтые склеры.
А если радужка --- то просто такой цвет глаз.
Лично мне не хватает какой-то визуализации - это кратно увеличит кол-во зрителей и кол-во тех, кто досмотрел до конца. Как пример - видео Alek OS, или же вариант попроще - курс по сетям от Андрея Созыкина - поток слов тут же отражается в некоторой визуализации - схемы, таблицы, и это очень сильно улучшает восприятие, особенно учитывая что речь о технической области
плюсую, не хватает визуализации
в конце стало страшно, но от того менее качественным контент не стал так что с ходу лайк
Еслиб еще докинули по мьютексы и семафоры былобы просто бомба!!!
Спасибо за видое, отличная подача материала!
Так ведь обязательно, у меня целый отдельный видосик под это запланирован
Спасибо за проделланную работу, все по сути и без воды.
Спасибо Вам огромное! С огромным удовольствием учился у такого преподавателя!!!
концовки -- огонь
Браво маэстро!
Ein code, ein daten, ein zugriffsrechten… Sehr gut!
Ein Reich, ага)
Доктор Брагин, Вы - изумруд!
Господи, спасибо большое! Какое ценное видео для меня!
Рад, что нравится! Если есть какие предложения, что можно улучшить - пишите, мне очень важна обратная связь
Очень нравится. Спасибо автору за труд.
Спасибо! Очень интересная информация и доступная подача
Хотелось бы еще видео про виртуальное адресное пространство, как оно работает
Конечно, будет отдельное видео или даже не одно только про управлению памятью
Отличное видео. Я привык термины слышать на английском. Elf, Pid, немного порезали слух "ЕЛЬФ" и "ПИД" 😊
08:16 - Deutsch ist Deutsch 😉👍
На этот счёт разные мнения есть, про pid vs pee-eye-dee, но эльф он и в средиземье эльф 😅
www.quora.com/How-should-I-pronounce-pid-as-in-Process-ID#:~:text=Pronounce%20pid%20(process%20ID)%20as,rhymes%20with%20kid%20or%20squid.
@@abragin Точно-точно😂👍
Спасибо за ролик, очень классно и познавательно вышло
Хорошая подача материала!
Отличная подача! Спасибо вам большое! Жду следующих видео в таком же формате!
Спасибо за видео!
Спасибо за видео
Отличное видео! Рекомендую видео с канала на своих курсах!
О, ретро-терм на заставках
большое спасибо за труд)
Спасибо!
Очень доходчиво, всё по полочкам.
Обожаю системное программирование на ассемблере(fasm|nasm) LInux - был счастлив увидеть здесь видео о работе с ядром на ассемблере.
Спасибо за материал, и ещё раз спасибо за понятное изложение без воды!
Очень приятно, что цените и оставляете комментарии! Это для меня лучший мотиватор
Спасибо.
Одно кольцо чтоб править миром!
Крутые видео, продолжай пожалуйста
Спасибо за увлекательное видео
А можно ещё рассказать про семафоры, мониторы, решение тупиков и как ОС использует память
Несомненно! ruclips.net/video/clRwA-JGBQI/видео.html
Лайк по дефолту, больше контентааа)
Замени в конце своё дыхание на вейдеровское - запомнится всё на века.
Не забывай иногда моргать)
Зачем тратить энергию на бесполезное действие?
❤
7:57 " Нет необходимости создавать отдельный процесс"
*Chrome:* Hold my beer.
Заставка у вас топ
В финале - это наш HAL9000
8:16 какой постметаироничный кек в аннотации!
база кормит
Потому что это основа это так сказать база
Как всегда прекрастно. Только хотелось бы подробностей например что PID это сокращение от Process ID. И как это работает на уровне взаимодействия железок и программной части. Директивы процессора и т.д
Я написал справа, если не забыл 😀
Пошла вода в хату, потоком!
Ура, ждал, ждал видео.
Спасибо! Подготовка видео занимает довольно много времени, и дело даже не в технических моментах типа записи и монтажа видео, а в творческом: порой, неделю я просто думаю как выстроить повествование так, чтобы всё было логично "от и до", без перескакивания по темам, какие интересные подробности добавить, а что только мешает и можно исключить. И до тех пор, пока не выложу на всеобщее обозрение, не могут быть уверен насколько правильно сделал. Оценивают только зрители, по комментариям, лайкам и новым подписчикам я уже немножко понимаю, что было правильно, а что не очень.
@@abragin
Есть опыт в подготовке контента, могу помогать в подготовке по мере возможностей. Помогаю из-за того, что контент интересный и не стандартный.
"Достаточно лишь информации для управления потоком" ))))))))
А, той самой информации, точно, не той что для процесса
Вы походу в гляделки всегда выигрывали )
Да он просто зверь, это чемпион
В 4:12 вроде моргнул
Ein code
Ein Daten
Ein Zugriffsrecht
Спасибо, отлично структурированная инфа!
user-level threads это получается те самые green threads т.е. легковесные потоки а-ля корутины/горутины/файберы?
Нуу не совсем, но очень близко. Это скорее pthreads в линуксе
Находка
Очень полезный ролик, подскажите как сделать такой же терминал как на заставке, может есть урок или статья?
Это программа cool-retro-term, у неё куча настроек, можно всё сделать по вкусу
Можете, пожалуйста, сделать подобный разбор по видеокартам, как они с процессором взаимодействуют, про шейдеры, для чего OpenGL, DirectX, и т.д.?
В этом изложении темы мне не хватает описания адресного пространства много-поточных процессом и нюансов работы со стеками в них.
И, кстати, мне вообще не попадалось хорошего изложения этой темы. Так что это вовсе не упрёк, а лишь слова для алгоритмов и скромное пожелание попробовать рассказать об этом в будущем. ;)
2024-03-19 11:30
Upd: а также, я помню, что т.н. "пользовательские потоки" нельзя было разнести по ядрам. Или что-то изменилось?
Если нет, то на этом стоит сделать акцент, а то студенту покажется, что они лучше (быстрее создаются), в то время, как толку от них в определенных классах приложений - ноль.
Кстати да, вы правы! Это нюанс, про который мало кто рассказывает. Эх, ладно 😀
"Один код. Одни данные. Один уровень доступа" 😂😂😂
Объяснение очень хорошее, но все-таки из за неимения практики, это не до конца понятно. Надо бы несколько лабораторных работ сделать на С++ под Linux and Windows.
Практические работы тоже будут!
@@abragin Буду ждать с нетерпением!
Для полного антуража не хватает только текстового редактора vim
А как насчёт emacs?
@@abraginпросто там среди прочего проскакивала какая-то ide с директориями слева.
@@abraginвначале задан тон терминалов и олдскульных текстовых редакторов, а потом появлятся ide и шиндовская панель задач. Возможно, стоило все сделать в одном стиле (vs + панели задач) либо (олдскульный редактор + htop). Ну, это конечно тонкости
@@abraginв любом случае, лайк и подписка. Фундаментальных знаний не хватает, конечно, современному кодингу
а пользовательские потоки могут работать на нескольких ядрах процессора одновременно?
Процесс ведь не обязательно в состоянии выполнения )
04:25 что за "среда выполнения" ?
А будет ли лекция по операционным системам реального времени? Очень интересно посмотреть, чтобы лучше разобраться
Вот про это ещё не планировал. Если будет достаточный интерес, то обязательно сделаю
какой вы операционной системой пользуетесь и какая лучше субьективно?
Я пользуюсь Windows разных версий и Windows Sergey тоже, из Linux привык к Ubuntu, из BSD предпочитаю FreeBSD, для обучения - ReactOS и NetBSD, на маках выбор небольшой - macOS, но девятку никогда всерьёз не использовал, только поигрался. Ну всякого разного ещё можно найти по мелочи.
@@abragin про windows мне понятно,я вот тоже когда пользовался то убунту приелась (в хорошем смысле) ) freebsd пробовал на виртуальной машине,говорят zfs молодец для серверов но он для меня как густой лес , мака у меня не было
А если некоторые понятия непонятны,но влезть хочется в понимание. Что можно почитать посмотреть по ОС?
Это ещё не все видео, тут будет это рассказано более подробно
Почитать можно Танненбаума, но у него довольно фундаментальная книга, там очень подробно
Если fork() создаёт копию процесса, то почему копия при выполнении сама не вызывает fork()?
Потому что адрес следующей команды (т.е. счетчик команд, регистр eip/rip) тоже копируется. Получается, что следующая команда - это то, что после fork().
@@apodavalov 👍
Я специально обратил внимание на то, что fork() *возвращается* дважды. А адрес возврата в стеке указывает уже на следующую инструкцию после call.
Может кто нибудь объяснить что значит
"в адресное пространство каждого процесса по фиксированному виртуальному адресу проецируется ядро"
и зачем это нужно
03:42
за ранее спасибо
У ядра, как и у всех роцессов есть свой код и свои данные, и существует оно в единственном экземпляре. Каждому процессу в системе необходимо имет доступ к ядру - для выполнения системных вызовов, доступа к его данным. В микроядерных системах такой доступ предоставляется в виде межпроцессного взаимодействия посредством сообщений, а в монолитных системах физическая память, в которой расположен код и данные ядра отображается с помощью механизма виртуальной памяти в каждый процесс. Этакая общая память, если хотите, между процессами. Конечно же, она защищена определённым образом, иначе бы легко было всё испортить, но если не усложнять - то как-то так.
@@abragin Спасибо теперь яснее стало
Диаграммы не хватает
В каком месте?
Потоки получается менее накладны чем процессы?
Да, но не совсем
поток, если сильно упрощать, выбрасыая TLS и другие мелочи, это ещё один блок памяти для стека в куче процесса
@@abragin я имел ввиду межпроцессное взаимодействие.в если адресное пространство у потоков общее в рамках процесса, то и конкуренция за ресурсы например переменные и их блокировки присутствует?
@@tree-service да, память ведь общая
@@tree-service конкуренция за ресурсы в любом случае существует, что у процессов, что у потоков
Что такое виртуальный адрес я так и не понял. Это означает,что оно физически не выполняется по инструкцииям в процессоре или что?
Согласен с вами, про это будет отдельное видео
Не понимал раньше, книжки по С++ на 100-120 страниц. Для кого она написана? Кто уже досконально знает С++? Так и эти видео, чтобы хорошо объяснить матерьял конкретно в этом видео, понадобится пару часов, а кто и так знает что и зачем - зачем смотреть видео?
Несколько раз перечитал и так и не понял: надо делать ещё проще, надо делать на 2 часа, или не надо делать вообще?
не понимаю, какие то книшки по плюсикам?
стандарт плюсов - это 5000 страниц
гонг-вопрос: а для кого и зачем пишутся какие то книшки по плюсикам?
вы стандарт по плюсикам читайте, зачем вам какие то книшки?
не хотите? а чего вдруг не хотите?
... как использовать 45 непонятных слов, что бы объяснить другое непонятное слово... Скоро процесс не объяснения, а введение в заблуждение.. 🤣🤣🤣
Ваша физиономия сильно отвлекает.
Там процентов 90 кадра заполнено чем-то ещё, смотрите туда 😅
вы слушаете глазами что ли?
может вам лучше в балет или модельеры?
это без шуток, какие шутки?
Шикарно. А можно видео где все это в практику превращается?
Желательно на питоне, threading, multiprocessing с тонкостями, флагами и как это под капотом в линукс работает. :)
Будет, но потом 😅
нахрен питон, чистый с!!!
@@DyaFedyaЛучше ASM