Одним из главных принципов уникальной «системы Физтеха», заложенной в основу образования в МФТИ, является тщательный отбор одаренных и склонных к творческой работе представителей молодежи. Абитуриентами Физтеха становятся самые талантливые и высокообразованные выпускники школ всей России и десятков стран мира.

Студенческая жизнь в МФТИ насыщенна и разнообразна. Студенты активно совмещают учебную деятельность с занятиями спортом, участием в культурно-массовых мероприятиях, а также их организации. Администрация института всячески поддерживает инициативу и заботится о благополучии студентов. Так, ведется непрерывная работа по расширению студенческого городка и улучшению быта студентов.

Адрес e-mail:

Программа "Инновационный менеджмент"

П Р О Г Р А М М А

курса повышения квалификации

«Сетевое программирование в ОС Linux»

 

                I.      ОБЩИЕ ПОЛОЖЕНИЯ

Настоящая программа разработана в целях повышения квалификации слушателей ЦДПО.

Категория слушателей: данный курс предназначен для пользователей и администраторов компьютеров и компьютерных сетей, а также программистов, желающих получить теоретические знания и практические навыки сетевого программирования в операционной системе Linux/UNIX.

 

              II.      НЕОБХОДИМЫЕ НАВЫКИ

Данный курс предполагает, что слушатель владеет следующими навыками:

Знакомство с архитектурой ОС Linux Знакомство с программным интерфейсом и наличие базовых навыков работы в ОС Linux Знание языка программирования Си Знание английского языка на уровне чтения сообщений операционной системы и справочной информации

 

              III.      ЦЕЛИ КУРСА

Основная цель обучения по данной программе заключается в практическом ознакомлении слушателей со следующими вопросами:

основные теоретические знаниями о концепциях и моделях сетевого программирования практические навыки разработки сетевых программ в ОС Linux

Метод обучения - очный, с временным отрывом от основной работы.

Плановое количество слушателей: 12 человек.

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

 

           IV.      ОРГАНИЗАЦИЯ УЧЕБНОГО ПРОЦЕССА

Обучение слушателей строится по принципу полного цикла, обеспечивающего  законченный учебный процесс по теме курса: «Сетевое программирование в ОС Linux».

В учебном цикле используются учебные подразделения и преподаватели МФТИ, оригинальные учебные материалы и методики преподавания.

Слушатели обеспечиваются комплектом учебно-методических пособий.

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

 

             V.      СТРУКТУРА УЧЕБНОГО ПЛАНА И ПРОГРАММА КУРСА

Курс: «Сетевое программирование в ОС Linux» - 2 рабочих дня (7 академических часов ежедневно - итого 14 часов).

 

В программу курса включены следующие темы:

 

Введение. Общие вопросы организации вычислительных сетей Семейство протоколов TCP/IP Программирование с использованием UDP sockets в модели клиент-сервер Программирование с использованием TCP sockets в модели клиент-сервер Смешанная схема использования системных вызовов для семейства протоколов TCP/IP UNIX Domain sockets Мультиплексирование каналов ввода-вывода Синхронный и асинхронный ввод-вывод

 

 

Формы обучения курса «Сетевое программирование в ОС Linux». Лекции (40%) и практические занятия с оборудованием (60%).

 

______________

__________________________________
Приложение к программе

повышения квалификации

 

«Сетевое программирование в ОС Linux»

 

Распределение учебного времени по темам и видам занятий

Л - лекции, ПЗ - практические занятия, КЗ - контроль знаний

 

N

Наименование

Количество часов

темы

темы

всего

Л

ПЗ

КЗ

1

2

3

4

5

6

1

Введение. Общие вопросы организации вычислительных сетей

Краткая история развития вычислительных сетей. Причины объединения компьютеров в сети. Локальные и глобальные вычислительные сети. Топология сетей. Проблемы именования и разрешения имен. Понятие о DNS. Проблемы и стратегии маршрутизации. Сети коммутации сообщений и пакетов. Стратегии разрешения конфликтов в одном сегменте сети. Надежная и ненадежная связь. Понятие об error control, flow control. Принципы построения сетевого программного обеспечения. Стандарты ISO/OSI. Протоколы и семейства протоколов.

1,5

1,5

0

 

2

Семейство протоколов TCP/IP

Семейство протоколов TCP/IP. Его архитектура. Уровень сетевого интерфейса. Физические сетевые адреса. Уровень Internet. Протоколы IP, ICMP, ARP, RARP. IP адреса сетевых интерфейсов. Транспортный уровень. Протоколы TCP и UDP. Понятие порта. Понятие инкапсуляции. Уровень приложений/программ.

 

1

1

0

 


 

1

2

3

4

5

6

3

Программирование с использованием UDP sockets в модели клиент-сервер

Модель клиент-сервер. Неравноправность процессов в модели клиент-сервер. Программный интерфейс к транспортному уровню. Понятие socket и его программная реализация. Организация связи между процессами с помощью передачи сообщений. Сетевой порядок байт. Функции преобразования сетевого порядка байт htons (), htonl (), ntohs (), ntohl () . Функции преобразования IP адресов inet_ntoa (), inet_aton () . Функция bzero () . Системные вызовы socket (), bind (), sendto (), recvfrom (), close () . Параллельная и последовательная обработка запросов клиента.

2

0,5

1,5

 

4

Программирование с использованием TCP sockets в модели клиент-сервер

Организация связи между процессами сетевых компьютеров с помощью установки соединения. Системные вызовы listen (), accept (), connect (), read (), write () . Параллельная обработка запросов клиента для TCP sockets.

2

0,5

1,5

 

5

Смешанная схема использования системных вызовов для семейства протоколов TCP/IP

Использование системных вызовов connect (), read (), write () для UDP соединения.

0,5

0

0,5

 

6

UNIX Domain sockets

Понятие UNIX Domain sockets. Их применение для связи процессов на одной машине. Использование изученных системных вызовов для организации такой связи.

1

1

0

 


 

1

2

3

4

5

6

7

Мультиплексирование каналов ввода-вывода

Понятие мультиплексирования каналов ввода-вывода. Тип данных fd_set. Макросы для работы с этим типом данных. Системный вызов select () и его использование для мультиплексирования

2

0,5

1,5

 

8

Синхронный и асинхронный ввод-вывод

Синхронные и асинхронные события. Аппарат прерываний. Системные вызовы signal (), kill (), wait () . Понятия группы процессов, сеанса, лидера группы, лидера сеанса, управляющего терминала, текущих и фоновых процессов. Системные вызовы getpgrp (), setpgrp (), getpgid (), setpgid (), getsid (), setsid () . Передача сигналов группе процессов. Системные вызовы с блокировкой и без блокировки. Сигналы SIGIO и SIGHUP применительно к sockets. Использование сигнала SIGIO для организации асинхронного ввода информации.

 

4

1

3

 

ИТОГО по Курсу

14

6

8

0

 

Если вы заметили в тексте ошибку, выделите её и нажмите Ctrl+Enter.

© 2001-2016 Московский физико-технический институт
(государственный университет)

Техподдержка сайта

МФТИ в социальных сетях

soc-vk soc-fb soc-tw soc-li soc-li
Яндекс.Метрика