
Лекции / Лекция 9
.docxThread (нить исполнения)
Thread – это абстрактное понятие внутри процесса, разделяющее его программный код, глобальные переменные и системные ресурсы, имеющее свой собственный программный счетчик, свое содержимое регистров и свой собственный стек.
Процесс представляет собой совокупность взаимодействующих нитей и выделенных ему ресурсов.
Иногда нити называют подпроцессами, минипроцессами, облегченными процессами.
При рождении процесса образуется всего лишь одна нить исполнения. Эта нить является родительской по отношению к другим нитям.
Состояния процессов
Процесс находится в состоянии готовности, если хотя бы одна из его нитей находится в состоянии готовность и нет ни одной в состоянии исполнения.
Процесс находится в состоянии исполнения, если хотя бы одна из нитей находится в состоянии исполнения.
Процесс находится в состоянии ожидания, если все его нити находятся в состоянии ожидания.
Процесс находится в состоянии завершения, если все его нити перешли в состояние завершения.
Когда одна нить процесса заблокирована, другие могут иметь другие состояния.
В отличие от процессов, переключение контекста нитей осуществляется намного быстрее. Это свойство используют при организации монолитных ядер и библиотек, работающих на уровне ядра.
Модель OSI
Open Systems Interconnection
- это абстрактная модель для сетевых коммуникаций и разработки сетевых протоколов. Эта модель представляет собой уровневый подход к сети. Каждый уровень обеспечивает свою часть процесса взаимодействия. Стандарт по этой модели (ISO/OSI) принят в 1978 году.
ISO – International Standartization Organization
В 1984 году эта спецификация была принята как международный стандарт сетевых коммуникаций. Этот стандарт представляет собой семиуровневую модель.
Физический уровень
Его осуществлением занимаются кабели, разъемы. Данные передаются в виде бит. Сигналы, бинарная передача.
Канальный уровень
Осуществляется сетевыми адаптерами, данные передаются пакетами. Здесь работает физическая адресация, то есть мак-адреса сетевых адаптеров.
Сетевой уровень
Появляется логическая адресация. Определяется путь пакета. Осуществляется IP-протоколом. На этом уровне осуществляется маршрутизация.
Транспортный уровень
Блоки данных. Данные собираются в файлы или сообщения. Этот уровень осуществляется протоколом TCP.
Сеансовый уровень
На этом уровне обрабатывается порядок данных, начало и конец сеанса связи. Обеспечивается протоколами удаленного доступа (например, Telnet).
Уровень представления
Занимается представлением и кодированием данных, выбирает кодировки. Этот уровень обслуживается DNS.
Прикладной уровень
Осуществляет доступ к прикладным программам, выдает данные пользователю в том виде, в котором их представляет программа. Здесь могут применяться протоколы ftp, smpt.
Межуровневое взаимодействие осуществляется при помощи стандартизированных интерфейсов (это называют вертикальной моделью OSI). Взаимодействие двух систем по сети образует горизонтальную модель OSI на базе протоколов.
Сетевые операционные системы
Сетевая операционная система отдельного компьютера обеспечивает возможность работы в сети. Она состоит из нескольких систем:
Средства управления локальными ресурсами:
- функции распределения оперативной памяти между процессами;
- функции планирования и диспетчеризации процессов;
- функции управления периферийными устройствами и ресурсами.
Средства предоставления собственных ресурсов и услуг в общее пользование.
Эти средства называются серверной частью операционной системы.
Средства запроса доступа к удаленным ресурсам и услугам
– клиентская часть ( = редиректор)
Эта часть выполняет распознавание и перенаправление в сеть запросов к удаленным ресурсам. Эта часть также осуществляет прием ответов от серверов и преобразование их в локальный формат, понятный приложениям.
Коммуникационные средства операционной системы
Обеспечивают обмен сообщениями в сети, адресацию и буферизацию информации, выбор маршрута передачи сообщения по сети, надежность передачи.
Классификация сетей
Одноранговые
С выделенным сервером
Классификация ведется по принципу, по которому распределены функции компьютера в сети.
Сервер – это программа или устройство, предоставляющее свои ресурсы другим программам или устройствам.
Клиент – потребитель ресурсов.
Любой компьютер сети может быть как клиентом, так и сервером, а может и совмещать в себе обе функции. При совмещении – одноранговая сеть.
Одноранговые сети проще в организации и эксплуатации, но их недостатки: невозможность централизованного управления, централизованной локализации данных, незащищенность информации.
Сети с выделенным сервером решают эти недостатки, но требуют дополнительных материальных и интеллектуальных расходов.