Курсы системного программирования linux

Содержание
  1. Скачай курс в приложении
  2. О курсе
  3. Для кого этот курс
  4. Администрирование ОС Linux
  5. Кому подойдёт этот курс
  6. Тем, кто интересуется программированием и IT
  7. IT-специалистам
  8. Чему вы научитесь
  9. Устанавливать и настраивать Linux
  10. Работать с командной строкой
  11. Настраивать доступы
  12. Управлять системой
  13. Работать с сетью
  14. Защищать Linux от вредоносных ПО
  15. Как пользоваться платформой
  16. Изучаете тему
  17. Выполняете задания
  18. Работаете с преподавателем
  19. Защищаете дипломный проект
  20. Содержание курса
  21. Структура Linux
  22. Введение в Linux
  23. Первая установка Linux
  24. Структура ОС Linux
  25. Знакомство с терминалом
  26. Устройства в Linux
  27. Диски и файловые системы
  28. Системное администрирование Linux
  29. Основные операции в Bash-терминале. Работа с файлами и каталогами
  30. Привилегии в Linux
  31. Управление доступом
  32. Учётные записи и групповые политики
  33. Управление вводом/выводом. Конвейерная обработка
  34. Управление процессами
  35. Загрузка и конфигурация ядра в Linux
  36. Запуск user space
  37. Управление системой
  38. Логирование и мониторинг
  39. Установка и удаление программ
  40. Механизмы управления безопасностью
  41. Повышение привилегий в Linux
  42. Резервное копирование и восстановление данных
  43. Сетевое администрирование Linux
  44. Вспоминаем основы сетей
  45. Интернет
  46. Маршрутизация
  47. ICMP и DNS
  48. Физический уровень. Ethernet и сетевые интерфейсы
  49. Network Configuration Manager
  50. Localhost
  51. Транспортный уровень
  52. Настраиваем маршрутизацию
  53. Linux Firewall
  54. Беспроводные соединения
  55. Модель клиент-сервер
  56. Сетевые сервисы
  57. HTTP/HTTPS
  58. Inetd and xinetd daemons
  59. Утилиты
  60. Сбор и анализ трафика
  61. Вредоносное ПО
  62. Сетевая безопасность
  63. Дипломный проект
  64. Настройка и администрирование системы Linux и ключевых сервисов
  65. Получить презентацию курса и консультацию специалиста
  66. Операционные системы семейства UNIX. Системное программирование
  67. О курсе
  68. Формат
  69. Информационные ресурсы
  70. Требования
  71. Программа курса
  72. Результаты обучения

Скачай курс
в приложении

О курсе

Операционная система Linux является одной из наиболее распространенных и популярных. Она работает и в серверах и на настольных компьютерах, в различных устройствах (телевизорах, точках доступа, электронных книгах, системах хранения данных. ), а также в мобильных телефонах, планшетах и умных часах, обеспечивая системную основу для Android, Tizen, Sailfish. Кроме того, Linux обладает открытым исходным кодом, что делает ее незаменимой для целей обучения, ведь любой может посмотреть на детали реализации системных механизмов и интерфейсов и повысить свой уровень разбирая конкретные технические решения профессиональных разработчиков. Немаловажной является POSIX-совместимость Linux, что позволяет автоматически распространять умения программировать на другие ОС, например, Mac OS X.

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

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

Для кого этот курс

Интересующиеся программированием, обладающие уверенными навыками работы в Linux в качестве пользователя и знакомые с основами программирования на С/С++

Для комфортного восприятия материала курса, необходимо обладать пониманием того, как работать в Linux на уровне пользователя, а также уверенными навыками программирования на языке С или C++. В этом вам могут помочь онлайн-курсы:

Источник

Администрирование ОС Linux

Вы познакомитесь с ОС Linux и её преимуществами, научитесь работать с командной строкой и управлять сетевыми подключениями. Сможете стать Linux-администратором или использовать эту ОС для защиты своих проектов от вредоносного ПО и хакеров.

  • Длительность 5 месяцев
  • Онлайн в удобное время
  • Обучение на практике
  • Доступ к курсу навсегда

Linux-администратор настраивает права пользователей, обеспечивает бесперебойное соединение с сетью и защищает серверы от вирусов. Всё это специалист делает не вставая с кресла — благодаря возможностям ОС Linux.

Грамотных Linux-администраторов ждут в любой крупной компании, включая Mail.ru, Drom, Яндекс, «Ростелеком» и «Билайн».

сейчас ищут Linux-администраторов

зарплата начинающего специалиста, по данным hh.ru

Кому подойдёт этот курс

Тем, кто интересуется программированием и IT

Изучите UNIX-архитектуру и поймёте, как устроены дистрибутивы Linux. Научитесь управлять доступами, работать с утилитами, файлами и сетью. Сможете начать карьеру в IT без написания кода.

Читайте также:  Hotspot shield windows crack

IT-специалистам

Научитесь использовать Linux для настройки доступов к корпоративным системам и других задач. Сможете обеспечить безопасность сетевых подключений и защитить свои проекты от хакеров и вредоносного ПО.

Чему вы научитесь

Устанавливать и настраивать Linux

Узнаете, как установить дистрибутив, и научитесь работать с каталогом файловой системы Linux.

Работать с командной строкой

Научитесь применять основные команды для управления процессами и системой в Bash-терминале.

Настраивать доступы

Сможете настраивать уровень доступа к системе и привилегии для отдельных пользователей и групп.

Управлять системой

Научитесь запускать фоновые процессы и выполнять задачи в Linux мгновенно или по расписанию.

Работать с сетью

Изучите основы работы сети и маршрутизации. Научитесь мониторить и анализировать трафик, настраивать удалённый доступ и SSH-сервер.

Защищать Linux от вредоносных ПО

Узнаете, какое вредоносное ПО может атаковать Linux. Научитесь проводить аудит системы и настраивать её для безопасной работы в сети.

Как пользоваться платформой

Изучаете тему

В курсе — практические видеоуроки.

Выполняете задания

В том темпе, в котором вам удобно.

Работаете с преподавателем

Закрепляете знания и исправляете ошибки.

Защищаете дипломный проект

И дополняете им своё портфолио.

Содержание курса

Вас ждут онлайн-лекции и практические задания на основе реальных кейсов.

Структура Linux

Введение в Linux

Познакомитесь с операционной системой Linux и областями её применения.

Первая установка Linux

Изучите каталоги файловой системы ОС Linux и виды установок: серверную, десктопную, live. Научитесь устанавливать Linux на виртуальную машину.

Структура ОС Linux

Разберётесь в основах устройства Linux, её файловой системе, процессах и памяти. Узнаете, что такое точка монтирования, ядро Linux, сокеты и пакетный менеджер.

Знакомство с терминалом

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

Устройства в Linux

Научитесь работать с устройствами, которые опознаёт Linux, и монтировать папки.

Диски и файловые системы

Научитесь работать с файловой системой, дисками и разделами. Узнаете, как настроить файл подкачки и смонтировать диск с файловой системой.

Системное администрирование Linux

Основные операции в Bash-терминале. Работа с файлами и каталогами

Узнаете, что такое каталог в Linux. Изучите свойства и атрибуты файла, научитесь работать с символическими ссылками, файлами и каталогами в командной строке.

Привилегии в Linux

Узнаете, что такое привилегии в Linux, и разберётесь в форматах записи прав доступа. Изучите модели разграничения доступа.

Управление доступом

Изучите базовые команды для работы с учётными записями. Поймёте, как администрировать учётные записи пользователей.

Учётные записи и групповые политики

Изучите понятие разграничения доступа в Linux и базовые команды работы с ACL. Научитесь настраивать права доступа для пользователей и групп.

Управление вводом/выводом. Конвейерная обработка

Изучите основные термины и команды для управления вводом/выводом. Научитесь выполнять запись вывода команды в файл, поиск по файлам, перезапись файла и последовательный запуск команд.

Управление процессами

Изучите базовые команды для работы с процессами. Научитесь запускать и останавливать процессы, искать родительские и дочерние процессы, работать с фоновыми процессами и т. д.

Загрузка и конфигурация ядра в Linux

Познакомитесь с базовой архитектурой и устройством ядра Linux. Изучите связь ядра с модулями и другими частями ОС.

Запуск user space

Изучите алгоритмы запуска системы и их разновидности. Познакомитесь с основными понятиями уровней запуска, алгоритмами запуска и их разновидностями, подсистемой Systemd и её аналогами.

Управление системой

Научитесь работать с задачами и расписанием юнитов и модулей. Изучите базовые команды для управления запуском задач по расписанию.

Логирование и мониторинг

Научитесь запускать мониторинг с помощью утилит и находить нужные события в логах системы.

Установка и удаление программ

Узнаете, как настроить репозиторий, а также установить и удалить программу из Linux на примере веб-сервера Apache.

Механизмы управления безопасностью

Изучите основные понятия контроля доступа в DAC. Познакомитесь с популярными утилитами для управления безопасностью. Научитесь создавать нового пользователя и ограничивать его в правах доступа с помощью SELinux.

Повышение привилегий в Linux

Изучите методы повышения привилегии пользователя в Linux. Узнаете, что такое рутинг, SUID, SUDO, cron jobs и контрмеры. Познакомитесь с утилитами для повышения привилегий.

Читайте также:  Как посмотреть ревизию windows 10

Резервное копирование и восстановление данных

Узнаете, что такое резервная копия, зачем она нужна и как с ней работать в Linux. Познакомитесь со сторонними утилитами для резервного копирования. Научитесь восстанавливать систему из бэкапа и автоматизировать резервное копирование.

Сетевое администрирование Linux

Вспоминаем основы сетей

Познакомитесь с сетевыми протоколами и моделью OSI. Узнаете, что такое пакеты, флаги и уровни сети.

Интернет

Узнаете, как работать с маской подсети и определять адрес сети с помощью IP-адреса. Познакомитесь с методом бесклассовой адресации CIDR.

Маршрутизация

Изучите таблицы маршрутизации и узнаете, для чего нужен сетевой шлюз Default gateway.

ICMP и DNS

Научитесь работать с протоколом ICMP, системой DNS и DNS-клиентом Host.

Физический уровень. Ethernet и сетевые интерфейсы

Научитесь работать с сетевым интерфейсом в Linux и настраивать его. Сможете изменять и добавлять сетевые маршруты.

Network Configuration Manager

Узнаете, что такое ncm и чем это ПО отличается от команды ifconfig. Научитесь настраивать сеть с помощью ncm.

Научитесь работать с доменными именами и файлами конфигурации. Сможете настраивать DNS и производить кеширование.

Localhost

Познакомитесь с понятием локального хоста, адреса и возможными конфигурациями Localhost.

Транспортный уровень

Познакомитесь с транспортными протоколами TCP и UDP, портами и сервисами транспортного уровня. Узнаете, как установить TCP- и UDP-соединения.

Узнаете, что такое DHCP- и DHCP-клиент. Поймёте, как получить динамический IP.

Настраиваем маршрутизацию

Познакомитесь с устройством роутера и научитесь настраивать Linux для работы в качестве роутера. Узнаете, что такое приватные сети и трансляция адресов (NAT).

Linux Firewall

Познакомитесь с ПО для контроля сетевой активности Linux Firewall и поймёте, как оно работает. Научитесь настраивать Linux Firewall.

Познакомитесь с протоколом ARP и поймёте, как он работает. Научитесь находить и удалять ARP-кеш.

Беспроводные соединения

Познакомитесь с сетевым интерфейсом Wi-Fi и научитесь настраивать подключение к известной беспроводной сети. Узнаете, как просканировать беспроводную сеть и обеспечить её безопасность.

Модель клиент-сервер

Узнаете, что такое сервер и клиент и какие сервисы работают в рамках клиент-серверной архитектуры.

Сетевые сервисы

Узнаете, что такое веб-сервер и сетевой протокол SSH. Научитесь работать с файловыми хранилищами и сервисами стриминга. Познакомитесь с распространёнными протоколами взаимодействия.

HTTP/HTTPS

Познакомитесь с протоколом HTTP и его расширением HTTPS, GET/POST-запросами и протоколом защиты транспортного уровня TLS.

Научитесь настраивать SSH-сервер и подключение с использованием пароля или ключа.

Inetd and xinetd daemons

Узнаете, что такое daemons и зачем они нужны. Познакомитесь с демоном inetd и его новой версией xinetd. Научитесь настраивать daemons и работать с сетевой системой TCP Wrappers.

Утилиты

Научитесь работать со статистикой соединения и открытыми портами. Узнаете, как провести сканирование удалённой системы и установить лимит соединений.

Сбор и анализ трафика

Узнаете, зачем нужны дампы трафика, что такое pcap и netflow. Научитесь собирать и анализировать трафик.

Вредоносное ПО

Изучите популярные вредоносные ПО, которые угрожают Linux. Научитесь проводить анализ деятельности Linux malware и узнаете, какие контрмеры вы можете предпринять против взлома системы.

Сетевая безопасность

Узнаете, какие угрозы скрывает сеть. Научитесь проводить аудит Linux и настраивать эту ОС для безопасной работы в сети.

Дипломный проект

Настройка и администрирование системы Linux и ключевых сервисов

Обеспечите сетевую коммуникацию между несколькими машинами Linux. Установите и настроите доступы с учётом разграничения прав и привилегий к одному или нескольким сетевым приложениям. Напишете отчёт о проделанной работе с приложением выбранных политик доступа и топологии сети.

Получить презентацию курса и консультацию специалиста

Похоже произошла ошибка. Попробуйте отправить снова или перезагрузите страницу.

Источник

Операционные системы семейства UNIX. Системное программирование

от 9 до 10 часов в неделю

понадобится для освоения

4 зачётных единицы

для зачета в своем вузе

Слушатели познакомятся с программными и структурными компонентами UNIX-подобных операционных систем, а также аппаратом системных вызовов и синтаксисом командного языка программирования, особенностями системного программирования на процедурном и командном языках на разнообразных примерах реализации. Научатся разрабатывать системные и прикладные программные приложения (продукты) с учетом возможностей операционной системы.

Читайте также:  Windows 10 собеседник слышит себя

О курсе

Основной целью освоения дисциплины «Операционные системы семейства UNIX. Системное программирование» является обучение слушателей принципам организации современных вычислительных систем.

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

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

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

Формат

Курс состоит из 16 видеолекций продолжительностью от 45 до 90 минут. Для оценивания знаний, полученных в ходе обучения предусмотрены точки промежуточного контроля и завершающий контроль.

Информационные ресурсы

Для успешного освоения дисциплины слушатель может использовать следующие программные средства: операционные системы FREE BSD, Linux-подобные, Solaris, AIX, MAC или др. UNIX-подобные ОС. Допускается в качестве альтернативы использование виртуальных UNIX/LINUX машин.

Предварительно, перед процессом обучения, предлагается познакомиться с аппаратом системных вызовов и утилитами файловой системы UNIX-подобных ОС.

Базовые учебники

  1. Стивен Р.У., Раго С.А. UNIX. Профессиональное программирование. 3-е издание. – СПб.: Символ-Плюс, 2010 г.
  2. Чан Т. Системное программирование на С++ для UNIX. – Киев: Издательская группа BHV, 1999 г.
  3. Тейнсли Д. Linux и UNIX: программирование в shell. Руководство разработчика. СПб.: БХВ-Петербург, 2004г. (http://litresp.com/kniga/ru/%D0%A2/tejnsli-devid/linux-i-unix-programmirovanie-v-shell-rukovodstvo-razrabotchika дата обращения 20.01.2021)

Основная литература

  1. Моли Б. UNIX/LINUX: Теория и практика программирования. — М: КУДИЦ_ОБРАЗ, 2004 г.
  2. Роббинс А. LINUX: программирование в примерах. – М: КУДИЦ_ОБРАЗ, 2005 г.
  3. Истратов А.Ю. Межпроцессное взаимодействие на уровне «клиент-сервер» в ОС UNIX (Учебное пособие), М.: РГУИТиП, 2006 г.

Дополнительная литература (по необходимости)

Робачевский А., Немнюгин С., Стесик О. Операционная система UNIX. 2-е изд. СПб.: БХВ-Петербург, 2005 г.

Требования

Для освоения курса слушатели должны владеть навыками программирования на языке С/С++, разбираться в компонентах оборудования вычислительной системы и знать основы дискретной математики.

Программа курса

1. Понятие «Операционная система»

2. Процессы и потоки в ОС UNIX

3 Системные вызовы и программы (утилиты) управления процессами в ОС UNIX. Примеры реализаций.

4. Файлы и файловые системы в ОС UNIX

5. Поддержка и реализация файлов в ОС UNIX. Системные вызовы и утилиты для получения информации о файле.

6. Системные вызовы работы с файлами в ОС UNIX. Примеры реализаций.

7. Управление устройствами ввода-вывода (УВВ) в ОС UNIX. Системные вызовы для ввода-вывода информации.

8. Межпроцессный (программный) канал в ОС UNIX. Примеры реализации.

9. Обработка прерываний в ОС UNIX

10. Системные вызовы и программы (утилиты) обработки прерываний в ОС UNIX. Примеры реализаций.

11. Примеры многозадачных процедурно-программных реализаций с обработкой прерываний в ОС UNIX.

12. Распределение и перераспределение оперативной памяти в ОС UNIX. Программные средства и системные вызовы работы с оперативной памятью.

13. Интерпретатор команд shell в ОС UNIX. Функции интерпретатора. Встроенные и внешние команды (утилиты) интерпретатора shell.

14. Понятие shell переменной. Специальные shell переменные. Конструкции командного языка программирования expr, let, test. Примеры реализаций.

15. Конструкции командного языка программирования while, until, for, if, case, trap. Примеры реализаций.

16. Примеры реализаций многозадачных программных приложений в shell.

Результаты обучения

Обладает навыками проектирования системных приложений и организации межпрограммного (межсетевого) обмена информацией.

Решает задачи взаимодействия между процессами ОС и задачи обработки прерываний. Умеет выбирать программные средства (системные вызовы, программные утилиты) для решения поставленной задачи.

Использует программные утилиты и системные вызовы ОС для проверки оборудования вычислительной системы и компонентов ОС.

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

Демонстрирует знания компонент операционной системы.

Умеет объяснить принципы и алгоритмы работы компонент операционной системы и умеет работать в командной строке ОС.

Источник

Оцените статью