Thank you for sending your enquiry! One of our team member will contact you shortly.
Thank you for sending your booking! One of our team member will contact you shortly.
План на курса
Въведение
- Цели
- Кой си ти
- Фондация Linux.
- Linux Основно обучение
- Програми за сертифициране и цифрови значки
- Linux Разпределения
- Платформи
- Подготовка на вашата система
- Използване и изтегляне на виртуална машина
- Нещата се променят в Linux
Предварителни
- Процедури
- Стандарти и LSB
Как да работите в OSS проекти **
- Преглед на това как да допринасяте правилно
- Стойте близо до Mainline за сигурност и качество
- Проучете и разберете ДНК на проекта
- Разберете какво сърбите искате да Scratch
- Идентифицирайте поддържащите и техните работни потоци и методи
- Получете ранна информация и работете на открито
- Допринасяйте с нарастващи битове, а не с големи изхвърляния на код
- Оставете егото си пред вратата: не бъдете тънкокожи
- Бъдете търпеливи, развивайте дългосрочни взаимоотношения, бъдете полезни
Компилатори
- GCC
- Други компилатори
- Основни опции на gcc
- Препроцесор
- Интегрирани среди за разработка (IDE)
- лаборатории
библиотеки
- Статични библиотеки
- Споделени библиотеки
- Свързване към библиотеки
- Зареждащ механизъм за динамично свързване
- лаборатории
направи
- Използване на make и Makefiles
- Изграждане на големи проекти
- По-сложни правила
- Вградени правила
- лаборатории
Контрол на източника
- Контрол на източника
- RCS и CVS
- Подривна дейност
- git
- лаборатории
Отстраняване на грешки и Core Dumps
- gdb
- Какво представляват основните дъмп файлове?
- Създаване на Core Dumps
- Проучване на Core Dumps
- лаборатории
Инструменти за отстраняване на грешки
- Получаване на време
- Профилиране и производителност
- valgrind
- лаборатории
Системни повиквания
- Системни извиквания срещу библиотечни функции
- Как се правят системни повиквания
- Върнати стойности и номера на грешки
- лаборатории
Памет Management и разпределение
- Памет Management
- Динамично разпределение
- Настройка на malloc()
- Заключване на страници
- лаборатории
Файлове и файлови системи в Linux **
- Файлове, директории и устройства
- Виртуалната файлова система
- Файловата система ext2/ext3
- Журналиране на файлови системи
- Файловата система ext4/
- лаборатории
Файл I/O
- UNIX файлов I/O
- Отваряне и затваряне
- Четене, писане и търсене
- Позиционен и векторен I/O
- Стандартна I/O библиотека
- Поддръжка на големи файлове (LFS)
- лаборатории
Разширени файлови операции
- Стат функции
- Функции на директорията
- inotify
- Картографиране на паметта
- flock() и fcntl()
- Създаване на временни файлове
- Други системни повиквания
- лаборатории
Процеси I
- Какво е процес?
- Граници на процеса
- Групи процеси
- Файловата система proc
- InterProcess Communication Методи
- лаборатории
Процеси II
- Използване на system() за създаване на процес
- Използване на fork() за създаване на процес
- Използване на exec() за създаване на процес
- Използване на clone()
- Излизане
- Конструктори и деструктори
- Очакване
- Демон процеси
- лаборатории
Тръби и Fifos
- Тръби и InterProcess Communication
- popen() и pclose()
- тръба()
- Именувани канали (FIFO)
- splice(), vmsplice() и tee()
- лаборатории
Асинхронен I/O**
- Какво е асинхронен I/O?
- POSIX Asynchronous I/O API
- Linux Изпълнение
- лаборатории
Сигнали I
- Какво представляват сигналите?
- Налични сигнали
- Изпращане на сигнали
- Аларми, пауза и заспиване
- Настройване на обработка на сигнали
- Комплекти сигнали
- sigaction()
- лаборатории
Сигнали II
- Повторно влизане и манипулатори на сигнали
- Прескачащи и нелокални връщания
- siginfo и sigqueue()
- Сигнали в реално време
- лаборатории
POSIX нишки I
- Многопоточност под Linux
- Основна структура на програмата
- Създаване и унищожаване на нишки
- Сигнали и нишки
- Forking срещу Threading
- лаборатории
POSIX нишки II
- Безизходици и състезателни условия
- Мутекс операции
- Семафори
- Фютекс
- Условни операции
- лаборатории
Networking и гнезда
- Networking Слоеве
- Какво представляват сокетите?
- Поточни сокети
- Дейтаграмни сокети
- Сурови сокети
- Подреждане на байтове
- лаборатории
Адреси и хостове на сокети
- Адресни структури на сокет
- Преобразуване на IP адреси
- Информация за хоста
- лаборатории
Портове и протоколи за сокети
- Информация за сервизен порт
- Информация за протокола
- лаборатории
Клиенти на сокети
- Основна клиентска последователност
- гнездо ()
- свързвам ()
- close() и shutdown()
- UNIX клиент
- Интернет клиент
- лаборатории
Сървъри за сокети
- Основна сървърна последователност
- свързване ()
- слушам()
- приемам ()
- UNIX сървър
- Интернет сървър
- лаборатории
Операции за вход/изход на сокети
- пиша(), чета()
- изпрати (), recv ()
- sendto(), recvfrom()
- sendmsg(), recvmsg()
- изпрати файл ()
- socketpair()
- лаборатории
Опции за гнезда
- Получаване и настройка на опциите на сокета
- fcntl()
- ioctl()
- getsockopt() и setsockopt()
- лаборатории
Netlink гнезда**
- Какво представляват netlink сокетите?
- Отваряне на netlink Socket
- netlink Съобщения
- лаборатории
Мултиплексиране на сокети и едновременни сървъри
- Мултиплексиран и асинхронен I/O сокет
- изберете ()
- анкета()
- pselect() и ppoll()
- epoll
- Задвижвани от сигнали и асинхронни I/O
- Едновременни сървъри
- лаборатории
Междупроцес Communication
- Методи на IPC
- POSIX IPC
- System V IPC**
- лаборатории
Споделена памет
- Какво е споделена памет?
- POSIX споделена памет
- Споделена памет на System V**
- лаборатории
Семафори
- Какво е семафор?
- POSIX семафори
- Семафори на System V**
- лаборатории
Опашки за съобщения
- Какво представляват опашките за съобщения?
- POSIX опашки от съобщения
- Опашки от съобщения на System V**
- лаборатории
Изисквания
Този курс е за опитни разработчици. Студентите трябва да владеят програмиране на C и да са запознати с основните Linux помощни програми и текстови редактори.
Публика
Този курс е за опитни разработчици. Студентите трябва да владеят програмиране на C и да са запознати с основните Linux помощни програми и текстови редактори.
Ниво на опит: средно ниво
28 Hours