24 октября 2019 г.

Саповские секретики - VII

Секретик 1.

Транзакция SM50 отображает список рабочих процессов, которые сконфигурированы в текущей SAP инстанции. Количество рабочих процессов разного назначения настраивается через набор SAP параметров вида rdisp/wp_no_*. Нехватка рабочих процессов, в зависимости от типа, приводит к увеличению заданий в очереди ABAP-диспетчера, "зависанию" во время диалоговой работы, задержкам при запуске фоновых заданий и т.п. При чрезмерном количестве рабочих процессов происходит не оптимальное использование ресурсов сервера. Для мониторинга при настройке оптимального количества рабочих процессов инстанции помогут возможности транзакции SM50. На основном экране транзакции на верхней панели есть кнопка "CPU" (рис. 1).

Рис. 1. Начальный экран транзакции SM50.

После нажатия на данную кнопку напротив каждого рабочего процесса появится время, в течении которого соответствующий процесс операционной системы реально использовал ресурсы центрального процессора (рис. 2).


Рис. 2. Отображение реального времени работы рабочего процесса.

Если данное число после 2-4 недель работы инстанции равно 0, значит ABAP-диспетчер ни разу не давал задания данному рабочему процессу. Если вы обнаружили много таких процессов одного типа, то часть из них можно смело удалить. 

Главное не принимайте такое решение на основании короткого времени работы инстанции. Особенно, если у вас есть редкие кратковременные пиковые дни работы системы, а инстанция не пережила такой день после своего старта.

В последних версиях SAP систем, после обновления транзакции SM50, данные временные значения отображаются постоянно.


Секретик 2.

В транзакции SM04 отображается список пользователей, которые выполнили вход в систему на текущей SAP инстанции. Дополнительно, используя данную транзакцию можно проводить мониторинг версии клиентского программного обеспечения SAP GUI, которое использовал пользователь, а так же IP адрес, с которого был выполнен вход в систему. Для этого на панели на основном экране транзакции необходимо войти в настройки варианта просмотра (рис. 3).

Рис. 3. Настройки варианта просмотра экрана в транзакции SM04.

В диалоговом окне добавить поля "Версия GUI" и "IP-адрес" и нажать кнопку "Скопировать" (рис. 4). 

Рис. 4. Настройка видимых полей транзакции SM04.

После этого в соответствующих полях отобразится информация по пользователям, выполнившим вход в систему (рис. 5).

Рис. 5. Информация по версиям SAP GUI и IP-адресам пользователей.

Секретик 3.

Если SAP система работает на операционной системе UNIX-like, Linux в том числе, то будет полезно знать, что у пользователя операционной системы <sid>adm есть ряд настроенных псевдонимов (aliases) для команд. Например,
  • cdexe - переход в директорию с SAP Kernel.
  • cdpro - переход в директорию с профилями SAP.
  • cdDi - переход в директорию текущей инстанции.

Рис. 6. Пример использования alias для пользователя <sid>adm.

Все активные псевдонимы можно посмотреть выполнив команду alias (рис. 7).



Псевдонимы настраиваются в профайлах пользователя операционной системы. Найти их можно набрав команду в домашней директории пользователя:
grep alias .*

Хотите попробовать администрирование SAP системы в операционной системе Linux?
Посмотрите мои новые обучающие пакеты практических заданий.


Предыдущие выпуски:
- Саповские секретики - I,
- Саповские секретики - II,
- Саповские секретики - III,
- Саповские секретики - IV,
- Саповские секретики - V,
- Саповские секретики - VI.


Автор: Шиболов Вячеслав Анатольевич.


2 октября 2019 г.

Когда возникает системный дамп TIME_OUT

Работа пользователей в ABAP-части SAP системы возможна в двух режимах:
  • диалоговый режим,
  • фоновый режим.

Первый режим является основным. В этом случае пользователь работает с системой в интерактивном режиме, вводя информацию в поля транзакций и получая результаты на экране SAP GUI. За обработку запросов от диалоговых пользователей отвечают отдельные процессы SAP инстанции – диалоговые рабочие процессы (DIA).

Второй режим, фоновый (background), служит для запуска долгих тяжелых отчетов или стандартных периодических заданий для обслуживания SAP системы (задания, собирающие различную статистику, проводящие очистку и т.п.). Фоновые задания не требуют постоянного коннекта пользователя с системой посредством SAP GUI, поэтому пользователь может запланировать задание и выйти из системы. Просмотреть результаты работы задания можно после его окончания через систему спула. За выполнение фоновых заданий в системе отвечает другой вид рабочих процессов - фоновые рабочие процессы (тип BTC).

Количество рабочих процессов для диалоговой и фоновой обработки настраивается через следующие SAP параметры:
  • rdisp/wp_no_dia,
  • rdisp/wp_no_btc.

Напоминаю, что про параметры SAP системы у меня уже была серия статей (часть 1, часть 2).

Вышеуказанные параметры являются статическими и считываются системой только при старте ABAP инстанции. Количество рабочих процессов в работающей системе можно просмотреть в транзакции SM50.

Практика показывает, что пользователи не любят запускать фоновые задания, а упрямо предпочитают пользоваться диалоговым режимом работы для всех своих задач и операций. И я так понимаю, что пользователи во всех странах очень похожи, раз в SAP системе был реализован механизм ограничивающий работу в режиме диалога.

Дело в том, что в любой SAP системе количество диалоговых рабочих процессов инстанции всегда меньше количества пользователей. Так же как и в любой операционной системе количество ядер центрального процессора всегда меньше количества работающих процессов. Поэтому, если найдётся группа упорных пользователей, в которой каждый запустит по тяжёлому долгому отчёту (а то и по 2-3), а отчёты займут на длительный промежуток времени большинство диалоговых рабочих процессов, то остальные пользователи будут "курить в сторонке". Для них система перестанет реагировать на любые шаги диалога, даже, если они работают в лёгких, нересурсоёмких транзакциях. Чтобы пресекать такие ситуации у ABAP инстанции есть параметр rdisp/max_wprun_time. Значение параметра - время в секундах. А если после числа добавить букву M или H, то система воспримет значение, как указанное в минутах или часах (рис. 1).

Рис. 1. Параметр инстанции rdisp/max_wprun_time.

Если диалоговый рабочий процесс работает над одним шагом диалога и интервал времени больше, чем значение, указанное в ограничивающем параметре, то система прервёт выполнение данного шага. В этом случае работающая программа останавливается, диалоговый рабочий процесс освобождается, а в системе генерируется ABAP-дамп с именем TIME_OUT. При этом в разделе "Анализ ошибки" будет подсказка с именем вышеуказанного параметра и его текущего значения в системе (рис. 2).

Рис. 2. Пример системного дампа TIME_OUT.

При долгом ожидании рабочим процессом данных от базы данных также произойдёт сброс и дамп. Для того, чтобы избежать этого, необходимо при обновлении данных периодически вставлять в код программы "COMMIT WORK". После каждой такой команды счётчик обнуляется, хотя шаг диалога продолжает работать на том же рабочем процессе.

Данное ограничение по времени работы одного шага диалога в рабочем процессе можно настраивать на разных инстанциях в рамках одной системы по разному. То есть на одной диалоговой инстанции установить значение в "60M", а на второй и все "3H", если этого требует бизнес. Так же стоит отметить, что параметр динамический, а следовательно может быть изменён во время работы системы в любой момент времени без рестарта ABAP инстанции.

Но не смотря на возможность установки высоких значений параметра, делать этого не рекомендуется. Во-первых, в этом случае перестаёт функционировать встроенный механизм и повышается вероятность возникновения проблем другого уровня. Например, можно получить вставшую колом систему, в которую невозможно войти и посмотреть, что с ней происходит.
А во-вторых, это не способ решения проблем с производительностью системы. Имея высокие значения параметра, можно не отследить момент, когда ваша система потребует повышения производительности через апгрейд оборудования и/или проведения оптимизации на программном уровне.

Для ориентира следует брать значение по умолчанию, которое равно 10 минутам ("600"). А дальше уже изменять в зависимости от загруженности системы и решаемых задач.

В системах основанных на SAP NetWeaver 7.40 и выше появилась возможность более глубокой настройки данного ограничения, используя следующие 3 параметра:
  • rdsip/scheduler/prio_high/max_runtime,
  • rdsip/scheduler/prio_normal/max_runtime,
  • rdsip/scheduler/prio_low/max_runtime.

Назначение параметров такое же - задание максимального времени работы диалогового рабочего процесса, обрабатывающего запросы разного приоритета (high, normal, low). 
Причём, параметр rdisp/max_wprun_time в системе остался. И при явной его установке перезаписывает значение выше-указанных трёх параметров. Поэтому его рекомендуется из профайлов удалить, а пользоваться новыми параметрами (рис. 3).

Рис. 3. Новые параметры ограничения максимального времени работы одного шага диалога.

Дополнительную информацию по теме можно найти в SAP note 25528 - Configuration of maximum work process runtime - parameter rdisp/max_wprun_time.


Автор: Шиболов Вячеслав Анатольевич


26 сентября 2019 г.

Видео-лекция Fibre Channel SAN

В посте "Как стать SAP BASIS администратором" я попробовал объединить в одну схему все знания, которые я считаю необходимыми хорошему администратору SAP систем.

Из схемы видно, что разброс знаний для администратора большой. Не все из этих знаний нужны администратору систем SAP на глубоком уровне, но иметь базовые знания в той или иной области нужно. 

Возьмём для примера аппаратное обеспечение. За установку, настройку и поддержку оборудования обычно отвечают отдельные специализированные инженеры-администраторы. Но понимать, как устроено серверное оборудование, как строится всё решение, какие виды коммутации используются, как работают современные системы хранения данных или резервного копирования необходимо и администратору SAP. Не все в своё время получили добротное высшее образование по той специализации, которая на данный момент кормит и поит. Да, и мир информационных технологий не стоит на месте - изменяются скорости, протоколы, решения. Нужно постоянно держать руку на пульсе и наверстывать какие-то вещи отдельно. 

Сегодня хочу поделиться хорошей видео-лекцией про основы построения сетей хранения данных (SAN) на основе протокола Fibre Channel. Лекцию читает инженер компании Brocade Григорий Никонов. Лекция построена вокруг оборудования данной компании, но учитывая, что решения в области SAN от разных компаний идентичны, информацию можно принять как общие знания по данной теме. 

Лекция состоит из двух частей. Язык: русский. Смотрится нормально на скорости х1,25.




Ещё один совет по поводу изучения новых технологий: не изучайте всё подряд, особенно не хватайтесь за то, с чем может быть никогда не столкнётесь. Изучайте со всей тщательностью то, что используется у вас и есть под рукой. Те технологии, решения тех компаний, которые используются у вас на проекте или которые собираются в ближайшее время внедрять. Потому что теория, без закрепления на практике как шапка без головы: слова красивые есть, а понимания и практических навыков нет. А если учесть, что в информационных технологиях редко когда появляются технологии максимально новые, а часто что-то на что-то похоже или является развитием старой технологии. И в будущем, зная досконально старую технологию, легче понять новое. 


Автор: Шиболов Вячеслав Анатольевич


23 сентября 2019 г.

Расширение функциональности транзакции SM04

В статье "Мониторинг рабочих процессов SAP системы" я описывал транзакцию SM50. Данная транзакция используется для мониторинга рабочих процессов ABAP инстанции. Так же в статье упоминалось, что начиная с релиза системы SAP NetWeaver 7.40 SP08, транзакция получила расширенную функциональность и позволяет просматривать рабочие процессы всех инстанций текущей SAP системы. Таким образом, произошла замена функциональности транзакции SM66. При запуске транзакции SM66 в новых релизах SAP систем вызывается транзакция SM50 с расширенным отображением рабочих процессов по всем инстанциям. Запуск старой версии транзакции SM66 возможен через код транзакции SM66_OLD. И в прошлом посте я объяснил, чем она может быть интересна и полезна. 

Теперь хочу рассказать о том, что такие же изменения произошли и в паре транзакций SM04 - AL08. Первая транзакция (SM04) служит для просмотра списка пользователей, выполнивших вход в текущую ABAP инстанцию. В транзакции можно просмотреть список открытых режимов каждого пользователя. Можно закрыть режим пользователя или все режимы, принудительно выбросив пользователя из SAP системы. Это бывает необходимо, например, перед ручным удалением блокировок из таблицы блокировок SAP, о чём я писал тут. Также в транзакции можно просмотреть количество памяти SAP системы выделенной пользователю. Начальный экран транзакции знаком всем тем, кто в той или иной степени приобщён к делу администрирования SAP системы (рис. 1).

Рис. 1. Список пользователей, выполнивших вход в ABAP инстанцию.

Как вы знаете, SAP система поддерживает горизонтальное масштабирование. Производительность уровня сервера приложений SAP может быть увеличена через установку дополнительных диалоговых инстанций, или как их сейчас называют Additional Application Server (AAS). В этом случае для просмотра пользователей, выполнивших вход во все ABAP инстанции текущей SAP системы, необходимо пользоваться транзакцией AL08 (рис. 2).

Рис. 2. Просмотр пользователей по всей системе в транзакции AL08.

В новых версиях SAP систем, основанных на SAP NetWeaver 7.40 SP08 и выше, ситуация немного изменилась. В транзакции SM04 появилась возможность перейти в режим просмотра пользователей по всей системе. Для этого необходимо перейти в пункт меню "Перейти к -> Список по всем системам" (рис. 3).

Рис. 3. Переход к просмотру пользователей по всем инстанциям в транзакции SM04.

После этого в списке появятся пользователи других ABAP инстанций, а в таблицу добавится столбец с именами инстанций серверов приложений (рис. 4).

Рис. 4. Просмотр пользователей по всем инстанциям в транзакции SM04.

И именно этот экран отображается в свежих релизах SAP систем при вызове кода транзакции AL08. 

Для вызова же старой версии транзакции AL08 служит отдельная транзакция - AL08_OLD. 
Кто-то может быть к ней очень сильно привык. :) 

Отличается она от новой версии, например, тем, что список всех инстанций системы с распределением пользователей по ним отображается сразу в верхней части экрана транзакции (рис. 5). Но каких-то функциональных особых "фишек" я в ней не знаю.

Рис. 5. Отображение ABAP инстанций SAP системы и пользователей в них в транзакции AL08_OLD.

Официально об этом в SAP note 2445935 - AL08 new layout as of EHP7.




16 сентября 2019 г.

Развитие SAP NetWeaver. Структура директорий

SAP NetWeaver 7.0 - SAP NetWeaver 7.0 EHP3

Начиная с первых версий SAP NetWeaver 7.0 (первоначальное название версии 2004s), компания SAP для систем, работающих на Unix-like операционных системах, внедрила новую структуру директорий и файловых систем (рис. 1).

Рис. 1. Структура директорий для систем на базе SAP NetWeaver 7.0.

Файловых систем, монтирование которых необходимо выполнить при подготовке операционной системы к установке SAP системы, только две:
  • /sapmnt
  • /usr/sap

Первая файловая система является хранилищем общих файлов для всех инстанций SAP системы:
  • общие файлы, например, журналы фоновых процессов (директория global), 
  • файлы профилей (директория profile), 
  • ядро SAP системы (директория exe).

Вторая файловая система содержит отдельную директорию для транспортной системы (trans), общую логическую директорию (SYS) и директории для каждой инстанции SAP системы:
  • DVEBMGS<No> - директория для центральной инстанции (CI),
  • D<No> - директория для дополнительной инстанции (DI),
  • ASCS<No> - директория для инстанции центральных сервисов,
  • ERS<No> - директория для Enqueue Replication Server (ERS) инстанции, используемой в отказоустойчивых инсталляциях.

Здесь <No> - номер инстанции, который используется в нумерации портов для доступа к процессам инстанции.
По умолчанию эти директории не создаются. Директория инстанции будет присутствовать в структуре, только если данная инстанция была установлена. 

Вернёмся к директории /usr/sap/<SAPSID>/SYS. Данная директория является в большей степени логической структурой, так как содержит ссылки на реальные директории файловой системы /sapmnt. То есть директории global, profile, run это символьные ссылки на физические директории в другой файловой системе (фиолетовые пунктирные линии на рисунке). На центральную логическую директорию с ядром SAP (/usr/sap/<SAPSID>/SYS/exe/run) указывает параметр SAP системы с именем DIR_CT_RUN. Данная директория является лишь хранилищем для исполняемых файлов ядра, запуска процессов из неё не происходит. Для каждой инстанции системы есть собственная директория с исполняемыми файлами ядра SAP. Например, для центральной инстанции это директория - /usr/sap/<SAPSID>/DVEBMGS<No>/exe. И на эту директорию указывает уже другой параметр - DIR_EXECUTABLE. Вот эти файлы и создают рабочие процессы текущей инстанции.

Зачем же нужно центральное хранилище SAP ядра? Для упрощения поддержки и обновления. Дело в том, что при старте каждой инстанции SAP системы в первую очередь запускается процесс sapcpe, который актуализирует локальные файлы ядра из центрального хранилища. Таким образом, при обновлении SAP ядра системы достаточно только сменить файлы в центральном хранилище (/sapmnt/<SAPSID>/exe), а остальную работу за вас выполнит программа sapcpe. При работы программы создаётся журнал sapcpe.log, который можно найти в локальных work-директориях инстанций. Процесс актуализации ядра SAP инстанций на рисунке 1 отображён пунктирными стрелками черного цвета.


SAP NetWeaver 7.10 - SAP NetWeaver 7.40

Начиная с версии SAP NetWeaver 7.10, структура директорий изменилась. Основная цель изменений - упрощение поддержки гетерогенных установок, когда в системе используются SAP ядра для различных платформ (рис. 2).

Рис. 2. Структура директория для систем на базе SAP NetWeaver 7.10.

Изменения коснулись лишь директории с SAP ядром. В ней появились следующие поддиректории:
  • jvm - содержит файлы виртуальной машины JAVA от SAP (используется с 2011 года),
  • uc/<platform> - содержит исполняемые файлы для Unicode ядра конкретной платформы (например, linuxx86_64),
  • nuc/<platform> - содержит исполняемые файлы для Non-Unicode ядра конкретной платформы.

Количество символических ссылок из директории /usr/sap/<SAPSID>/SYS тоже увеличилось. Концепция при этом осталась прежней: центральное хранилище исполняемых файлов в файловой системе - /sapmnt, а /usr/sap/<SAPSID>/SYS лишь логическая структура с ссылками.

В SAP note # 1104735 - Upgrade to the new instance-specific directory on UNIX описана процедура перевода системы на новую структура директорий при обновлении с ранних версий SAP NetWeaver.



SAP NetWeaver 7.5

Здесь нововведений не так много. Если вы читали пост "Развитие SAP NetWeaver. ASCS инстанция", то помните, что c версии SAP NetWeaver 7.3 произошло переименование инстанций. Это и отразилось в структуре директорий, начиная с версии SAP NetWeaver 7.5 (рис. 3).

Рис. 3. Структура директорий для систем на базе SAP NetWeaver 7.50.

Теперь директории D<No> могут содержать файлы или Primary Application Server (PAS) или Additional Application Server (AAS).

Реальный пример структуры директорий на системе SAP ERP 6.0 EHP8 (основана на SAP NetWeaver 7.50) можно посмотреть на рисунке 4.

Рис. 4. Пример структуры директорий на системе SAP ERP 6.08.


Предыдущие статьи рубрики:
- "Развитие SAP NetWeaver. ASCS инстанция".
- "Развитие SAP NetWeaver. Start profile".
- "Развитие SAP NetWeaver. Мандант 066".


Автор: Шиболов Вячеслав Анатольевич

9 сентября 2019 г.

Блокировка объектов SAP репозитория в транспортных запросах

При внедрении своих систем компания SAP рекомендует использовать трёхсистемный ландшафт, в который обычно объединены:
  • система разработки и настройки (DEV),
  • система тестирования или контроля качества (QAS),
  • продуктивная система или система промышленной эксплуатации (PRD).

Разработка новых решений и корректировки ошибок выполняются в первой системе. В тестовой системе производится тестирование изменений на продуктивном объеме данных. И в итоге, протестированное решение переносится в систему промышленной эксплуатации, где с ним сталкиваются конечные пользователи. Все эти системы объединяются в единый ландшафт с помощью транспортный системы, а изменения переносятся между системами с помощью транспортных запросов. Обо всём этом можно прочитать в этом или этом постах.

Родоначальницей транспортных запросов в ландшафте является система разработки и настройки. Когда разработчик изменяет или создаёт новый объект SAP репозитория (например, программу или функциональный модуль), то для объекта автоматически создаётся транспортный запрос с типом "запрос инструментальных средств" (Worbench request). Так как разработчиков, работающих в системе, обычно больше одного, то для сохранения целостности и безопасности необходим механизм, гарантирующий, что с одним объектом репозиториия одновременно может работать только один разработчик. И до тех пор, пока он не закончит разработку-изменение и не деблокирует запрос (released), объекты привязанные к запросу будут не доступны для изменения со стороны других разработчиков. 

На уровне SAP системы (сервера приложений ABAP) этот механизм реализован с помощью двух таблиц:
  • E071 - хранит записи всех объектов в запросах/задачах,
  • TLOCK - таблица блокировок объектов в открытых запросах.

Таким образом, пока запрос открыт, его объекты должны присутствовать в таблице TLOCK. При попытке других разработчиков (отличных от владельца запроса)  внести изменения в объект репозитория, система проверяет записи в таблице TLOCK. Если запись с объектом есть, то разработчик получает отказ на изменение объекта.

В посте "Использование транзакции SE03 для поиска запросов/задач" (рис. 7) я описывал возможность снять блокировку с объекта транспортного запроса. При использовании этой функции как раз и происходит удаление соответствующей строки из таблицы TLOCK.

Стоит отметить, что при нормальном функционировании транспортной системы записи таблицы с блокировками удаляются при деблокировании запроса. Так как в этот момент текущая версия объекта экспортируется в физические файлы транспортного запроса и возможна разработка новой версии.

Иногда в работе данного механизма SAP системы происходит сбой. В результате чего объект SAP репозитория может быть блокирован ошибочно (остались строки в таблице TLOCK) или не блокирован вовсе (нет записей в таблице TLOCK). Второе возможно при использовании вышеуказанного функционала транзакции SE03.

Для отслеживания соответствия объектов в транспортных запросах и их блокировок в SAP системе существует ABAP-программа RDDIT049. У программы нет привязанной транзакции, поэтому запуск осуществляется через транзакцию SE38 (рис. 1).

Рис. 1. Запуск программы RDDIT049.

На начальном экране программы необходимо галочками выбрать необходимые проверки и нажать на панели кнопку "Выполнить" (F8) (рис. 2).

Рис. 2. Запуск проверок блокировок в транспортных запросах.

Первая проверка проверяет все ли блокировки в таблице TLOCK принадлежат открытым запросам. А вторая часть - проверяет все ли блокировки корректны. Результат проверок выводится на экран (рис. 3).

Рис. 3. Результаты проверок.

Текущие блокировки можно просмотреть, просто щелкнув дважды левой клавишей мыши на строку с объектами на экране с результатами.

Если вы столкнётесь с ситуацией, когда транспортная система ругается на блокировки объектов, а открытых запросов с данными объектами в системе нет, то теперь вы знаете где искать корни проблемы и как её исправить.


Автор: Шиболов Вячеслав Анатольевич


1 сентября 2019 г.

Полезные видео-лекции к дню знаний

Раз уж сегодня такой день, поделюсь своими находками среди бесплатных видео-лекций.

Академия Яндекса

Первый проект, на который я наткнулся, это видео-лекции "Академии Яндекса". В своё время у них был проект Яндекс.Кит - расшифровывается как "Курсы информационных технологий" (не путать с мобильной операционной системой с идентичным названием). В рамках этих курсов набирали слушателей на лекции по различным направлениям, в том числе и по администрированию операционных систем. Причём, на сколько я понял, обучение проходит в вечернее время и на бесплатной основе. Яндекс после этого из этих групп набирает людей к себе на стажировку, высеивая таким образом наиболее интересных будущих сотрудников. В рамках данного направления курсы последний раз проводились в 2014 году, сейчас у них упор больше на разработчиков. Наверное, администраторов набрали достаточно. :)

Данный курс хорош тем, что курировал его и читал Виктор Ашик. Я уже в свое время натыкался в сети на его видео. Человек очень увлечен концепцией Unix/Linux, знает как глубокие основы, так и много нюансов работы с Linux. Люблю слушать увлечённых своей работой людей.

Рис. 1. Виктор Ашик.



Курс состоит из 7 лекций, записанных в 2011 году. Плейлист из всех 7-ми лекций доступен по ссылке.


Лекториум

Еще один просветительский проект в сети Интернет - Лекториум. На портале есть онлайн-курсы и медиатека с записями уже проведенных курсов. Вот в записях я и обнаружил курс "Архитектура ЭВМ и основы ОС". Читают курс на пару Кирилл и Михаил Кринкины (как я подозреваю, отец и сын).

Рис. 2. Кирилл Кринкин и Михаил Кринкин.

Курс ориентирован на будущих системных программистов, но из 12-ти лекций, только пара была не так интересна и близка мне, как системному администратору. Это там где много про ассемблер, который я с института "не брал в руки". Остальные лекции прекрасны.


Курс из 12 лекции выложен на YouTube, дата записи 2014 год. Весь плейлист можно получить по этой ссылке. 

Понравилась манера и наглядность изложения материала. Сразу видно, что лектор в теме. Строгой привязки к конкретной операционной системы нет, но периодически автор соскальзывает на нюансы Linux или Windows.


Кому это будет интересно? Прежде всего начинающим специалистам, погружающимся в секреты компьютерных технологий и операционных систем. Отличные лекции по базовым и, часто, практическим вещам. Опытным будет полезно просмотреть в "свободное время". Я начал и так увлёкся, что никаких сериалов не надо. :) 

Полезный совет: лекции легко смотрятся на скорости 1,5х от базовой, а Кирилла Кринкина даже на 2х легко можно понять.