Самодел 1 (Старые версии Машбука или нечто подобное), страница 10
Описание файла
Файл "Самодел 1" внутри архива находится в папке "Старые версии Машбука или нечто подобное". Документ из архива "Старые версии Машбука или нечто подобное", который расположен в категории "". Всё это находится в предмете "операционные системы" из 3 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Онлайн просмотр документа "Самодел 1"
Текст 10 страницы из документа "Самодел 1"
Система адресации протокола IP
IP адрес представляется последовательностью четырех байтов. В адресе кодируется уникальный номер сети, а также номер компьютера (сетевого устройства в сети).
. Для представление содержимого IP адреса используется последовательность цифр:
N1.N2.N3.N4 ,
где Ni – десятичное представление содержимого i – го байта адреса.
Типы адресов
A номер сети <=126, уникальные сети, которые исторически принадлежат крупным мировым корпорациям.
С самые распространенные.
Некоторые из IP адресов являются зарезервированными, т.е. их интерпретация отличается от стандартной.
Поле номера сети | Поле номера машины/устройства | Комментарий |
Все нули | Все нули | Адрес данного устройства |
Номер сети | Все нули | Ссылка на сеть в целом. |
Все нули | Номер устройства | Устройство в данной сети |
Все единицы | Все единицы | Все устройства данной сети |
Номер сети | Все единицы | Все устройства заданной сети |
127 | Код | Используется для отладки и тестирования сетевых приложений (зацикленный адрес - loopback address). При отправке данных по этому адресу, стек протоколов возвращает переданные данные процессу-отправителю. Т.е. происходит эмуляция работы сети, без реального сетевого взаимодействия (взаимодействия между различными стеками протоколов). |
Протоколы TCP/IP были созданы для передачи данных через ARPANET, которая является сетью с коммутацией пакетов.
Пакет – это блок данных, который передаётся вместе с информацией, необходимой для его корректной доставки. Каждый пакет перемещается по сети независимо от остальных.
Дейтаграмма – это пакет протокола IP. Контрольная информация занимает первые пять или шесть 32-битных слов дейтаграммы. Это её заголовок (header). По умолчанию, его длина равна пяти словам, шестое является дополнительным. Для указания точной длины заголовка в нём есть специальное поле – длина заголовка (IHL, Internal Header Length).
Шлюз – устройство, передающее пакеты между различными сетями
Маршрутизация – процесс выбора шлюза или маршрутизатора
Маршрутизация дейтаграмм:
Шлюз – компьютер, который имеет >=2 сетевых адаптеров (каждый имеет свой IP адрес)
Компьютерные системы могут передавать данные только внутри той сети, к которой они подключены. Поэтому передача дейтаграмм из одной сети в другую идёт через шлюзы – от одного к другому. Внутри хоста данные проходят пути от уровня прикладных программ до уровня доступа к сети (и обратно). Дейтаграммы, которые переправляет шлюз, поднимаются только до межсетевого уровня. На этом уровне протокол IP, узнавая адрес получателя данных (на протяжении всего пути следования этот адрес не меняется – меняются промежуточные машины), принимает решение отправить дейтаграмму в одну из сетей, к которым подключен.
На рисунке выше показано, как используются шлюзы для ретрансляции пакетов.
Транспортный уровень
Протокол контроля передачи (TCP, Transmission Control Protocol) - обеспечивает надежную доставку данных с обнаружением и исправлением ошибок и с установлением логического соединения.
Протокол пользовательских дейтаграмм (UDP, User Datagram Protocol) - отправляет пакеты с данными, «не заботясь» об их доставке.
TCP Надежная передача данных. При отправке TCP пакета идет подтверждение о получении. Подтверждение должно прийти за некоторое детерминированное время. Если не пришло, то считается, что пакет потерялся. Обеспечивается порядок приема и передачи сообщений.
UDP Не требует подтверждения о доставки пакета.
TCP лучше, но за это мы платим содержательной скоростью и нагрузкой на сеть.
UDP быстрее, т.к. меньше мусора пересылается.
Выводы
UDP лучше для локальной сети, а TCP для межсетевого взаимодействия.
Уровень прикладных программ
На самой вершине архитектуры семейства протоколов TCP находится уровень прикладных программ.
Все процессы этого уровня пользуются протоколами транспортного уровня для обмена данными по сети.
Протоколы, опирающиеся на TCP
TELNET (Network Terminal Protocol), Протокол сетевого терминала, разработан для удаленного доступа к компьютерам сети (remote login).
FTP (File Transfer Protocol), Протокол передачи файлов, используется для интерактивной передачи файлов между компьютерами сети.
SMTP (Simple Mail Transfer Protocol), Простой протокол передачи почты. Основной протокол для обмена почтой, использующийся в Internet.
Протоколы, опирающиеся на UDP
DNS (Domain Name Service), Служба имен доменов, или просто Служба именования. С помощью этого протокола устанавливается взаимно однозначное соответствие между IP-адресами сетевых устройств и их именами.
RIP (Routing Information Protocol), Протокол информации о маршрутизации. Маршрутизация данных (поиск путей их передачи от хоста-отправителя к хосту-получателю) в Internet является одной из важнейших функций семейства протоколов
TCP/IP. RIP используется сетевыми устройствами для обмена информацией о маршрутизации.
NFS (Network File System), сетевая файловая система. С помощью этого протокола компьютеры могут совместно использовать файлы, разбросанные по сети.
Сетевые, распределенные ОС
Сетевая ОС –
Мы имеем физическую сеть в которой подключенные компьютеры взаимодействуют с помощью протоколов, сетевая ОС предоставляет пользователям распределенные прикладные приложения.
Распределенная ОС –
Состоит из ядра, локализованного в рамках одного компьютера, и остальных функций распределенных по компьютерам сети.
Проблема распределения файловой системы
Операционные системы
Основные понятия
Операционная система – это комплекс программ, обеспечивающий контроль за существованием, распределением и использованием ресурсов ВС.
Любая ОС оперирует некоторым набором базовых сущностей (понятий) на основе которых строится логика функционирования системы. Например, подобными базовыми понятиями могут быть задача, задание, процесс, набор данных, файл, объект.
Программа – только текст (может быть откомпелированный)
Процесс – это совокупность машинных команд и данных, исполняющаяся в рамках ВС и обладающая правами на владение некоторым набором ресурсов.
(Существует много определений процесса. Например: элементарная программная единица, которой осуществляет управление ОС.)
Важное свойство процесса – ресурсы, которыми процесс владеет. Существуют ресурсы, которые монопольно принадлежат данному процессу, и разделяемые ресурсы, которые принадлежат одновременно 2 и более процессам.
Существует проблема организации работы процессов с разделяемыми ресурсами. (Аналог - коммунальная квартира). Для этого существуют специальные средства ОС, которые обеспечивают корректное использование ресурсов.
Возможно два варианта выделения ресурсов процессу:
1.предварительная декларация использования тех или иных ресурсов (до начала выполнения процесса системе
предаставляется перечень ресурсов, которые будут использованы процессом);
Более строгая и более экономичная.
2.Динамическое пополнение списка принадлежащих процессу ресурсов по ходу выполнения процесса при
непосредственном обращении к ресурсу . Более гибкая. Но для нее нужна стартовая память.
Реальная схема зависит от конкретной ОС. На практике возможно использование комбинации этих вариантов.
Любая ОС должна удовлетворять набору свойств:
1.Надежность. Система должна обеспечивать надежное функционирование своих компонентов. Количество ошибок,
которые могут встретиться в системе должно стремиться к нулю.
2. Обеспечение защиты. Защита от внешних воздействий – от вирусов по сети и т.п. Должна быть возможность
ограничить доступ к информации некоторым пользователям.
3. Эффективность.
а) использование различных энергосберегающих ресурсов
б) удовлетворять определенным критериям качества функционирования ОС
в) обеспечение качества предоставляемых услуг для данного количества пользователей.
4. Предсказуемость. Система должна работать предсказуемо в нештатных ситуациях, чтобы не возникали
неразрешимые последствия.
Структура ОС.
Резидентная – постоянно находящаяся в памяти
Ядро (kernel) – резидентная часть ОС, работающая в режиме супервизора. («обычно» работает в режиме физической адресации).
API – набор функций, предоставляемых системному программисту, разрабатывающему прикладные программы, и ориентированные на организацию взаимодействия результирующей программы и вычислительной системы.
В ядре размещаются программы обработки прерываний и драйверы наиболее «ответственных» устройств. Это могут быть и физические, и виртуальные устройства. Например, в ядре могут располагаться драйверы файловой системы.
Динамически подгружаемые драйверы физических и виртуальных устройств- это драйверы, добавление которых в систему возможно «на ходу» без перекомпоновки программ ОС. Они могут являться резидентными и нерезидентными, а также могут работать как в режиме супервизора, так и в пользовательском режиме.
Системный вызов средство ОС, обеспечивающее возможность процессов обращаться к ОС за теми или иными функциями. Пример: создание/завершение процесса, создание канала взаимодействия между процессами и т.д.
При системном вызове основной исполняемый код – часть кода ядра. Вызов подпрограммы – исполняемый код не в ядре.Обычно системный вызов заменяется на специальное прерывание и потом управление передается ОС.
Монолитное ядро – ядро, которое включает в себя все возможности операционной системы, запускаются как единый процесс. Все функциональные компоненты ядра, имеют доступ ко всем внутренним файлам системы. При внесении изменений в монолитную систему все программы перекомпановываются и система перезагружается. Подсистема управления процессами: распределение памяти, планирование, взаимодействие процессов. Файловая подсистема: доступ к файлам.
Можно разделить систему на два уровня: пользовательский уровень, на котором есть штатное средство взаимодействия пользователя с системой для Unix’a. Соответственно внутри реализовано монолитное ядро. Т.е. ядро ОС Unix – это достаточно большой компонент, который собирается из разных частей (компонентов) и он включает в себя разные подсистемы: обеспечение взаимодействия процессами, управление памятью, планирование, файловую подсистему, драйверы разных устройств и т.д. и т.п. И все это является как одно единое целое, и какие-то изменения в этом монолитном большом ядре бывают достаточно трудоемки, как минимум для этого надо выполнять операцию пересборки ядра.
Микроядерная архитектура
Существует стационарное микроядро, которое обеспечивает минимальные функции ОС.
Функции микроядра: работа с адресным пространством, взаимодействие процессов, планирование.