курс: Информатика. Алгоритмы и структуры данных на Python 3.
лектор: Хирьянов Тимофей Фёдорович
24.10.2017
Темы, рассмотренные на лекции №8:
— Генерация комбинаторных объектов.
— Рекурсивная генерация всех чисел длины M.
— Генерация всех перестановок (рекурсивная).
— Быстрые сортировки: Тони Хоара и слиянием (без реализации).
Как ВКонтакте сделали собственный медиасервер на Go, где выиграли, где проиграли, как интегрировались с инфраструктурой. Почему выбор пал на Go, а не на традиционные C/C (но они тоже там есть), и что получилось в итоге.
___
ТЕХНОСТРИМ — образовательный канал для IT специалистов.
___
ПОДПИСЫВАЙСЯ, ЕСЛИ ТЕБЕ ИНТЕРЕСНО УЗНАТЬ:
✔ как наши преподаватели – топовые специалисты Mail.Ru Group руководят разработкой в таких проектах, как Почта, ВКонтакте, Облако, Maps.me, Одноклассники, и решают сложные задачи каждый день
✔ реальные примеры из практики с анализом их достоинств и недостатков
✔ современные технологии, которые применяются в проектах-лидера Рунета
✔ о митапах, мастер-классах, вебинарах и других мероприятиях, которые проводятся на базе вузов и Mail.Ru Group.
Все наши лекции проходят в ведущих вузах страны: МГУ, МГТУ, МФТИ, МИФИ, СПбПУ.
___
ТЫ СТУДЕНТ?
Вступай в наши образовательные проекты и участвуй в чемпионатах. Лучшие студенты получают возможность стажировки в Mail.Ru Group. Отбор — каждые полгода!
Николай Громов, Senior Web Developer в AB Soft, рассказывает о Frontend-направлении в программировании.
Сегодня многие хотят изменить свое профессиональное направление. И часто решение начать карьеру в IT-сфере связано с хорошими финансовыми перспективами. Тогда у человека, не знакомого со спецификой мира языков программирования, появляется множество вопросов. Главный — с чего начать освоение новой профессии?
Начало карьеры в IT не вызовет сложностей, если правильно подготовиться. Важно осознанно выбрать направление, которое будет соответствовать вашим способностям и интересам.
♥ ЛБП Yihua 3005D (из видео) ali.pub/3hcfeh
♥ ЛБП PS-305 на 30 v 5 A за 2600 из россии ali.pub/3ro719
♥ ЛБП R-SPS3010 на 30 v 10 A за 2800 ali.pub/3ro3ll
♥ЛБП WANPTEK с любыми параметрами на выбор от 3 т ali.pub/3ro8e2
♥ЛБП WANPTEK в черном исполнении с индикатором мощности ali.pub/3roahi
♥ ЛБП LW-K3010D на 30 v 10 A за 3200 из россии ali.pub/3ro4tx
♥ ЛБП KORAD KA3005D за 5200 с доставкой из россии ali.pub/3ro9l1
♥ ЛБП для телефонов ali.pub/3roc9o
► Недорогой программатор (TL866II) с колодками: ali.pub/38tnz8
►SVOD 3 программатор универсальный работа с мульт. чтение пост кодов чтение АКБ прошивка матриц тест клавиатур ali.pub/3rx5fg ali.pub/47p41n
Лекция посвящена продвинутым вопросам системного администрирования Linux.
Рассматриваются следующие темы:
— Ядро ОС Linux
— Выделяемые ресурсы ОС
— Виртуальная и резидентная память
— Выделение процессорного времени
— Планировщик задач CFS
— NUMA(Non-Uniform Memory Access)
— Планировщики ввода-вывода (элеваторы)
— CGROUPS — контрольные группы
Хронометраж:
00:00:05 О теме лекции
00:01:27 Ядро ОС: основные функции ядра
00:02:17 Ядро ОС: управление параметрами ядра (общий механизм)
00:02:35 Управление параметрами ядра ОС: интерфейс SYSCTL
00:04:36 Ядро ОС: модульная архитектура
00:06:06 Просмотр загруженных модулей ядра с помощью утилиты LSMOD
00:07:49 Ядро ОС: выделение ресурсов ОС приложению
00:08:11 Вопрос залу: в чем отличия между резидентной и виртуальной памятью?
00:08:42 Вопрос залу: кто из вас программировал на языках с ручным управлением памятью?
00:09:48 Выделяемые ресурсы ОС: виртуальная и резидентная память
00:12:09 Выделяемые ресурсы ОС: процессорное время
00:12:44 Выделяемые ресурсы ОС: ресурсы ввода-вывода, дескрипторы
00:13:36 Виртуальная и резидентная память: пример распределения памяти конкретного процесса
00:15:05 Виртуальная и резидентная память: использование раздела подкачки (swap)
00:16:01 Виртуальная и резидентная память: три стратегии выделения памяти
00:16:14 Стратегии выделения памяти: vm.overcommit_memory = 2
00:17:51 Стратегии выделения памяти: vm.overcommit_memory = 1
00:18:19 Событие OUT OF MEMORY
00:20:44 Стратегии выделения памяти: vm.overcommit_memory = 0
00:22:14 Виртуальная и резидентная память: единицы выделения памяти (страницы)
00:24:26 Виртуальная и резидентная память: HUGE PAGES
00:25:33 Два механизма выделения HUGE PAGES
00:34:52 Сложность решения задачи выделения процессорного времени
00:35:29 Выделение процессорного времени: немного истории
00:36:01 Выделение процессорного времени: кооперативная многозадачность
00:38:12 Выделение процессорного времени: вытесняющая многозадачность
00:39:56 Вытесняющая многозадачность: пример
00:41:22 Алгоритмы выделения процессорного времени в Linux
00:44:08 Два независимых вида приоритетов процессов в Linux
00:46:10 Каким образом работает планировщик задач (CFS)?
00:47:31 CFS: алгоритм управления процессорным временем (SCHED_NORMAL — политика по умолчанию)
00:50:54 CFS: политики планирования задач
00:51:16 Политики планирования задач: SCHED_FIFO
00:53:09 Политики планирования задач: SCHED_RR
00:54:42 Работа с приоритетами: практика, команда NICE
00:57:40 Назначение реалтаймовых приоритетов: команда CHRT
00:59:29 NUMA(Non-Uniform Memory Access)
01:04:00 Работа с NUMA: практический пример
01:06:59 Работа с NUMA: утилита NUMACTL
01:08:54 Вопрос из зала: об архитектурах процессоров
01:11:02 Вопрос из зала: об оптимизации работы приложений с помощью NUMA
01:12:24 Планировщики ввода-вывода (элеваторы)
01:13:51 Планировщики ввода-вывода: NOOP
01:15:41 Планировщики ввода-вывода: CFQ
01:17:14 Планировщики ввода-вывода: DEADLINE
01:18:51 CGROUPS — контрольные группы
01:20:46 Иерархия CGROUPS: пример
01:22:31 CGROUPS: управляемые ресурсы
01:23:46 CGROUPS: пример управления ресурсами
01:26:13 Управление лимитами ввода-вывода
01:27:23 Ответ на вопрос из зала: об основных иерархиях CGROUPS
— О КАНАЛЕ:
Официальный канал образовательных проектов Mail.Ru Group