Ivan Sorokin
Ivan Sorokin
  • 61
  • 28 391

วีดีโอ

Асинхронные операции
มุมมอง 814 ชั่วโมงที่ผ่านมา
Асинхронные операции
Cancellation потоков
มุมมอง 414 ชั่วโมงที่ผ่านมา
Cancellation потоков
Relaxed-атомики
มุมมอง 414 ชั่วโมงที่ผ่านมา
Relaxed-атомики
Реализация мьютекса используя std::atomic
มุมมอง 1614 ชั่วโมงที่ผ่านมา
Реализация мьютекса используя std::atomic
Примитивы синхронизации: mutex, condition_variable
มุมมอง 714 ชั่วโมงที่ผ่านมา
Примитивы синхронизации: mutex, condition_variable
Введение в многопоточность
มุมมอง 914 ชั่วโมงที่ผ่านมา
Введение в многопоточность
Концепты (продолжение)
มุมมอง 714 ชั่วโมงที่ผ่านมา
Концепты (продолжение)
Концепты
มุมมอง 1814 ชั่วโมงที่ผ่านมา
Концепты
std::variant
มุมมอง 133หลายเดือนก่อน
std::variant
std::optional, noexcept, SFINAE-friendliness, тривиальные операции
มุมมอง 95หลายเดือนก่อน
std::optional, noexcept, SFINAE-friendliness, тривиальные операции
Профиляторы
มุมมอง 172หลายเดือนก่อน
Профиляторы
Кодировки Unicode
มุมมอง 46หลายเดือนก่อน
Кодировки Unicode
constexpr
มุมมอง 35หลายเดือนก่อน
constexpr
std::function, type erasure
มุมมอง 51หลายเดือนก่อน
std::function, type erasure
Анонимные функции, статический и динамический полиморфизм
มุมมอง 91หลายเดือนก่อน
Анонимные функции, статический и динамический полиморфизм
Intrusive-контейнеры
มุมมอง 44หลายเดือนก่อน
Intrusive-контейнеры
shared_ptr
มุมมอง 70หลายเดือนก่อน
shared_ptr
Perfect forwarding, decltype, auto, xvalues, nullptr
มุมมอง 47หลายเดือนก่อน
Perfect forwarding, decltype, auto, xvalues, nullptr
Variadic-шаблоны, неймспейсы
มุมมอง 2746 หลายเดือนก่อน
Variadic-шаблоны, неймспейсы
Абстрактные классы, dynamic_cast, RTTI, protected, LSP, виртуальное наследование
มุมมอง 2086 หลายเดือนก่อน
Абстрактные классы, dynamic_cast, RTTI, protected, LSP, виртуальное наследование
Наследование, виртуальные функции, срезка, виртуальный деструктор
มุมมอง 1836 หลายเดือนก่อน
Наследование, виртуальные функции, срезка, виртуальный деструктор
SFINAE, tag-dispatching (продолжение)
มุมมอง 1346 หลายเดือนก่อน
SFINAE, tag-dispatching (продолжение)
Взаимодействие шаблонов и неполных типов, SFINAE, tag-dispatching
มุมมอง 1926 หลายเดือนก่อน
Взаимодействие шаблонов и неполных типов, SFINAE, tag-dispatching
Шаблоны, специализации, зависимые имена, type-traits
มุมมอง 3436 หลายเดือนก่อน
Шаблоны, специализации, зависимые имена, type-traits
Аллокаторы памяти, copy-on-write и small object оптимизации
มุมมอง 2916 หลายเดือนก่อน
Аллокаторы памяти, copy-on-write и small object оптимизации
Предсказание переходов, параллелизм уровня инструкций
มุมมอง 1806 หลายเดือนก่อน
Предсказание переходов, параллелизм уровня инструкций
Кеш процессора
มุมมอง 1.3K6 หลายเดือนก่อน
Кеш процессора
Страничная адресация (продолжение)
มุมมอง 6416 หลายเดือนก่อน
Страничная адресация (продолжение)
Многозадачность, виртуальная память, страничная адресация
มุมมอง 1.9K6 หลายเดือนก่อน
Многозадачность, виртуальная память, страничная адресация

ความคิดเห็น

  • @almatytelecom1
    @almatytelecom1 หลายเดือนก่อน

    классные лекции

  • @Дмитрий-х3ы5и
    @Дмитрий-х3ы5и 2 หลายเดือนก่อน

    узнав о шаблонах начал верить в магию

  • @takars
    @takars 4 หลายเดือนก่อน

    Самое частое ключевое слово в этой лекции: "как бы"

  • @hamster-is2ij
    @hamster-is2ij 6 หลายเดือนก่อน

    Невероятное видео, узнал много нового. Спасибо большое)

  • @КириллЖарков-ю8ш
    @КириллЖарков-ю8ш 6 หลายเดือนก่อน

    Отличный канал, лайк автору. Видео довольно наглядное, много примеров. В общем, канал - находка, буду дальше изучать. Ещё раз спасибо автору

  • @alexandernaumochkin
    @alexandernaumochkin 6 หลายเดือนก่อน

    Иван, сегодняшние операционные системы работают точно так же, как работали операционнные системы 50 лет назад. И даже компьютеры сущностно всё те же самые. Я за 40+ лет системного программирования принципиальной разницы не вижу никакой. Вообще :) Приведённый пример *(char *)0x12345678 - 'x' НЕ является UB в том смысле, как UB определяется стандартами C или C++. Виртуальную память сделали не “после DOS” Её сделали тогда, когда не было ни MS-DOS, ни Microsoft, и даже процессоров x86 и самой компании Intel в природе не существовало. В самом начале 60-х годов на Atlas. Обращение к странице, которая не “отмаплена” на физическую память, не приведёт к ошибке. Оно приведёт к синхронному прерыванию. А вот как оно будет обрабатываться - отдельный вопрос. Это - основа пейджинга. А он - основа виртуальной памяти. Выбор размера страниц - это не от балды выбранное значение. Маппинг нужно где-то хранить. В Page Table. И чем меньше размер страницы, тем больше памяти под это потребуется. А если учесть дорогой (и потому маленький кэш TLB), то не трудно догадаться, что использовать страницы, например, килобайтные для 32-битной системы получится дороговато. А большие страницы приводят к не эффективному использованию физической памяти. Размер страницы - это компромисс, а не абстрактная величина. Процессоры x86 давным-давно поддерживают Huge Pages - 2MB, 4MB, и даже 1GB. И с ними умеют работать и Windows, и MacOS, и все unix'ы и пингвиниксы.

  • @_3_774
    @_3_774 6 หลายเดือนก่อน

    Скорее всего, добавление такой инструкции, будет дорогой в том плане, что она негативно повлияет на скорость выполнения всех остальных инструкций мб

  • @gogagum
    @gogagum 8 หลายเดือนก่อน

    40:33 Присваивание по стандарту не даёт сильную гарантию. Вследствие этого на cppreference про это для оператора присваивания ничего и не сказано. Может скопировать только часть. Подозреваю, что так сделано для того, чтобы можно было сделать оптимизацию неперевыделения памяти при (почти) совпадающих размерах буффера и помеченном на постоянное равенство объектов типе аллокаторов.

  • @princessmary5556
    @princessmary5556 11 หลายเดือนก่อน

    В c++ анонимных функций не существует. Ролик не стала смотреть.