Содержание
- 2. План курса Введение Что такое ОС? Зачем они нужны? Основные идеи и принципы ОС Ядро ОС,
- 3. План лекции Таймеры и время Особенности таймеров ОС Работа со временем и календарем в Windows и
- 4. Принцип устройства таймера, работа с датой и временем Таймеры
- 5. Таймеры ОС Аппаратные таймеры ограниченное число таймеров всего два программируемых события (будильника) на один таймер ограниченная
- 6. Работа со временем в ОС Аппаратно время отсчитывается RTC (realtime clock) В настольных компьютерах размещены на
- 7. Время в POSIX Ожидание (#include ): unsigned sleep(unsigned seconds); int usleep(useconds_t useconds); #include : int nanosleep(const
- 8. Время в Windows Ожидание: VOID Sleep(DWORD dwMilliseconds); DWORD SleepEx(DWORD dwMilliseconds, BOOL bAlertable); Получить время: #include :
- 9. Предопределенные макросы компиляторов, средства автоматизации сборки, функции библиотек Boost и QT для реализации IPC и работы
- 10. Макросы компиляторов Кроссплатформенный код на C/C++ обычно пишется с использованием макросов, определяющих ОС, компилятор, аппаратное обеспечение
- 11. Автоматизация сборки Система автоматизации сборки решает множество задач разработки ПО: Компиляция объектных модулей Определение ОС или
- 12. Boost и QT Boost.Threads Boost.Process Boost.Interprocess Boost.Filesystem Boost.Date_Time QThread QProcess QSharedMemory, QTcpSocket, QTcpServer,… QFile QDateTime https://www.boost.org/doc/libs/1_78_0/?view=categorized
- 13. С++11 и С++17 С++11: std::thread из std::mutex, std::recursive_mutex, std::condition_variable std::shared_ptr std::atomic С++17: std::filesystem из boost::filesystem Далее:
- 14. Сеть
- 15. Компьютерная сеть Компьютерная сеть — система, обеспечивающая обмен данными между вычислительными устройствами (компьютерами) и другим оборудованием
- 16. Модели OSI и TCP\IP
- 17. Физический уровень OSI Физический уровень описывает способы передачи бит через физические среды линий связи, соединяющие сетевые
- 18. Канальный уровень OSI Канальный уровень осуществляет доставку кадров (frame) между устройствами, подключенными к одному сетевому сегменту.
- 19. MAC-адрес Служит для идентификации сетевых интерфейсов узлов сетей Ethernet (IEEE 802.3) Wi-Fi (IEEE 802.11) Регламентирован стандартом
- 20. Кадр Ethernet II (DIX) 6 байт: адрес назначения 6 байт: адрес источника 46-1500 байт: данные 4
- 21. Сетевой уровень OSI Сетевой уровень отвечает за трансляцию логических адресов и имён в физические, определение кратчайших
- 22. IP-адреса IP-адрес - глобальный адрес, используемый в стеке протоколов TCP/IP Используется для уникальной идентификации компьютеров в
- 23. IPv4 IP-адрес версии 4 : 4 байта, 32 бита Форма представления: 4 десятичных числа 0-255 (октет,
- 24. Маска IPv4 Маска подсети показывает, где в IP адресе номер сети, а где хоста. Структура маски:
- 25. Типы IP-адресов версии 4 Широковещательный адрес (пакеты передаются только внутри подсети): В номере хоста все единицы:
- 26. Исчерпание IP-адресов v4 Длина IPv4 адреса – 32 бита Максимум 4294967296 (232) IP-адреса, минус служебные Февраль
- 27. IP-адреса версии 6 Адрес IPv6 состоит из 128 бит (16 байт) 340282366920938463463374607431768211456 Адреса IPv6 отображаются как
- 28. Формат IP-пакета (v4) Общий размер пакета, включая заголовок и данные, в байтах. Максимальное значение: 65535 байт
- 29. Формат IP-пакета (v6) Класс трафика – DSCP + ECN Метка потока (Flow Label) – используется отправителем
- 30. Транспортный уровень OSI Транспортный уровень обеспечивает передачу данных между процессами на хостах, предоставляя механизм передачи. Управление
- 31. Адресация Для адресации на транспортном уровне используется понятие порта. Порт – это 16-битный адрес, 1…65535, адрес
- 32. Протокол UDP UDP - User Datagram Protocol - Протокол дейтаграмм пользователя Сообщение UDP называется "дейтаграмма", по
- 33. Протокол TCP TCP – Transmission Control Protocol – протокол управления передачей Сервис TCP: Надежная передача потока
- 34. Прикладной уровень OSI Прикладной уровень обеспечивает взаимодействие сети и пользователя. Уровень разрешает приложениям пользователя иметь доступ
- 35. Принцип работы, UDP-сервер и клиент, TCP-сервер и клиент Сокеты Беркли
- 36. Сокеты Беркли Сокеты впервые появились в ОС Berkeley UNIX 4.2 BSD (1983 г) Сокет в NIX-системе
- 37. Операции с сокетами
- 38. Сокеты для UDP Используются только операции создания (socket), связывания (bind), закрытия (close), отправки (send) и получения
- 39. Простейший сервер UDP на C
- 40. Простейший клиент UDP на C l
- 41. Принцип работы сервера TCP Сервер создает сокет, «биндит» (bind) его на свой порт и адрес и
- 42. Принцип работы клиента TCP Клиент создает сокет, «биндит» (bind) его на конкретный (или стандартный) интерфейс и
- 43. Порядок байт, XDR Маршаллинг данных
- 44. Передача бинарных данных
- 45. Проблемы бинарных данных Разные размерности типов на разных компьютерах и ОС Разный порядок байтов на разных
- 46. Порядок байтов
- 47. Термины «big/little-endian» Термины big-endian («тупоконечники») и little-endian («остроконечники») первоначально использовались в сатирическом произведении Джонатана Свифта «Путешествия
- 48. Способ исправить проблему Игнорирование В большинстве современных систем размеры базовых типов одинаковы (char – 1 байт,
- 49. stdint-типы и сетевой порядок stdint.h – файл стандартной библиотеки С, введенный стандартом С99 Описывает целочисленные типы,
- 50. Маршаллинг данных Маршалинг (от англ. marshal — упорядочивать) — процесс преобразования информации (данных, двоичного представления объекта),
- 51. XDR XDR (External Data Representation - внешнее представление данных) — международный стандарт передачи данных в Интернете.
- 52. XDR: пример
- 54. Скачать презентацию