Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен / Ответы на вопросы экзамена.doc
Скачиваний:
0
Добавлен:
30.09.2026
Размер:
1 Мб
Скачать
☆

Билет 8.1 Определение и функции исходного кода, объектного кода и выполняемых модулей. Системное обеспечение и его состав.

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

Объектный код – это то, что получается после работы компилятора. Это промежуточный код между машинным и исходным, содержащий инструкции для процессора из разных кусков программы. .obj файлы передаются линкеру (компоновщику), который объединяет их в один исполняемый файл (уже машинный код).

Выполняемый модуль - файл, который может быть запущен на исполнение процессором под управлением ОС.

Системное программное обеспечение (СПО) – это программы, управляющие работой компьютера и выполняющие различные вспомогательные функции, например, управление ресурсами компьютера, создание копий информации, проверку работоспособности устройств компьютера, выдачу справочной информации о компьютере и др. Это база, без которой прикладные программы не будут работать.

Системное программное обеспечение:

  • ОС (делить ресурсы (вычислительные/ресурсы памяти)

  • Компиляторы (компилируем и складываем на жесткий диск)

  • Лоадеры (загрузим в оперативную память)

  • Линкеры (скомпонуем объектные файлы после компилятора)

  • Драйверы (связь между железками и ОС)

  • СУБД (доступ к базам данных, контроль транзакций)

Билет 8.2 Перечислите основные характеристики ТСР протокола Internet. Как организован механизм скользящего окна в пакете ТСР? Как работает возможность “push” ТСР? Как реализована возможность “urgent data” ТСР?

TCP – основной протокол транспортного уровня (старье). В начале 80-х был разделен на TCP и IP. Он получает сегменты любой длины от протоколов верхних уровней (ULP – upper level protocol) и осуществляют полнодуплексную передачу с подтверждением о доставке и установкой соединения, и контролем соединения. TCP “озадачен” гарантированностью доставки сегментов, но не гарантирует ее.

Основные характеристики:

  • для работы устанавливает соединение

  • гарантирует доставку данных

  • разбивает исходное сообщение на сегменты

  • получатель потом его собирает.

Когда начинается соединение, то драйвер протокола TCP устанавливает соединение при помощи флага syn, оканчивает соединение при помощи флага fin. Начинается с процедуры трехстороннего (трехэтапного) рукопожатия. Клиент посылает пакет с syn флагом, seq выбирается случайно, любое 32-битное число, acknowledgement number неизвестен. Сервер отвечает ack на единицу больше полученного числа и посылает в свою очередь свое 32-битное случайное число syn. Клиент в ответ высылает свое подтверждение ack – число, на единицу большее полученного от сервера.

В современных системах TCP почти не используется, т.к. всю доставку осуществляют сетевые адаптеры. Это второй уровень OSI. Либо адаптер будет делать это в режиме stop and wait (остановись и подожди, пока придет ответ), либо это будет скользящее окно (sliding window, но это делается хардвером), либо не будет обращать внимания на доставку вовсе (что бывает чаще всего, поскольку канал оптоволоконный, аппаратура надежная, никто этой проблемой особо не озадачивается) Сегмент TCP состоит из 32-битных слов (всегда работаем со словами):

Скользящее окно (sliding window) – это механизм, нивелирующий проблемы с низкой производительностью TCP, который позволяет не дожидаться проверки получения каждого сегмента, вместо этого проверка происходит в конце этого окна, для уже гораздо большего объема данных. Реализован этот механизм хардвеерно. В начале установки соединения как раз и договариваются о необходимом размере буфера.

Urgent data – это флаг сегмента (Беленькая употребляет слово пакет…. Но в других лекциях говорит о сегменте), который обозначает что его нужно поставить в очередь в буфер, но с высоким приоритетом.

push – это управляющий флаг, отправляющий текущий пакет на немедленную отсылку (поставь меня первым в буфере). Это функция проталкивания (для того, чтобы убедиться, что пакет точно дошел).

Соседние файлы в папке Экзамен