Учебное пособие состоит из восьми глав, написано в соответствии с программой курса «Администрирование вычислительных систем и сетей»



Pdf көрінісі
бет58/117
Дата14.09.2023
өлшемі4,61 Mb.
#181083
түріУчебное пособие
1   ...   54   55   56   57   58   59   60   61   ...   117
Байланысты:
Учебное пособие

Microsoft
. Широкому её распространению способствовала 
бесплатная поставка в форме исходных текстов. Существенная особенность 
UNIX
– переносимость на различные ЭВМ, так как её сетевая файловая система, лучше 
других ОС приспособлена для работы в сетях разнообразных компьютеров. 
Семейство ОС 
UNIX
в основном ориентировано на большие локальные и 
глобальные сети ЭВМ. ОС 
UNIX
одновременно является операционной средой 
использования существующих прикладных программ и средой разработки новых 
приложений. Стандартным языком программирования в данной среде является 
язык Си (Си++). Это объясняется тем, что, во-первых, ОС UNIX написана на языке 
Си, а, во-вторых, язык Си является одним из наиболее качественно 
стандартизованных языков. 
В ОС UNIX, как и в любой другой многопользовательской ОС, 
обеспечивающей защиту пользователей друг от друга и защиту системных данных 
от любого непривилегированного пользователя, имеется защищённое ядро, 
управляющее ресурсами компьютера и предоставляющее пользователям базовый 
набор услуг. Это не очень чётко структурированный монолит большого размера, 
поэтому программирование на уровне ядра ОС 
UNIX
продолжает оставаться 
искусством. 
Система обладает свойством высокой мобильности – вся ОС, включая её ядро, 
сравнительно просто переносится на различные аппаратные платформы. Все части 
системы, не считая ядра, являются полностью машинно-независимыми. Эти 
компоненты аккуратно написаны на языке Си, и их перенос на новую платформу 
обычно требует только перекомпиляция исходных текстов в коды целевого 
компьютера. Небольшая часть ядра машинно-зависимая. Она написана на смеси 
языков Си и Ассемблера целевого процессора. При переносе системы на новую 
платформу требуется переписать эту часть ядра с использованием языка 
Ассемблера и с учётом специфических черт целевой аппаратуры. Машинно-
зависимые части ядра изолированы от основной машинно-независимой части. При 
хорошем понимании назначения каждого машинно-зависимого компонента 
переписывание машинно-зависимой части в основном является технической 
задачей, хотя и требует программистов высокой квалификации. 
Средства общения с ядром в ОС 
UNIX
называются системными вызовами. Для 
обращения к функциям ядра ОС используют “специальные команды” процессора, 
при выполнении которых возникает особое внутреннее прерывание процессора, 
переводящее его в режим ядра. В большинстве современных ОС этот вид 
прерываний называется “
trap
” – ловушка. При обработке таких прерываний 
(дешифрации) ядро ОС распознаёт, что данное прерывание является запросом к 
ядру со стороны пользовательской программы на выполнение определённых 
действий, выбирает параметры обращения и обрабатывает его, после чего 
выполняет “возврат из 


70 
прерывания”, возобновляя нормальное выполнение пользовательской программы. 
Поскольку ОС
 
UNIX
стремится обеспечить среду, в которой 
пользовательские 
программы 
полностью 
мобильны, 
потребовался 
дополнительный уровень, скрывающий особенности конкретного механизма 
возбуждения внутренних прерываний. Он обеспечивается “библиотекой 
системных вызовов” – обычной библиотекой с заранее реализованными 
функциями системы программирования языка Си. Внутри любой функции 
конкретной библиотеки системных вызовов содержится код, являющийся 
специфичным для данной аппаратной платформы. Каждому возможному 
прерыванию процессора соответствует фиксированный адрес физической 
оперативной памяти. Когда процессору разрешается прерваться из-за наличия 
внутренней или внешней заявки на прерывание, происходит аппаратная передача 
управления на ячейку физической оперативной памяти с соответствующим 
адресом. Обычно адрес этой ячейки называется “вектором прерывания”. Как 
правило, заявки на внутреннее прерывание (поступающие непосредственно от 
процессора) удовлетворяются немедленно. ОС должна разместить в 
соответствующих 
ячейках 
оперативной 
памяти 
программный 
код, 
обеспечивающий начальную обработку прерывания и инициирующий полную 
обработку. 
ОС 
UNIX
требуется общая основа организации сетевых средств, основанных 
на многоуровневых протоколах. Для решения этой проблемы реализовано 
несколько механизмов, обладающих примерно одинаковыми возможностями, но 
не совместимых между собой, поскольку каждый из них являлся результатом 
индивидуального проекта. Слабая развитость в 
UNIX
подсистемы ввода/вывода 
потребовала включения потоков, как механизма реализации существующего 
символьного ввода/вывода. Механизм потоков не навязывает конкретной 
архитектуры сети и (или) конкретных протоколов. Как любой другой драйвер 
устройства, потоковый драйвер представляет специальный файл файловой 
системы со стандартным набором операций: 


Достарыңызбен бөлісу:
1   ...   54   55   56   57   58   59   60   61   ...   117




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет