Лекция 12 | Курс: Архитектура ЭВМ и основы ОС | Лектор: Кирилл Кринкин | Организатор: Computer Science Center
Смотрите это видео на Лекториуме: lektorium.tv/lecture/15109
Многие начинающие изучать архитектуру компьютера сталкивались с тем, что описание опирается на различные понятия, суть которых не до конца раскрывается, поскольку считается, что они достаточно очевидны. В этой лекции Кирилл Кринкин систематизирует все что нужно для успешного изучения Архитектуры ЭВМ: как работают простые электрические схемы, транзисторы, лампы и реле; как кодируются нули и единицы и многое другое. Прослушав эту лекцию можно смело приступать к серьезным курсам и книгам.
Пока я буду рассказывать и давать инструкции, вы будете на собственном опыте испытывать инструмент извлечения ресурсов там, где, казалось бы, зияет пустота невозможного.
Мы будем говорить о творчестве как сплаве намерения и технических приемов.
Мы будем говорить о мышлении – второй производной опыта.
Мы будем рисовать особым способом – методом нейрографики.
…
Описание лекции:
Лекция посвящена управлению системой и установленным в ней ПО, служебным средствам запуска приложений.
Из этой лекции вы узнаете, как управлять пакетами приложений в вашей Linux-системе с помощью инструментов управления пакетами RPM и YUM. Вы научитесь: инсталлировать, переустанавливать, обновлять и удалять пакеты с помощью RPM и YUM.
Так же вы познакомитесь с системой инициализации в Linux, которая запускает все остальные процессы — классический init и в конце лекции немного об основах конфигурации сетевых интерфейсов.
КРАТКОЕ СОДЕРЖАНИЕ:
00:00:13 Тема лекции
00:00:41 Экскурс в историю управления ПО в Linux
00:02:39 Менеджер пакетов RPM
00:05:16 Основные методы работы с RPM
00:09:29 Преимущества использования RPM, особенности установки пакетов
00:17:05 Скрипты RPM
00:18:27 Менеджер пакетов YUM
00:21:16 Добавление репозиториев YUM
00:24:35 Репозиторий epel
00:27:46 Основные методы работы с YUM
00:30:51 Одно из преимуществ дистрибутивов Red Hat Enterprise Linux
00:31:28 Работа с группами в YUM
00:33:26 Самостоятельная сборка пакетов, минимальный spec-файл
00:37:22 Сборка тестового пакета, разновидности пакетов
00:41:39 Что происходит при установке, обновлении или удалении пакета? Работа скриптов
00:47:12 Сборка Source RPM
01:03:09 Вопрос залу: насколько понятен вам излагаемый материал?
01:06:23 Вопрос из зала: про Source-файлы. Алгоритм сборки
01:09:07 Вопрос залу: что еще вызывает затруднения для применения излагаемого материала на практике?
01:09:58 Автоматизация процесса сборки
01:11:59 Вопрос из зала: про dependencies
01:14:59 Вопрос из зала: когда происходит проверка файлов, указанных в секции files?
01:16:59 Закрепление пройденного материала
01:27:46 Система инициализации в Linux, которая запускает все остальные процессы — классический init
01:30:17 Основные концепции классического init
01:32:53 Откуда init знает как ему запустить тот или иной демон (daemon)?
01:39:04 О работе в командной строке, ответы на вопросы из зала по пройденному материалу
01:41:30 Системный менеджер SYSTEMD
01:45:48 Пример работы с типичным unit
01:47:43 Как происходит запуск демонов (daemons) в Linux?
01:52:42 Закрепление пройденного материала
02:01:06 Пример unit-файла
02:03:24 Основные типы Unit-ов
02:08:12 Запуск задач по расписанию — Cron
02:15:10 Cron: Отправление писем пользователю
02:17:29 Системный логгер
02:21:55 Удаленная отправка логов
02:24:33 Отправка данных в syslog
02:27:26 Ротация логов, Logrotate
02:31:53 Основы конфигурации сетевых интерфейсов
— О КАНАЛЕ:
Официальный канал образовательных проектов Mail.Ru Group
КРАТКОЕ СОДЕРЖАНИЕ:
— Лекция посвящена сетевым технологиям без привязки к какой либо операционной системе.
Модель OSI, Ethernet, ARP, сетевые протоколы передачи данных (IPv4, IPv6), UDP, TCP, NAT, DNS, NTP, HTTP, SSL.
00:00:05 Пару слов о домашнем задании
00:04:03 Вопрос из зала: как посмотреть существует сущность или не существует? — getent
00:05:06 Вопрос из зала: как в скрипте разбираются аргументы командной строки? — bash
00:06:52 Вопрос из зала: как указать путь к файлу так чтобы этот файл лежал рядом с этим скриптом? — bash
00:08:08 Вопрос из зала: как проверять корректность ввода данных и стоит ли проверять? — bash
00:10:42 О теме лекции
00:11:10 Сетевой стек (модель OSI)
00:12:18 Уровни протоколов в модели OSI
00:12:39 Физический уровень (Physical)
00:13:41 Канальный уровень (Data-Link)
00:14:55 Технология Ethernet
00:16:23 ARP — протокол разрешения адресов
00:17:50 Обмен ARP пакетами (пример)
00:19:26 Недостатки ARP
00:20:29 Сетевой уровень (Network) — Протокол IPv4
00:23:22 Еще об одном недостатке ARP
00:24:29 Как устроен маршрутизатор?
00:26:00 Как устроен пакет IPv4?
00:28:11 Поле TTL. Почему не разрешить пакетам жить вечно?
00:29:28 Трассировка (утилита traceroute)
00:31:03 Другие поля пакета IPv4
00:31:49 Система адресации протокола IPv4, сети, подсети
00:39:54 Пример адресации сети
00:41:33 ICMP — протокол передачи служебных сообщений
00:44:06 Мультикаст в IPv4
00:48:51 Недостатки мультикаста
00:49:54 Протокол IPv6
00:57:48 Как устроен пакет IPv6? Заголовок IPv6
00:59:48 Транспортный уровень (Transport) — Протокол UDP
01:02:19 Протокол TCP, устройство пакета TCP
01:04:40 Как работает TCP? TCP-соединение
01:07:51 Как это выглядит на практике? Утилита tcpdump
01:12:31 Понятие TCP-окна, TCP congestion control (контроль переполнения TCP)
01:19:11 NAT (Network Address Translation)
01:23:16 Протоколы уровня приложения, DNS
01:27:01 Как происходит resolving доменного имени?
01:33:16 Какие данные хранятся в DNS?
01:34:40 Политики домена, для чего они нужны?
01:37:48 Система отправки почты, запись MX
01:39:54 Запись TXT
01:42:12 Система обратных зон DNS
01:46:44 Как выглядит resolving обратной записи?
01:49:07 NTP — протокол синхронизации времени
01:51:34 Как работает NTP? ntpd
01:53:42 Протокол HTTP
01:56:55 URL (Uniform Resource Locator)
02:00:06 Как выглядит HTTP-запрос? Виды HTTP-запросов: GET
02:03:05 Коды ответа HTTP (успешные запросы)
02:10:04 Коды ответа HTTP (ошибки)
02:13:14 Зачем в каждом HTTP-запросе передается заголовок HOST?
02:15:45 Протоколы симметричного и асимметричного шифрования, протокол SSL, сертификаты
02:21:23 Пример подключения по протоколу SSL, цепочка сертификатов
— О КАНАЛЕ:
Официальный канал образовательных проектов Mail.Ru Group
Представители компании провели серию открытых лекций в Университете Иннополис:
Василий Воробушков (Вычислительные средства на базе микропроцессоров «Эльбрус»)
Мурад Нейман-заде (Архитектура микропроцессора «Эльбрус» и реализованные в ней технологии; система программирования)
Антон Аникин (Дистрибутив ОС «Эльбрус»)
Евгений Кравцунов (Ядро операционной системы «Эльбрус», опыт внедрения платформ Эльбрус во встраиваемых системах)
АО «МЦСТ» — российская компания, основанная в 1992 г., специализирующаяся на разработке универсальных микропроцессоров, микроконтроллеров и управляющих вычислительных комплексов. Имеет опыт разработки супер-ЭВМ «Эльбрус».
Представители компании провели серию открытых лекций в Университете Иннополис:
Василий Воробушков (Вычислительные средства на базе микропроцессоров «Эльбрус»)
Мурад Нейман-заде (Архитектура микропроцессора «Эльбрус» и реализованные в ней технологии; система программирования)
12:15 — 12:50 Антон Аникин (Дистрибутив ОС «Эльбрус»)
Евгений Кравцунов (Ядро операционной системы «Эльбрус», опыт внедрения платформ Эльбрус во встраиваемых системах)
АО «МЦСТ» — российская компания, основанная в 1992 г., специализирующаяся на разработке универсальных микропроцессоров, микроконтроллеров и управляющих вычислительных комплексов. Имеет опыт разработки супер-ЭВМ «Эльбрус».
Практическая лекция Дмитрия Подлесных, старшего преподавателя МФТИ, по теме «Архитектура процессора Эльбрус» на мероприятии «Летняя школа CTF-2018» (https://www.letoctf.org/).
На лекции рассматривается задача реверс-инжиниринга процессора Эльбрус через анализ его ассемблерного кода, получаемого из тестовой программы на Си.
Лекция проводится для студентов, обучающихся по специальности «информационная безопасность» и школьников, которые в будущем хотят связать свою профессию с защитой информации.
Вычислительная платформа «Эльбрус» и её практическое применение (SECR-2018)
* Михаил Шигорин
* Константин Трушкин
— Целью доклада является знакомство широкого круга прикладных разработчиков с возможностями отечественной вычислительной платформы «Эльбрус».
В последние годы по новостям в прессе можно наблюдать бурное развитие российских вычислительных платформ, в особенности платформы «Эльбрус». Заказчики, особенно из госсектора, начинают интересоваться российской вычислительной техникой. Однако подробной технической и практической информации, позволяющей оценить применимость платформы «Эльбрус» в проектах, явно недостаточно. Что имеется из ПО, из средств разработки, какие аппаратные конфигурации доступны и проверены, и в целом – что ожидает тех смельчаков, которые возьмутся за реальное внедрение «Эльбрусов»?
В докладе будет разобрано текущее состояние аппаратной платформы, базовой системы программирования (оптимизирующий компилятор lcc разработчиками «Эльбруса» рассматривается по сути как часть платформы), средств разработки более высокого уровня и уже портированных стеков программного обеспечения. Будет рассказано, каков выбор ОС для платформы «Эльбрус» (основанных на Linux и других); каковы результаты применения наиболее значимых программных пакетов.
Конечно, как у многих новых платформ, имеются потенциальные сложности — недостаточная физическая доступность аппаратуры и её эмуляторов; специфика компилятора (впрочем, не слишком отличающаяся от таковой icc или clang); недоступность ряда привычных ОС (Windows/OSX/iOS в нативных кодах, Android), программных стеков (.NET, Go, Rust) и средств (Docker, Valgrind); наконец, непривычная архитектура процессора – VLIW – и как следствие иная организация исходного кода, предпочтительная для достижения высокой производительности. Однако против каждой такой сложности есть рецепт преодоления или рекомендуемый альтернативный подход.
Тем, кто готов самостоятельно собирать пакеты из исходных кодов, можно предложить варианты сред сборки и рекомендации по портированию архитектурнозависимых фрагментов кода. А если исходники недоступны либо нет соответствующего компилятора (как в случае go), тоже есть выход: на платформе «Эльбрус» есть замечательный инструмент – оптимизирующий двоичный транслятор. Он позволяет запустить на «Эльбрусе» двоичные коды в системе команд х86/х86-64: целиком гостевую операционную систему или userspace-стек в среде Linux.
Комбинируя эти инструменты и рекомендации, можно строить крупномасштабные проекты: имеется пример полнофункционального ЦОД, целиком построенного на платформе «Эльбрус».
Кроме обзора текущего состояния будет рассказ и о планах по развитию программной и аппаратной составляющих вычислительной платформы «Эльбрус».