Программа «Linux Kernel»



Скачать 36.13 Kb.
Дата07.11.2016
Размер36.13 Kb.
Просмотров221
Скачиваний0
ТипПрограмма
Программа «Linux Kernel»

Общее описание

Linux сегодня - самая популярная операционная система в мире для суперкомпьютеров. Работа большого количества веб серверов в сети Интернет по всему миру и более миллиарда Android устройств осуществляется благодаря Linux. Огромное количество пользователей по всему миру используют GNU/Linux на своих домашних компьютерах. Этот курс позволит сформировать первоначальные знания по работе с ядром Linux. Курс Linux Kernel является важным для начинающих специалистов по низкоуровневому программированию. Участники узнают о принципах программирования на языке С в пространстве ядра, смогут делать свои собственные конфигурации ядра и работать с исходным кодом. Будут раскрыты и более узкие темы, по различным подсистем ядра: Kernel Virtual Memory, Process Management, Linux Scheduler, Kernel Synchronization Primitives, Kernel Time-keeping Architecture, Kernel Memory Management, Process Address Space и прочее.

Для кого рекомендовано обучение: Целевая аудитория - студенты 3-5 курсов технических факультетов. Необходимы знания основ алгоритмики, базовых понятий языка Си, основ аппаратного устройства компьютеров.

Цель программы: формирование базовых навыков низкоуровневого программирования, понимание основ архитектуры современных операционных систем.

Задачи программы:

1. Проявить у обучаемых интерес к системному программированию

2. Укрепить и улучшить знания языков Си, ассемблер

3. Ознакомить обучаемых с общепринятыми практиками программирования



4. Обучить использованию и чтению чужого кода, его анализу

Длительность обучения: 1 лекция в неделю (2 ач). Практика, обсуждения по домашним заданиям - отдельно (предположительно +1 час в неделю) 33ач

Результаты обучения: Получение знаний основ архитектуры ОС linux. Особенности общей архитектуры операционных систем. Основы низкоуровневого программирования. Углубленные знания и понимание языка Си, представление об ассемблере.

План обучения

Тема

Время

Материалы

Комментарий

1. Linux Introduction

4,5 а.ч

Введение в OC Линукс, история, основные концепции, базовые понятия архитектуры




2. Version Control Systems

1,5 а.ч

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

* опционально, при наличии свободных часов

3. Linux Kernel

4,5 а.ч

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




4. Linux memory management

4,5 а.ч

Выделение памяти, разница в использовании памяти между user space и kernel space. Память в ядре. Управление ею.




5. Assembler, CPU Architectures

4,5 а.ч

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

* опционально

6. Debugging techniques

4,5 а.ч

Техники отладки приложений, компонентов в ядре линукс. Отладка драйверов. Отладчики.




7. Dynamic Libraries

4,5 а.ч

Модель динамических библиотек, принципы работы.




8. Networking

4,5 а.ч

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

* в зависимости от наличия базовых знаний по сетевым технологиям



Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал