Большая часть программного обеспечения ввода вывода есть независимой от устройств. Точная граница между драйверами и независимыми от устройств программами определяется системой, потому что некоторые функции, которые могли бы быть реализованы независимым средством, в действительности выполненные в виде драйверов для повышения эффективности или по другим причинах.
Типичными функциями для независимой от устройств прослойки есть:
обеспечение общего интерфейса к драйверам устройств,
именование устройств, защита устройств,
обеспечение независимого размера блока,
буферизация,
распределение памяти на блок-ориентированных устройствах,
распределение и освобождения выделенных устройств,
сообщение об ошибках.
При вызовах кодов, которые владеют разными уровнями привилегий, возникает проблема передачи параметров между разными стеками, потому что для надежной защиты задачи разного уровня привилегий имеют разные сегменты стеков. Селекторы этих сегментов хранятся в контексте задача - сегменте TSS (Task State Segment). Если визивається подпрограмма, которая имеет другой уровень привилегий, то из текущего стека у стек уровня доступа что вызывается сегмента копируется столько 32- разрядных слов, сколько указано в поле счетчика слов дескриптора шлюза.
Планирование процессов содержит в себе решение таких задач:
определение момента времени для изменения выполняемого процесса;
выбор процесса на выполнение с очереди готовых процессов;
переключение контекстов "старого" и "нового" процессов.
Первые две задачи решаются программными средствами, а последняя в значительной мере аппаратно (см. раздел 2.3. "Средства аппаратной поддержки управления памятью и многозадачной средой в микропроцессорах Intel 80386, 80486 и Pentium").
На протяжении существования процесса его выполнение может быть многократно прерванное и продлено. Для того, чтобы восстановить выполнение процесса, необходимо восстановить состояние его операционного среды. Состояние операционного среды отображается по состоянию регистров и программного счетчика, режимом работы процессора, указателями на открытые файлы, информацией о незавершенных операциях внедрения-висновка, кодами ошибок выполняемых данным процессом системных вызовов и т.д. Эта информация называется контекстом процесса.
В некоторых системах используется понятия рабочего множества страниц. Рабочее множество определяется для каждого процесса и представляет собой перечень более всего часто используемых страниц, которые должны постоянно находиться в оперативной памяти и потому не подлежат розаантаженню.
После того, как избранная страница, которая должна покинуть оперативную память, анализируется ее признак модификации (из таблицы страниц). Если что выталкивается страница с момента загрузки было модифицировано, то ее новая версия должна быть переписана на диск.
В зависимости от того, как распределенные функции между компьютерами сети, сетевые операционные системы, а следовательно, и сети делятся на два класса: одноранговые и двухранговые (рисунок 1.4). Последние чаще называют сетями с выделенными серверами.
(а)
(б)
Рис. 1.4. (а) - Одноранговая сеть, (б) - Двухранговая сеть
Если компьютер предоставляет свои ресурсы другим пользователям сети, то он играет роль серверу.
На свойстве операционной системы непосредственное влияние делают аппаратные средства, на которые она ориентирована. По типу аппаратуры различают операционные системы персональных компьютеров, мини-компьютеров, мейнфреймов, кластеров и сетей ЭВМ. Среди перечисленных типов компьютеров могут встречаться как однопроцессорные варианты, так и многопроцессорные. В любом случае специфика аппаратных средств, как правило, отбивается на специфике операционных систем.
Очевидно, что ОС большой машины есть более сложной и функциональной, чем ОС персонального компьютера.
Механизм доменов можно использовать на предприятии разными средствами. В зависимости от специфики предприятия можно объединить ресурсы и пользователей в разное количество доменов, а также по-разному установить между ними доверительные отношения.
Microsoft предлагает использовать четверых типичные модели использования доменов на предприятии:
Модель с одним доменом;
Модель с главным доменом;
Модель из несколькими главными доменами;
Модель с полными доверительными отношениями.
Модель с одним доменом
Эта модель подходит для организации, в которой есть не очень много пользователей, и нет необходимости разделять ресурсы сети по организационным подразделам.
AFS была разработана в университете Карнеги-Меллона и названная в честь основателей-спонсоров-основателей университета Andrew Carnegie и Andrew Mellon. Эта система, созданная для студентов университета, не является прозрачной системой, в которой все ресурсы динамично назначаются всем пользователям при возникновении нужд. Несмотря на это, файловая система была спроектирована так, чтобы обеспечить прозрачность доступа каждому пользователю, независимо от того, какой рабочей станцией он пользуется.
Особенностью этой файловой системы есть возможность работы по большим (до 10 000) числом рабочих станций.
Хорошим решением был бы переход на единый стек протоколов, но едва ли эта перспектива осуществится в ближайшем будущем. Попытка введения единого стека коммуникационных протоколов сделана в 1990 году правительством США, что обнародовало программу GOSIP - Government OSI Profile, согласно которому стек протоколов OSI должны стать общим знаменателем для всех сетей, устанавливаемых в правительственных организациях США. Но, понимая бесполезность силовых мер, программа GOSIP не ставит задачу немедленного перехода на стек OSI, а принуждает пока к использованию этого стека в качестве "второго языка" правительственных сетей, возле из родным, первым.
Распределенные вычисления имеют дело с понятиями более высокого уровня, чем физические носители, каналы связи и методы передачи по ним сообщений. Распределенная среда должна дать пользователям и приложениям прозрачный доступ к данному, вычислениям и другим ресурсам в гетерогенных системах, которые подают собой набор средств разных производителей. Стратегические архитектуры каждого значительного системного производителя базируются сейчас на той или другой форме распределенного вычислительного среды (DCE).
В данное время именно операционные системы, построенные с использованием модели клиент-сервер и концепции микроядра, в найбольшей мерей удовлетворяют требованиям, предложенным к современным ОС.
Высокая степень переносимости обусловленный тем, что весь машинно-зависимый код изолирован в микроядре, поэтому для переноса системы на новый процессор нужно меньше изменений и все они логически сгруппированы вместе.
Технология микроядер является основой построения множественных прикладных сред, которые обеспечивают совместимость программ, написанных для разных ОС.
Понятие "internetworking" и "interoperability"
До недавнего времени проблемы межсетевого взаимодействия не очень волновали отечественных пользователей и системных администраторов. Они уютно себя чувствовали в замкнутом мире IBM PC совместных компьютеров, сетей Novell и сетевых адаптеров Ethernet, хотя в "большом" миру много фирм, в том числе и Novell, успешно продавали разные средства межсетевой связи. Однако пора монокультурного развития отечественных сетей заканчивается, организации приобретают разную технику, например, бизнесы-серверы Hewlett-Packard, графические станции Sun или Silicon Graphics, мини-компьютеры AS-400 фирмы IBM и другую не меньше достойную аппаратуру с разными операционными системами, поэтому проблемы, характерные для западных корпоративных сетей, постепенно становятся актуальными и для нас.
Apple, вместе из Wordperfect, Novell, Sun, Xerox, Oracle, IBM и Taligent, известными вместе как Component Integration Laboratory (Лаборатория по объединению компонентов), также занимается архитектурой объектно-ориентированных составляющих документов, называемой Opendoc. Создаваемый для работы на разных платформах, этот проект значительно отстает по степени готовности от OLE 2.0.
Ключевыми технологиями Opendoc есть механизм сохранения Бенто (названный так в честь японской тарелки с отделениями для разной пищи), технология сценариев (scripting), заимствованная в значительной мере с Applesript, и SOM фирмы IBM.
Более всего очевидный и простой путь реализации взаимного исключения в распределенных системах - это применения тех же методов, которые используются в однопроцессорных системах. Один из процессов выбирается в качестве координатора (например, процесс, который выполняется на машине, которая имеет самое большое значение сетевого адреса). Когда какой-либо процесс хочет войти в критическую секцию, он посылает сообщение с запросом к координатору, оповещая его о том, в какую критическую секцию он хочет войти, и ждет от координатора разрешение.
Сегодня в типичных программах значительная часть кода занята вызовом GUI ABI. Apple подтверждает, что программы для Mac тратят до 90 процентов процессорного времени на выполнение подпрограмм из Mac toolbox, а не на уникальные для этих программ действия. Sunselect говорит, что программы для Windows тратят от 60 до 80 процентов времени на работу в ядре Windows. В результате при эмуляции программы на основе GUI потери производительности могут быть значительно меньше. Sunselect заявляет, что его новая прикладная среда Windows, WABI (Windows Application Binary Interface - двоичный интерфейс прикладных программ Windows), благодаря сильно оптимизированным библиотекам, на некоторых платформах при выполнении тех самых тестов могут обогнать действительный Microsoft Windows.
s#0