закончил физтех в далеком 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.
Спасибо! Подготовка видео занимает довольно много времени, и дело даже не в технических моментах типа записи и монтажа видео, а в творческом: порой, неделю я просто думаю как выстроить повествование так, чтобы всё было логично "от и до", без перескакивания по темам, какие интересные подробности добавить, а что только мешает и можно исключить. И до тех пор, пока не выложу на всеобщее обозрение, не могут быть уверен насколько правильно сделал. Оценивают только зрители, по комментариям, лайкам и новым подписчикам я уже немножко понимаю, что было правильно, а что не очень.
@@abragin Есть опыт в подготовке контента, могу помогать в подготовке по мере возможностей. Помогаю из-за того, что контент интересный и не стандартный.
@@abraginвначале задан тон терминалов и олдскульных текстовых редакторов, а потом появлятся ide и шиндовская панель задач. Возможно, стоило все сделать в одном стиле (vs + панели задач) либо (олдскульный редактор + htop). Ну, это конечно тонкости
В этом изложении темы мне не хватает описания адресного пространства много-поточных процессом и нюансов работы со стеками в них. И, кстати, мне вообще не попадалось хорошего изложения этой темы. Так что это вовсе не упрёк, а лишь слова для алгоритмов и скромное пожелание попробовать рассказать об этом в будущем. ;) 2024-03-19 11:30
Upd: а также, я помню, что т.н. "пользовательские потоки" нельзя было разнести по ядрам. Или что-то изменилось? Если нет, то на этом стоит сделать акцент, а то студенту покажется, что они лучше (быстрее создаются), в то время, как толку от них в определенных классах приложений - ноль.
Спасибо за Ваш труд. Очень полезно, но я немного запутался. Я полагал что процессы существуют в рамках потока, а сам поток это нечто связанное с ядрами процессора. Такое представление у меня от Node.js Или там эти понятия несколько отличаются или я не правильно их трактовал. Буду разбираться.
Объяснение очень хорошее, но все-таки из за неимения практики, это не до конца понятно. Надо бы несколько лабораторных работ сделать на С++ под Linux and Windows.
Спасибо, отлично структурированная инфа! user-level threads это получается те самые green threads т.е. легковесные потоки а-ля корутины/горутины/файберы?
Потому что адрес следующей команды (т.е. счетчик команд, регистр eip/rip) тоже копируется. Получается, что следующая команда - это то, что после fork().
Я про это как раз начал видео делать, но что-то там так много всего, что думаю разбить на несколько отдельных тем, и сперва ещё про файловую систему рассказать
Я пользуюсь Windows разных версий и Windows Sergey тоже, из Linux привык к Ubuntu, из BSD предпочитаю FreeBSD, для обучения - ReactOS и NetBSD, на маках выбор небольшой - macOS, но девятку никогда всерьёз не использовал, только поигрался. Ну всякого разного ещё можно найти по мелочи.
@@abragin про windows мне понятно,я вот тоже когда пользовался то убунту приелась (в хорошем смысле) ) freebsd пробовал на виртуальной машине,говорят zfs молодец для серверов но он для меня как густой лес , мака у меня не было
Может кто нибудь объяснить что значит "в адресное пространство каждого процесса по фиксированному виртуальному адресу проецируется ядро" и зачем это нужно 03:42 за ранее спасибо
У ядра, как и у всех роцессов есть свой код и свои данные, и существует оно в единственном экземпляре. Каждому процессу в системе необходимо имет доступ к ядру - для выполнения системных вызовов, доступа к его данным. В микроядерных системах такой доступ предоставляется в виде межпроцессного взаимодействия посредством сообщений, а в монолитных системах физическая память, в которой расположен код и данные ядра отображается с помощью механизма виртуальной памяти в каждый процесс. Этакая общая память, если хотите, между процессами. Конечно же, она защищена определённым образом, иначе бы легко было всё испортить, но если не усложнять - то как-то так.
Не понимал раньше, книжки по С++ на 100-120 страниц. Для кого она написана? Кто уже досконально знает С++? Так и эти видео, чтобы хорошо объяснить матерьял конкретно в этом видео, понадобится пару часов, а кто и так знает что и зачем - зачем смотреть видео?
не понимаю, какие то книшки по плюсикам? стандарт плюсов - это 5000 страниц гонг-вопрос: а для кого и зачем пишутся какие то книшки по плюсикам? вы стандарт по плюсикам читайте, зачем вам какие то книшки? не хотите? а чего вдруг не хотите?
@@abragin я имел ввиду межпроцессное взаимодействие.в если адресное пространство у потоков общее в рамках процесса, то и конкуренция за ресурсы например переменные и их блокировки присутствует?
Шикарно. А можно видео где все это в практику превращается? Желательно на питоне, threading, multiprocessing с тонкостями, флагами и как это под капотом в линукс работает. :)
Очень доходчиво, всё по полочкам. Обожаю системное программирование на ассемблере(fasm|nasm) LInux - был счастлив увидеть здесь видео о работе с ядром на ассемблере.
Минута молчания в конце как всегда прекрасна😅
Это прям стиль!
Взгляд в душу))
Это он через экран смотрит на зрителей и определяет для себя зашла ли тема)
К тому моменту просто уже все данные прочитаны и воспроизведены, а исполняемая программа ещё не завершена... Вот и получается пауза.
@@timandr7540 system_pause();
закончил физтех в далеком 2016м, весь материал на этот момент приходится знать по работе и так. Но структурированность и подача материала не оставляют шанса на пропуск новых видео. Поделился каналом со всеми кому могло быть релевантно)
Огромное спасибо! Очень приятно, что растёт не просто число просмотров, а количество подписчиков
мне кажется или лектор становится чуть улыбчивее с каждым видео ? это или весна так радует или поглощенные души с весенним настроением отражаются на лице этого некроманта?)
в конце стало страшно, но от того менее качественным контент не стал так что с ходу лайк
Концовки шедевр
Сделайте под финальное молчание еще плавное погашение света в комнате....
Спасибо за познавательный контент, ждём продолжения
и в темноте только желтизна темных в ночи глаз ночного зверя что медленно высасывает твою душу
@@skiramish желтизна глаз - это плохо, печень лечить надо
Уходя гасите всех
@@АлександрЛеонов-ы4ж4ж Это если жёлтые склеры.
А если радужка --- то просто такой цвет глаз.
Еслиб еще докинули по мьютексы и семафоры былобы просто бомба!!!
Спасибо за видое, отличная подача материала!
Так ведь обязательно, у меня целый отдельный видосик под это запланирован
Лично мне не хватает какой-то визуализации - это кратно увеличит кол-во зрителей и кол-во тех, кто досмотрел до конца. Как пример - видео Alek OS, или же вариант попроще - курс по сетям от Андрея Созыкина - поток слов тут же отражается в некоторой визуализации - схемы, таблицы, и это очень сильно улучшает восприятие, особенно учитывая что речь о технической области
плюсую, не хватает визуализации
Спасибо Вам огромное! С огромным удовольствием учился у такого преподавателя!!!
Спасибо, меня как раз недавно на собеседовании спрашивали, чем отличается поток от процесса. :)
Теперь я знаю :)
концовки -- огонь
Доктор Брагин, Вы - изумруд!
Господи, спасибо большое! Какое ценное видео для меня!
Рад, что нравится! Если есть какие предложения, что можно улучшить - пишите, мне очень важна обратная связь
Браво маэстро!
Это Т-1000, мимикрирующий под доктора Брагина
Очень нравится. Спасибо автору за труд.
Спасибо за проделланную работу, все по сути и без воды.
Коротко, четко и по делу
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 Точно-точно😂👍
Отличное видео! Рекомендую видео с канала на своих курсах!
Спасибо за видео
Крутые видео, продолжай пожалуйста
О, ретро-терм на заставках
Спасибо за видео!
большое спасибо за труд)
Одно кольцо чтоб править миром!
Замени в конце своё дыхание на вейдеровское - запомнится всё на века.
Спасибо.
А можно ещё рассказать про семафоры, мониторы, решение тупиков и как ОС использует память
Несомненно! ruclips.net/video/clRwA-JGBQI/видео.html
Спасибо!
Не забывай иногда моргать)
Зачем тратить энергию на бесполезное действие?
Лайк по дефолту, больше контентааа)
Вы походу в гляделки всегда выигрывали )
Да он просто зверь, это чемпион
В 4:12 вроде моргнул
Процесс - это виртуальная среда для выполнения программы, части программы, нескольких программ... помоему как-то так звучит определение процесса
Заставка у вас топ
В финале - это наш HAL9000
7:57 " Нет необходимости создавать отдельный процесс"
*Chrome:* Hold my beer.
база кормит
Потому что это основа это так сказать база
Пошла вода в хату, потоком!
Ура, ждал, ждал видео.
Спасибо! Подготовка видео занимает довольно много времени, и дело даже не в технических моментах типа записи и монтажа видео, а в творческом: порой, неделю я просто думаю как выстроить повествование так, чтобы всё было логично "от и до", без перескакивания по темам, какие интересные подробности добавить, а что только мешает и можно исключить. И до тех пор, пока не выложу на всеобщее обозрение, не могут быть уверен насколько правильно сделал. Оценивают только зрители, по комментариям, лайкам и новым подписчикам я уже немножко понимаю, что было правильно, а что не очень.
@@abragin
Есть опыт в подготовке контента, могу помогать в подготовке по мере возможностей. Помогаю из-за того, что контент интересный и не стандартный.
Для полного антуража не хватает только текстового редактора vim
А как насчёт emacs?
@@abraginпросто там среди прочего проскакивала какая-то ide с директориями слева.
@@abraginвначале задан тон терминалов и олдскульных текстовых редакторов, а потом появлятся ide и шиндовская панель задач. Возможно, стоило все сделать в одном стиле (vs + панели задач) либо (олдскульный редактор + htop). Ну, это конечно тонкости
@@abraginв любом случае, лайк и подписка. Фундаментальных знаний не хватает, конечно, современному кодингу
Ein code
Ein Daten
Ein Zugriffsrecht
В этом изложении темы мне не хватает описания адресного пространства много-поточных процессом и нюансов работы со стеками в них.
И, кстати, мне вообще не попадалось хорошего изложения этой темы. Так что это вовсе не упрёк, а лишь слова для алгоритмов и скромное пожелание попробовать рассказать об этом в будущем. ;)
2024-03-19 11:30
Upd: а также, я помню, что т.н. "пользовательские потоки" нельзя было разнести по ядрам. Или что-то изменилось?
Если нет, то на этом стоит сделать акцент, а то студенту покажется, что они лучше (быстрее создаются), в то время, как толку от них в определенных классах приложений - ноль.
Кстати да, вы правы! Это нюанс, про который мало кто рассказывает. Эх, ладно 😀
Спасибо за Ваш труд. Очень полезно, но я немного запутался. Я полагал что процессы существуют в рамках потока, а сам поток это нечто связанное с ядрами процессора. Такое представление у меня от Node.js Или там эти понятия несколько отличаются или я не правильно их трактовал. Буду разбираться.
Наоборот: потоки существуют в рамках процесса. А в ноде там не совсем то... По умолчанию потоков и процессов там нет, а есть просто асинхронность
Объяснение очень хорошее, но все-таки из за неимения практики, это не до конца понятно. Надо бы несколько лабораторных работ сделать на С++ под Linux and Windows.
Практические работы тоже будут!
@@abragin Буду ждать с нетерпением!
❤
Очень полезный ролик, подскажите как сделать такой же терминал как на заставке, может есть урок или статья?
Это программа cool-retro-term, у неё куча настроек, можно всё сделать по вкусу
"Достаточно лишь информации для управления потоком" ))))))))
А, той самой информации, точно, не той что для процесса
Спасибо, отлично структурированная инфа!
user-level threads это получается те самые green threads т.е. легковесные потоки а-ля корутины/горутины/файберы?
Нуу не совсем, но очень близко. Это скорее pthreads в линуксе
Если fork() создаёт копию процесса, то почему копия при выполнении сама не вызывает fork()?
Потому что адрес следующей команды (т.е. счетчик команд, регистр eip/rip) тоже копируется. Получается, что следующая команда - это то, что после fork().
@@apodavalov 👍
Я специально обратил внимание на то, что fork() *возвращается* дважды. А адрес возврата в стеке указывает уже на следующую инструкцию после call.
А будет ли лекция по операционным системам реального времени? Очень интересно посмотреть, чтобы лучше разобраться
Вот про это ещё не планировал. Если будет достаточный интерес, то обязательно сделаю
8:16 какой постметаироничный кек в аннотации!
Можете, пожалуйста, сделать подобный разбор по видеокартам, как они с процессором взаимодействуют, про шейдеры, для чего OpenGL, DirectX, и т.д.?
Диаграммы не хватает
В каком месте?
Процесс ведь не обязательно в состоянии выполнения )
"Один код. Одни данные. Один уровень доступа" 😂😂😂
А если некоторые понятия непонятны,но влезть хочется в понимание. Что можно почитать посмотреть по ОС?
Это ещё не все видео, тут будет это рассказано более подробно
Почитать можно Танненбаума, но у него довольно фундаментальная книга, там очень подробно
А каким образом машинный код становится PE?
Я про это как раз начал видео делать, но что-то там так много всего, что думаю разбить на несколько отдельных тем, и сперва ещё про файловую систему рассказать
@@abragin отлично! Подождём ролика.
Находка
а пользовательские потоки могут работать на нескольких ядрах процессора одновременно?
какой вы операционной системой пользуетесь и какая лучше субьективно?
Я пользуюсь Windows разных версий и Windows Sergey тоже, из Linux привык к Ubuntu, из BSD предпочитаю FreeBSD, для обучения - ReactOS и NetBSD, на маках выбор небольшой - macOS, но девятку никогда всерьёз не использовал, только поигрался. Ну всякого разного ещё можно найти по мелочи.
@@abragin про windows мне понятно,я вот тоже когда пользовался то убунту приелась (в хорошем смысле) ) freebsd пробовал на виртуальной машине,говорят zfs молодец для серверов но он для меня как густой лес , мака у меня не было
Что такое виртуальный адрес я так и не понял. Это означает,что оно физически не выполняется по инструкцииям в процессоре или что?
Согласен с вами, про это будет отдельное видео
Может кто нибудь объяснить что значит
"в адресное пространство каждого процесса по фиксированному виртуальному адресу проецируется ядро"
и зачем это нужно
03:42
за ранее спасибо
У ядра, как и у всех роцессов есть свой код и свои данные, и существует оно в единственном экземпляре. Каждому процессу в системе необходимо имет доступ к ядру - для выполнения системных вызовов, доступа к его данным. В микроядерных системах такой доступ предоставляется в виде межпроцессного взаимодействия посредством сообщений, а в монолитных системах физическая память, в которой расположен код и данные ядра отображается с помощью механизма виртуальной памяти в каждый процесс. Этакая общая память, если хотите, между процессами. Конечно же, она защищена определённым образом, иначе бы легко было всё испортить, но если не усложнять - то как-то так.
@@abragin Спасибо теперь яснее стало
@abragin Если процессами управляет операционная система, то кто управляет потоками? как они выглядят? Это отдельный код в оперативной памяти?
Есть такое хорошее определение, которое я очень люблю: процесс - это контейнер для потоков [этого процесса]
@@alex.bragin то есть ОС сначала планирует какому процессу выделить квант времени, а уж потом какому потоку этого процесса дать исполниться?
@@ibnalvichannel4664 Да, можно сказать и так, зависит от конкретной реализации в ОС
04:25 что за "среда выполнения" ?
Не понимал раньше, книжки по С++ на 100-120 страниц. Для кого она написана? Кто уже досконально знает С++? Так и эти видео, чтобы хорошо объяснить матерьял конкретно в этом видео, понадобится пару часов, а кто и так знает что и зачем - зачем смотреть видео?
Несколько раз перечитал и так и не понял: надо делать ещё проще, надо делать на 2 часа, или не надо делать вообще?
не понимаю, какие то книшки по плюсикам?
стандарт плюсов - это 5000 страниц
гонг-вопрос: а для кого и зачем пишутся какие то книшки по плюсикам?
вы стандарт по плюсикам читайте, зачем вам какие то книшки?
не хотите? а чего вдруг не хотите?
Потоки получается менее накладны чем процессы?
Да, но не совсем
поток, если сильно упрощать, выбрасыая TLS и другие мелочи, это ещё один блок памяти для стека в куче процесса
@@abragin я имел ввиду межпроцессное взаимодействие.в если адресное пространство у потоков общее в рамках процесса, то и конкуренция за ресурсы например переменные и их блокировки присутствует?
@@tree-service да, память ведь общая
@@tree-service конкуренция за ресурсы в любом случае существует, что у процессов, что у потоков
... как использовать 45 непонятных слов, что бы объяснить другое непонятное слово... Скоро процесс не объяснения, а введение в заблуждение.. 🤣🤣🤣
Ваша физиономия сильно отвлекает.
Там процентов 90 кадра заполнено чем-то ещё, смотрите туда 😅
вы слушаете глазами что ли?
может вам лучше в балет или модельеры?
это без шуток, какие шутки?
Шикарно. А можно видео где все это в практику превращается?
Желательно на питоне, threading, multiprocessing с тонкостями, флагами и как это под капотом в линукс работает. :)
Будет, но потом 😅
нахрен питон, чистый с!!!
@@DyaFedyaЛучше ASM
Очень доходчиво, всё по полочкам.
Обожаю системное программирование на ассемблере(fasm|nasm) LInux - был счастлив увидеть здесь видео о работе с ядром на ассемблере.
Спасибо за увлекательное видео
Спасибо за материал, и ещё раз спасибо за понятное изложение без воды!
Очень приятно, что цените и оставляете комментарии! Это для меня лучший мотиватор