Билет. Развитие вычислительной техники и программного обеспечения
Билет 2.Основы архитектуры вычислительной системы
Вычислительная система - совокупность аппаратных и программных средств, функционирующих в единой системе и предназначенных для решения задач определенного класса.
Структура вычислительной системы: Прикладные системы, Системы программирования, Управление логическими ресурсами, Управление физическими ресурсами, Аппаратные средства ЭВМ.
Взаимодействие уровней осуществляется с помощью межуровневых интерфейсов.
Средства программные доступные на уровнях управления ресурсами ВС:
•Система команд компьютера
•Программный интерфейс драйверов устройств как физических, так и виртуальных.
Аппаратный уровень вычислительной системы
Аппаратный уровень ВС – с позиции верхних уровней это физические ресурсы и система команд ЭВМ. Каждому физическому ресурсу соответствует определенный аппаратный компонент компьютера и его характеристики. Характеристики: правила программного использования, производительность и/или емкость, степень занятости или используемости.
Управление физическими ресурсами ВС
Данный уровень является 1-м первым уровнем системного программного обеспечения вычислительной системы и его назначение в систематизации и стандартизации правил программного использования физических ресурсов. На этом уровне обеспечивается создание программ управления физическими ресурсами. Для обеспечения управления физическими ресурсами, используются программы, которые называются драйверами физического ресурса (устройства).
Драйвер физического устройства – программа, основанная на использовании команд управления конкретного физического устройства и предназначенная для организации работы с данным устройством.
Уровень управления физическими ресурсами – программная составляющая вычислительной системы, обеспечивающая предоставление для каждого конкретного физического ресурса интерфейса для использования – драйвер физического ресурса (устройства).
· Драйвер физического устройства упрощает для пользователя интерфейс работы с устройством.
· Драйвер физического устройства скрывает от пользователя детальные элементы управления конкретным физическим устройством. Драйвер физического устройства ориентирован на конкретные свойства устройства.
· На данном уровне иерархии вычислительной системы обеспечивается корректное функционирование и использование физических ресурсов/устройств.
· На этом уровне пользователю доступны: системы команд, аппаратные устройства, доступ к физическим ресурсам через соответствующие драйверы.
Управление логическими/виртуальными ресурсами
Логическое/виртуальное устройство (ресурс)– устройство/ресурс, некоторые эксплутационные характеристики которого (возможно все) реализованы программным образом.
Драйвер логического/виртуального ресурса - программа, обеспечивающая существование и использование соответствующего ресурса.
Уровень управления физическими и виртуальными ресурсами составляют ОС.
Ресурсы вычислительной системы - совокупность всех физических и виртуальных ресурсов.
Одна из характеристик ресурсов вычислительной системы их конечность, следовательно возникает конкуренция за обладание ресурсом между его программными потребителями.
Операционная система - это комплекс программ, обеспечивающий управление ресурсами вычислительной системы.
Средства программирования, доступные на уровнях управления ресурсами ВС:
• система команд компьютера;
• программные интерфейсы драйверов устройств (как физических, так и виртуальных)
Кодирование
Спецификация бывает формальная и неформальная.
Средства для разработки программных продуктов
1) средство автоматизации контроля использования межмодульных интерфейсов, которые обеспечивают контроль за правильностью использования в программе классификаций регламентирующих межмодульные связи: количество параметров, типы параметров права доступа к параметрам и т.д.;
2) средство автоматизации получения объектных исполняемых модулей программы, обеспечивающее автоматический контроль за соответствием исходных модулей объектным и исполняемым модулям, т.е. предусматривается возможность последующего редактирования исходных модулей;
3) системы поддержки версий, т.е. системы, которые позволяют фиксировать состояние проекта в виде некоторых версий, а также протоколировать все изменения исходных модулей и при необходимости осуществлять возврат к предыдущим версиям.
Тестирование и отладка
Тестирование – это проверка спецификаций функционирования программы на некоторых наборах входных данных. И после того можно говорить, что программа работает верно на том или ином наборе тестов. В связи с этим в тестировании есть проблема формирования тестового набора (покрытия), которая решается в зависимости от конкретной ситуации. Отладка – процесс поиска, анализа и исправления зафиксированных при тестировании и эксплуатации ошибок.
Ввод программной системы в эксплуатацию внедрение и сопровождение
Включает следующий набор требований:
1 - подготовка документации, иногда автоматической или автоматизированной;
2 - возможность сбора так называемых логов по функционированию программы или параметров функционирования программы для того, чтобы можно было анализировать как характеристики эксплуатации так возникающие внештатные ситуации и т.д . и т.п. .
Билет. Прикладные системы
Третий этап
характеризуется появлением пакетов прикладных программ, имеющих развитые и стандартизированные интерфейсы, возможность совместного использования различных пакетов.
ЗАДАЧА>>ПРОГРАММЫ<>СИСТЕМЫ ПРОГРАММИРОВАНИЯ | >>РЕШЕНИЕ
BaaN:Приложения(Сбыт, Производство, Финансы, Моделирование, транспорт, Сервис), Инструментарий(Базовые средства, Разработка, Настройка).
Финансы: представляет собой целостную систему управления финансами. Моделирование: предназначена для конфигурации систем BaaN при изменении бизнес процессов на предприятии. Разработка: обеспечивает возможность разработки новых приложений.
Прикладные системы
Основные тенденции в развитии современных прикладных систем: Стандартизация моделей автоматизируемых бизнес-процессов, B2B (business to business), B2C (business to customer), ERP (Enterprise Resource Planning), CRM (Customer Relationship Management), Открытость системы, API - Application Programming Interface.
Специальные регистры
Качественный и количественный состав специализированных регистров ЦП зависит от архитектуры ЭВМ. Ниже представлены некоторые из возможных типов регистров, обычно входящие в состав специализированных регистров. Кроме регистров, рассмотренных ниже, мы будем доопределять эту группу по ходу курса.
Регистр адреса (РА) - содержит адрес команды, которая исполняется в данный момент времени. По содержимому РА ЦП осуществляет выборку текущей команды, по завершении ее исполнения регистр адреса изменяет свое значение тем самым указывает на следующую команду, которую необходимо выполнить.
Регистр результата (РР) - содержит код, характеризующий результат выполнения последней арифметико-логической команды. Содержимое РР может характеризовать результат операции. Для арифметических команд это может быть «=0», «>0», «<0», переполнение. Содержимое РР используется для организации ветвлений в программах, а также для программного контроля результатов.
Слово – состояние процессора (ССП или PSW) - регистр, содержащий текущие «настройки» работы процессора и его состояние. Содержание и наличие этого регистра зависит от архитектуры ЭВМ. Например, в ССП может включаться информация о режимах обработки прерываний, режимах выполнения арифметических команд и т. п. Частично, содержимое ССП может устанавливаться специальными командами процессора.
Регистры внешних устройств (РВУ) - специализированные регистры, служащие для организации взаимодействия ЦП с внешними устройствами. Через РВУ осуществляется обмен данными с ВУ и передача управляющей информации (команды управления ВУ и получения кодов результат обработки запросов к ВУ).
Регистр указатель стека - используется для ЭВМ, имеющих аппаратную реализацию стека, в данном регистре размещается адрес вершины стека. Содержимое изменяется автоматически при выполнении «стековых» команд ЦП.
Буферизация выборки команд
Буфер команд – минимизация обращений в ОЗУ за машинными командами.
Имеются поля: адрес, значение, код старения.
Интерпретация одноименных полей аналогична буферу операндов.
Примерный алгоритм использования
Центральному процессору требуется для выполнения машинная команда, размещенная по физическому адресу ОЗУ Aисп.
1. Поиск по таблице строки, содержащей Aисп. Если такой не то на п. 3.
2. Обновление поля «Код старения», чтение поля «Значение» и передача его процессору для исполнения.
3. Поиск наименее интенсивно используемой строки. Чтение машинного слова из ОЗУ по адресу Aиспи заполнение всех полей строки. Передача процессору значения для исполнения.
Конкретные реализация и алгоритмы зависят от архитектуры ЭВМ. Возможно, например, использование одного буфера.
Некоторые итоги решения проблемы оптимизации доступа к ОЗУ:
Сглаживание разницы в производительности ОЗУ и ЦП->->: Минимизация часла реальных обращений в ОЗУ->(Использование РОН, Аппаратная буферизация), Распараллеливание работы с ОЗУ->(Расслоение ОЗУ).
Билет. Аппарат прерываний
Аппарат прерываний ЭВМ - возможность аппаратуры ЭВМ стандартным образом обрабатывать возникающие в вычислительной системе события. Данные события будем называть прерываниями.
Прерывание - одно из событий в вычислительной системе, на возникновение которого предусмотрена стандартная реакция аппаратуры ЭВМ. Количество различных типов прерываний ограничено и определяется при разработке аппаратуры ЭВМ.
Прерывания можно разделить на две группы внутренние и внешние.
Внутренние прерывания инициируются схемами контроля работы процессора. Это может быть реакция ЦП на программную ошибку. Например, деление на ноль.
Внешние прерывания – это средство, позволяющее ЭВМ корректно взаимодействовать с внешними устройствами. Это может быть событие, связанное с поступлением новой информации от ВУ или возникновение ошибки во ВУ.
Аппарат прерываний ЦП обеспечивает стандартную реакцию аппаратуры при возникновении прерывания. Тем самым обеспечивается возможность корректной обработки прерываний в ВС.
Рассмотрим обобщенную (и упрощенную) модель последовательности действий, происходящих в ВС при возникновении прерывания.
При обработке события, связанного с возникновением прерывания на первом этапе работает аппаратура ВС. При этом аппаратно (без участия программы) выполняются следующие действия:
1. Включается режим блокировки прерываний.
2. Обработка прерывания предполагает сохранение возможности корректного продолжения прерванной программы (процесса) с точки прерывания.
3. Следующим шагом является переход на программный режим обработки прерываний.
Второй этап. Программная обработка прерывания. Управление передано на точку ОС, занимающуюся обработкой прерывания. При входе в эту точку часть ресурсов ЦП, используемых программами освобождена (результат малого упрятывания). Поэтому будет запущена программа ОС, которая может использовать только освобожденные малым упрятыванием ресурсы ЦП (перечень доступных в этот момент ресурсов – характеристика аппаратуры). Выполняется следующая последовательность действий:
1. Анализ и предварительная обработка прерывания.
2. “Полное упрятывание” осуществляется полное упрятывание состояния всех ресурсов ЦП, использовавшихся прерванной программой (все регистры, настройки, режимы и т.д.) в специальную программную таблицу (в контекст процесса или программы – о нем позже).
3. До данного момента времени все действия происходили в режиме блокировки прерываний. После полного упрятывания разблокируются прерывания (то есть включается стандартный режим при котором возможно появление прерываний).
4. Заключительный этап – завершение обработки прерывания.
Билет. Иерархия памяти
ЦП: РОН, КЭШ L1 ; КЭШ L2 ; ОЗУ ; ВЗУ прямого доступа с внутр. Кэш буферизацией ; ВЗУ прямого доступа без внутр. Кэш буферизации ; ВЗУ долговременного хранения данных
Данная иерархия строится с позиций близости к ЦП, стоимости памяти и системной составляющей.
· Т. е. есть ЦП и элементами памяти в ЦП являются регистры общего назначения и КЭШ 1-го уровня.
· Следующий уровень– это уровень устройства, которое называется КЭШ 2-го уровня, которое находится между ЦП и ОЗУ, т.е. обычно это устройство, которое быстрее ОП, но может быть медленнее и дешевле КЭШа 1-го уровня, а также может обладать немножко большими размерами чем КЭШ 1-го уровня, соответственного схема работы с КЭШем 2-го уровня аналогично схеме работы с КЭШем 1-го уровня.
· По иерархии уровень после уровня ОЗУ – это уровень внешнего запоминающего устройство с внутренней КЭШ-буферизацией. Т.е. это устройства, аппаратное управление которых имеет КЭШ буферизации, т.е. это уже менее эффективно, чем ОП, но достаточно эффективно, потому что опять-таки за счет внутреннего кэширования (при той же схеме кэширования, которая имеет место в схеме ЦП - ОЗУ ), сокращается реальное количество обращений к устройству и тем самым получается существенное повышение производительности работы устройства.
· Следующий уровень - внешнее запоминающее устройство прямого доступа без КЭШ-буферизации. Это устройства существенно менее эффективные, но также предназначенные для оперативного доступа к данным, т.е. это устройства, которые обычно используются в программе для организации внешнего хранения и доступа за данными, соответственно по производительности они могут быть разными, но для каких-то ситуаций категории этих двух устройств не принципиальны.
· Последним уровнем этой иерархии является уровень внешнего запоминающего устройства долговременного хранения данных. Т.е. это устройства, предназначенные для архивирования и долговременного хранения информации, к этим устройствам могут относиться и как устройства прямого доступа, и устройства последовательного доступа. Суть иерархии: на вершине находятся самые высоко скоростные, которые, в свою очередь являются также и самыми дорогими устройствами, но спускаясь вниз, мы получаем устройства менее дорогие, но обладающие более худшими показателями по скорости доступа, за счет всей системы предусматриваются достаточно большие элементы сглаживания дисбаланса в производительности каждого из типов этих устройств.
Фрагментация памяти
Система работает в мультипрограммном режиме. Программы должны храниться в памяти. Программы находятся в разных частях памяти. Когда приходит новая программа, возникает вопрос, куда ее поместить. Если нет свободного куска памяти нужного размера, но есть много маленьких свободных фрагментиков, в суммарный объем которых возможно записать новую программу, а ни в один в отдельности нельзя.
Фрагментация памяти приводит к деградации системы.
Один из способов решения – это компрессия (но при этом возможны потери памяти).
БИЛЕТ
Системный стек
Находится в оперативной памяти. Элементы стека: основание стека, SP регистр–указатель стека(в данном регистре размещается адрес вершины стека. Содержимое изменяется автоматически при выполнении «стековых» команд ЦП), вершина стека. Команды для работы со стеком: PUSH, POP.
Использование системного стека может частично решать проблему минимизации накладных расходов при смене обрабатываемой программы и/или обработке прерываний. Частично стек реализуется на регистрах, таким образом существенно ускоряется работа.
БИЛЕТ. Виртуальная память.
Давайте рассмотрим схему подготовки исполняемого кода. Мы имеем исходный текст, который обрабатываем компилятором. В результате получается объектный модуль. Из достаточного количества объектных модулей с помощью редактора внешних связей сформировали исполнительный модуль. И потом когда-то этот исполнительный модуль мы запустим на выполнение. Т.е. исполнительный модуль – это есть уже программа в коде машины, которая использует определенную адресацию. Эта адресация называется программная или логическая или виртуальная адресация – т.е. те адреса, которые используются в программе, они программные, логические или виртуальные адреса. При выполнении программы имеется проблема установления соответствия между виртуальными адресами и реальными адресами ОП (физическими адресами).
Аппарат– это аппаратные средства компьютера, которые обеспечивают преобразование виртуальных адресов, используемых в программе в физические адреса ОП, в которых размещена данная программа при выполнении.
Базирование адресов.
Исходный текст программы‑> Транслятор‑> ОбъектныЙ модуль‑> Библиотека объектных модулей, редактор внешних связей-> Исполняемый модуль
Аппарат виртуальной памяти – аппаратные средства компьютера, обеспечивающие преобразование (установление соответствия) программных адресов, используемых в программе адресам физической памяти в которой размещена программа при выполнении.
Базирование адресов – реализация одной из моделей аппарата виртуальной памяти. При базировании выделяется регистр, в котором будет храниться адрес, начиная с которого размещается программа. Проблема: программы должны располагаться в одном блоке.
A исп.прог. -->>абсолютный адрес(А исп.физ=А исп.прог.) | относительный (отн. Нач. прог.) (А исп.физ.=А исп.прог. + <Rбазы>)
В <Rбазы> загружается адрес начала программы в памяти. Исполняемые адреса, используемые в модуле будут автоматически преобразовываться в адреса физического размещения данных путем их сложения с регистром Rбаз..
Базирование адресов – решение проблемы перемещаемости программы по ОЗУ.
Благодаря базированию адресов виртуальное адресное пространство программы отображается в физическую память взаимнооднозначно.
БИЛЕТ. Страничная память.
Память аппаратно разделена на блоки фиксированного размера – страницы.
Структура адреса:
|Номер страницы(k)|(k-1)номер в странице(0)|
Количество страниц ограничено размером «номер страницы».
Пусть одна система команд ЭВМ позволяет адресовать и использовать m страниц размером 2kкаждая.
Физическое адресное пространство, в общем случае может иметь произвольное число физических страниц. Структура физического и виртуального адресов будут различаться размером поля номер страницы.
В ЦП ЭВМ имеется аппаратная таблица страниц.
Исполнительный физический адрес будет отличаться от исполнительного виртуального адреса за счет поля ”номер страницы”.
Содержимое таблицы определяет соответствие виртуальной памяти физической для выполняющейся в данный момент программы/процесса. Соответствие определяется следующим образом: i-я строка таблицы соответствует i-й виртуальной странице.
При замене процесса таблицу надо менять.
Виртуальное адресное пространство –множество виртуальных страниц, доступных для использования в программе. Количество виртуальных страниц определяется размером поля «номер виртуальной страницы» в адресе.
Физическое адресное пространство –оперативная память, подключенная к данному компьютеру. Физическая память может иметь произвольный размер (число физических страниц может быть меньше, больше или равно числу виртуальных страниц).
Компьютерные сети.
В общем случае вычислительная сеть представляет собой программно-аппаратный комплекс, обладающий след характеристиками:
1. Сеть может состоять из значительного числа взаимодействующих друг с другом компьютеров, обеспечивающих сбор, хранение, передачу и обработку информации.
2. Компьютерная сеть предполагает распределенную обработку информации. Т.е. информация, поступающая к конкретному потребителю может на разных узлах этой сети обрабатываться, и результатом является комплексный результат распределенной обработки этой информации при передаче и доступе в сети.
3. Расширяемость сети. Возможность развития компьютерных сетей, как по протяженности, т.е. территориальному размещению, так и по расширению пропускной способности каналов связи, и по количеству, и по производительности компьютеров.
4. Возможность использования симметричных интерфейсов обмена информацией между ЭВМ сети. Т.е. возможность построения сети, в которой взаимодействующие компьютеры будут равноправны, т.е. в отличии от модели терминальной сети, где присутствует основной узел и вся сеть строится по доступу к этому узлу, сеть может быть достаточно равноправной и симметричной.
Компьютерная сеть – объединение компьютеров (или вычислительных систем), взаимодействующих через коммуникационную среду.
Коммуникационная среда – каналы и средства передачи данных
Компьютеры сети исторически подразделяются на три категории:
Сеть коммутации каналов.Это сеть, которая обеспечивает установку канала связи на время всего сеанса связи между абонентскими машинами.
Сеть коммутации сообщенийСеанс связи представляется в виде последовательности сообщений. Сообщение – это порция данных произвольного размера. Сообщение отправляется в сеть по некоторой информации о маршруте. Если свободных каналов нет, то сообщение сохраняется на коммутирующей машине.
Сеть коммутации пакетов Все сообщения разделяются на блоки данных некоторого фиксированного размера. После этого сеть работает также, как сеть коммутации сообщений, но с пакетами. Каждая машина пытается от пакета избавится (принцип горячей картошки).
18 БИЛЕТ. Операционная система. Базовые понятия, определения.
Операционная система – это комплекс программ, обеспечивающий контроль за существованием, распределением и использованием ресурсов ВС.
Любая ОС оперирует некоторым набором базовых сущностей (понятий) на основе которых строится логика функционирования системы. Например, подобными базовыми понятиями могут быть задача, задание, процесс, набор данных, файл, объект.
Одним из наиболее распространенных базовых понятий ОС является процесс.
Интуитивно определение процесса достаточно просто, но определить процесс строго, формально, достаточно сложно. Поэтому существует целый ряд определений процесса, многие из которых системно-ориентированы.
Процесс – это совокупность машинных команд и данных, исполняющаяся в рамках ВС и обладающая правами на владение некоторым набором ресурсов. Эти права могут быть эксклюзивными, когда ресурс принадлежит только этому процессу. Некоторые из ресурсов могут разделяться, т. е. одновременно принадлежать двум и более процессам, в этом случае мы говорим о разделяемых ресурсах.
Возможно два варианта выделения ресурсов процессу: предварительная декларация использования тех или иных ресурсов; Динамическое пополнение списка принадлежащих процессу ресурсов по ходу выполнения процесса при непосредственном обращении к ресурсу.
Реальная схема зависит от конкретной ОС. На практике возможно использование комбинации этих вариантов. Для простоты изложения будем считать, что модельная ОС имеет возможность предварительной декларации ресурсов, которые будут использованы процессом.
Любая ОС должна удовлетворять следующим свойствам: надежность, защита, эффективность, предсказуемость.
Типовая структура ОС.
Ядро – резидентная часть ОС, работающая в режиме супервизора. В ядре размещаются программы обработки прерываний и драйверы наиболее «ответственных» устройств. Это могут быть и физические, и виртуальные устройства. Например, в ядре могут располагаться драйверы файловой системы, ОЗУ. Обычно ядро работает в режиме физической адресации.
Следующие уровни структуры – динамически подгружаемые драйверы физических и виртуальных устройств. Это драйверы, добавление которых в систему возможно «на ходу» без перекомпоновки программ ОС. Они могут являться резидентными и нерезидентными, а также могут работать как в режиме супервизора, так и в пользовательском режиме.
Можно выделить следующие основные логические функции ОС: управление процессами; управление ОП; планирование; управление устройствами и ФС.
Пакетная ОС
Пусть имеется пакет программ - некоторая совокупность программ, обладающих общим свойством – для выполнения каждой из программ необходимо значительное время работы ЦП. Необходимо обработать все программы пакета за минимальное время. Для этой цели используются специализированные пакетные ОС. Для данных ОС не является важным порядок в котором будут выполнены программы пакета и время за которое была выполнена та или иная программа пакета. Критерием эффективности пакетной ОС является минимизация времени, затраченного на выполнение всего пакета за счет минимизации, в свою очередь, непроизводительной работы ЦП. Основной задачей системы планирования пакетной ОС является максимальная загрузка процессора мультипрограммным выполнением программ/процессов пользователей.
В частности, должны быть минимизировано время работы ОС. Это достигается за счет стратегии планирования, основанной на переключении выполнения одной программы/процесса на другую только в одном из следующих случаев: завершение выполнения программы/процесса; возникновение при выполнении программы/процесса прерывания (например, обращение к ВУ); фиксация операционной системой факта зацикливания процесса.
Очевидно, что при подобной организации планирования соотношение времени работы процессора, затраченного на выполнение программ пользователей к времени, затраченному на выполнение функций ОС будет максимально.
Системы разделения времени
Операционные системы разделения времени. Суть функционирования подобных систем заключается в следующем. В системе определено понятие квант времени ЦП – некоторый фиксированный ОС промежуток времени работы ЦП. Планирование в системах разделения времени осуществляется исходя из следующего.
Каждому выполняющемуся в системе процессу выделяется квант времени ЦП, переключение выполнения на другой процесс осуществляется при: исчерпании процессом выделенного кванта времени; завершении выполнения программы/процесса; возникновении при выполнении программы/процесса прерывания (например, обращение к ВУ); фиксации операционной системой факта зацикливания процесса.
ОС реального времени
Существует класс задач компьютерного управления теми или иными техническими объектами. Спецификой этих задач является реакция на события, возникающие при управлении в сроки, когда эта реакция имеет смысл. В общем случае, все подобные задачи имеет фиксированный набор некоторых событий, реакция на произвольное возникновение и обработка которых должна быть осуществлена за некоторое гарантированное время (возможно для каждого события это время может быть своим). ОСявляется системой реального времени если она при функционировании может обработать возникновение любого из данных событий (прерываний) за время, не превосходящее некоторое предельное значение. Системы реального времени являются специализированными системами в которых все функции планирования ориентированы на достижение поставленной цели.
Уровень доступа к сети. Состоит из подпрограмм доступа к физической сети. Модель TCP/IP не разделяет два уровня модели OSI – канальный и физический, а рассматривает их как единое целое. Уровень модели OSI: Уровень прикладных программ, Уровень представления данных
Межсетевой уровень. Работает с дейтаграммами, адресами, выполняет маршрутизацию и «прикрывает» транспортный уровень от общения с физической сетью. Однако, в отличие от сетевого уровня модели OSI, этот уровень не устанавливает соединений с другими машинами. Уровень модели OSI: Сеансовый уровень, Транспортный уровень
Транспортный уровень. Обеспечивает доставку данных от компьютера к компьютеру. Кроме того, на этом уровне существуют средства для поддержки логических соединений между прикладными программами. В отличие от транспортного уровня модели OSI, в функции транспортного уровня TCP/IP не всегда входят контроль за ошибками и их коррекция. TCP/IP предоставляет два разных сервиса передачи данных на этом уровне. Протокол TCP обеспечивает все вышеперечисленные функции, а UDP – только передачу данных. Уровень модели OSI: Сетевой уровень
Уровень прикладных программ. Состоит из прикладных программ и процессов, использующих сеть и доступных пользователю. В отличие от модели OSI, прикладные программы сами стандартизуют представление данных. Уровень модели OSI: Канальный уровень, Физический уровень
Протокол IP.
Одним из основных свойств протокола IP является система адресации, которая обеспечивает уникальное именование любого сетевого устройства (устройство будем считать сетевым, если с ним ассоциирован некоторый стек протоколов). Рассмотрим структуру IP адреса.
IP адрес представляется последовательностью четырех байтов. В адресе кодируется уникальный номер сети, а также номер компьютера (сетевого устройства в сети). Следует отметить, что существуют специальные IP адреса, информационные поля которых интерпретируются по другому, но мы не будем акцентировать на них свое внимание. Для представление содержимого IP адреса используется последовательность цифр: N1.N2.N3.N4, где Ni – десятичное представление содержимого i – го байта адреса.
Жизненный цикл процесса
Рассмотрим типовые этапы обработки процесса в системе, совокупность этих этапов будем назвать жизненным циклом процесса в системе. Традиционно, жизненный цикл процесса содержит этапы: образование (порождение) процесса; обработка (выполнение) процесса; ожидание (по тем или иным причинам) постановки на выполнение; завершение процесса.
Буфер ввода процессов (БВП) – пространство, в котором размещаются и хранятся сформированные процессы от момента их образования, до момента начала выполнения. После начала выполнения процесса он попадает в буфер обрабатываемых процессов (БОП). В данном буфере размещаются все процессы, находящиеся в системе в мультипрограммной обработке.
Обобщенный жизненный цикл процесса можно представить в этом случае графом состояний. Рассмотрим, кратко, переходы процесса из состояния в состояние.
0. После формирования процесс поступает в очередь на начало обработки ЦП (попадает в БВП).
1. В БВП выбирается наиболее приоритетный процесс для начала обработки ЦП (попадает в БОП).
2. Процесс прекращает обработку ЦП по причине ожидания операции в/в, поступает в очередь завершения операции обмена (БОП).
3. Процесс прекращает обработку ЦП, но в любой момент может быть продолжен (например, истек квант времени ЦП, выделенный процессу). Поступает в очередь процессов, ожидающих продолжения выполнения центральным процессором (БОП).
4. Наиболее приоритетный процесс продолжает выполнение ЦП (БОП).
5. Операция обмена завершена и процесс поступает в очередь ожидания продолжения выполнения ЦП (БОП).
6. Переход из очереди готовых к продолжению процессов в очередь процессов, ожидающих завершения обмена (например, ОС откачала содержимое адресного пространства процесса из ОЗУ во внешнюю память) (БОП).
7. Завершение процесса, освобождение системных ресурсов. Корректное завершение работы процесса, разгрузка информационных буферов, освобождение ресурсов (например, реальный вывод информации на устройство печати).
Контекст процесса.
С каждым из процессов из БОП система ассоциирует совокупность данных, характеризующих актуальное состояние процесса – контекст процесса.
Контекст процесса может состоять из:
•пользовательской составляющей – состояние программы, как совокупности машинных команд и данных, размещенных в ОЗУ;
•системной составляющей: информация идентификационного характера, информация о содержимом регистров, информация, необходимая для управления процессом.
Таблица процессов
Каждый процесс характеризуется уникальным именем – идентификатором процесса (PID). PID – целое число от 0 до некоторого предельного значения, определяющего максимальное число процессов, существующих в системе одновременно.
Будем использовать термины 0й процесс, 1й процесс, 125й процесс, это означает, что речь идет о процессах с PID = 0, 1, 125. 0й процесс в системе ассоциируется с работой ядра Unix. С точки зрения организации данных PID – номер строки в таблице, в которой размещена запись о процессе.
Контекст процесса. Содержимое записи таблицы процессов позволяет получить контекст процесса (часть данных контекста размещается непосредственно в записи таблицы процессов, на оставшуюся часть контекста имеются прямые или косвенные ссылки, также размещенные в записи таблицы процессов).
С точки зрения логической структуры контекст процесса Unix состоит из: пользовательской составляющей или тела процесса (иногда используется пользовательский контекст) ; аппаратной составляющей (иногда используется аппаратный контекст) ; системной составляющей ОС Unix (иногда – системный контекст).
Тело процесса состоит из сегмента кода и сегмента данных.
Сегмент кода содержит машинные команды и неизменяемые константы соответствующей процессу программы.
Сегмент данных – содержит данные, динамически изменяемые в ходе выполнения кода процесса. Сегмент данных содержит область статических переменных, область разделяемой с другими процессами памяти, а также область стека (обычно эта область служит основой для организации автоматических переменных, передачи параметров в функции, организацию динамической памяти).
Аппаратная составляющая содержит все регистры и аппаратные таблицы ЦП, используемые активным или исполняемым процессом (счетчик команд, регистр состояния процессора, аппарат виртуальной памяти, регистры общего назначения и т. д.).
Обращаем внимание, что аппаратная составляющая имеет смысл только для процессов, находящихся в