Реферат: Лекции по предмету "Операционные системы"

Введение

Определение операционной системы

Операционнаясистема в наибольшей степени определяет облик всей вычислительной системы вцелом. Несмотря на это, пользователи, активно использующие вычислительнуютехнику, зачастую испытывают затруднения при попытке дать определениеоперационной системе. Частично это связано с тем, что ОС выполняет две посуществу мало связанные функции: обеспечение пользователю-программисту удобствпосредством предоставления для него расширенной машины и повышениеэффективности использования компьютера путем рационального управления егоресурсами.

ОС как расширенная машина

Использованиебольшинства компьютеров на уровне машинного языка затруднительно, особенно этокасается ввода-вывода. Например, для организации чтения блока данных с гибкогодиска программист может использовать 16 различных команд, каждая из которыхтребует 13 параметров, таких как номер блока на диске, номер сектора на дорожкеи т. п. Когда выполнение операции с диском завершается, контроллер возвращает23 значения, отражающих наличие и типы ошибок, которые, очевидно, надоанализировать. Даже если не входить в курс реальных проблем программированияввода-вывода, ясно, что среди программистов нашлось бы не много желающихнепосредственно заниматься программированием этих операций. При работе с дискомпрограммисту-пользователю достаточно представлять его в виде некоторого наборафайлов, каждый из которых имеет имя. Работа с файлом заключается в егооткрытии, выполнении чтения или записи, а затем в закрытии файла. Вопросыподобные таким, как следует ли при записи использовать усовершенствованнуючастотную модуляцию или в каком состоянии сейчас находится двигатель механизмаперемещения считывающих головок, не должны волновать пользователя. Программа,которая скрывает от программиста все реалии аппаратуры и предоставляет возможностьпростого, удобного просмотра указанных файлов, чтения или записи — это,конечно, операционная система. Точно также, как ОС ограждает программистов отаппаратуры дискового накопителя и предоставляет ему простой файловый интерфейс,операционная система берет на себя все малоприятные дела, связанные собработкой прерываний, управлением таймерами и оперативной памятью, а такжедругие низкоуровневые проблемы. В каждом случае та абстрактная, воображаемаямашина, с которой, благодаря операционной системе, теперь может иметь делопользователь, гораздо проще и удобнее в обращении, чем реальная аппаратура,лежащая в основе этой абстрактной машины.

С этой точкизрения функцией ОС является предоставление пользователю некоторой расширеннойили виртуальной машины, которую легче программировать и с которой легчеработать, чем непосредственно с аппаратурой, составляющей реальную машину.

ОС как система управления ресурсами

Идея о том, чтоОС прежде всего система, обеспечивающая удобный интерфейс пользователям,соответствует рассмотрению сверху вниз. Другой взгляд, снизу вверх, дает представлениеоб ОС как о некотором механизме, управляющем всеми частями сложной системы.Современные вычислительные системы состоят из процессоров, памяти, таймеров,дисков, накопителей на магнитных лентах, сетевых коммуникационной аппаратуры,принтеров и других устройств. В соответствии со вторым подходом функцией ОСявляется распределение процессоров, памяти, устройств и данных междупроцессами, конкурирующими за эти ресурсы. ОС должна управлять всеми ресурсамивычислительной машины таким образом, чтобы обеспечить максимальнуюэффективность ее функционирования. Критерием эффективности может быть,например, пропускная способность или реактивность системы. Управление ресурсамивключает решение двух общих, не зависящих от типа ресурса задач:

планирование ресурса — то есть определение, кому, когда, а для делимых ресурсов и в каком количестве, необходимо выделить данный ресурс; отслеживание состояния ресурса — то есть поддержание оперативной информации о том, занят или не занят ресурс, а для делимых ресурсов — какое количество ресурса уже распределено, а какое свободно.

Для решения этихобщих задач управления ресурсами разные ОС используют различные алгоритмы, чтов конечном счете и определяет их облик в целом, включая характеристикипроизводительности, область применения и даже пользовательский интерфейс. Так,например, алгоритм управления процессором в значительной степени определяет, являетсяли ОС системой разделения времени, системой пакетной обработки или системойреального времени.

Эволюция ОСПервый период (1945 -1955)

Известно, что компьютер был изобретен английскимматематиком Чарльзом Бэбиджем в конце восемнадцатого века. Его «аналитическаямашина» так и не смогла но-настоящему заработать, потому что технологиитого времени не удовлетворяли требованиям по изготовлению деталей точноймеханики, которые были необходимы для вычислительной техники. Известно также,что этот компьютер не имел операционной системы.

Некоторый прогресс в создании цифровыхвычислительных машин произошел после второй мировой войны. В середине 40-х былисозданы первые ламповые вычислительные устройства. В то время одна и та жегруппа людей участвовала и в проектировании, и в эксплуатации, и впрограммировании вычислительной машины. Это была скореенаучно-исследовательская работа в области вычислительной техники, а не использованиекомпьютеров в качестве инструмента решения каких-либо практических задач издругих прикладных областей. Программирование осуществлялось исключительно намашинном языке. Об операционных системах не было и речи, все задачи организациивычислительного процесса решались вручную каждым программистом с пультауправления. Не было никакого другого системного программного обеспечения, кромебиблиотек математических и служебных подпрограмм.

Второй период (1955 — 1965)

С середины 50-х годов начался новый период вразвитии вычислительной техники, связанный с появлением новой технической базы- полупроводниковых элементов. Компьютеры второго поколения стали болеенадежными, теперь они смогли непрерывно работать настолько долго, чтобы на нихможно было возложить выполнение действительно практически важных задач. Именнов этот период произошло разделение персонала на программистов и операторов,эксплуатационщиков и разработчиков вычислительных машин.

В эти годы появились первые алгоритмическиеязыки, а следовательно и первые системные программы — компиляторы. Стоимостьпроцессорного времени возросла, что потребовало уменьшения непроизводительныхзатрат времени между запусками программ. Появились первые системы пакетнойобработки, которые просто автоматизировали запуск одной программ за другой итем самым увеличивали коэффициент загрузки процессора. Системы пакетнойобработки явились прообразом современных операционных систем, они стали первымисистемными программами, предназначенными для управления вычислительнымпроцессом. В ходе реализации систем пакетной обработки был разработанформализованный язык управления заданиями, с помощью которого программист сообщалсистеме и оператору, какую работу он хочет выполнить на вычислительной машине.Совокупность нескольких заданий, как правило в виде колоды перфокарт, получиланазвание пакета заданий.

Третий период (1965 — 1980)

Следующий важный период развития вычислительныхмашин относится к 1965-1980 годам. В это время в технической базе произошелпереход от отдельных полупроводниковых элементов типа транзисторов к интегральныммикросхемам, что дало гораздо большие возможности новому, третьему поколениюкомпьютеров.

Для этого периода характерно также созданиесемейств программно-совместимых машин. Первым семейством программно-совместимыхмашин, построенных на интегральных микросхемах, явилась серия машин IBM/360.Построенное в начале 60-х годов это семейство значительно превосходило машинывторого поколения по критерию цена/произ-водительность. Вскоре идеяпрограммно-совместимых машин стала общепризнанной.

Программная совместимость требовала исовместимости операционных систем. Такие операционные системы должны были быработать и на больших, и на малых вычислительных системах, с большим и с малымколичеством разнообразной периферии, в коммерческой области и в области научныхисследований. Операционные системы, построенные с намерением удовлетворить всемэтим противоречивым требованиям, оказались чрезвычайно сложными«монстрами». Они состояли из многих миллионов ассемблерных строк,написанных тысячами программистов, и содержали тысячи ошибок, вызывающих нескончаемыйпоток исправлений. В каждой новой версии операционной системы исправлялись одниошибки и вносились другие.

Однако, несмотря на необозримые размеры имножество проблем, OS/360 и другие ей подобные операционные системы машинтретьего поколения действительно удовлетворяли большинству требований потребителей.Важнейшим достижением ОС данного поколения явилась реализациямультипрограммирования. Мультипрограммирование- это способ организации вычислительного процесса, при котором на одномпроцессоре попеременно выполняются несколько программ. Пока одна программавыполняет операцию ввода-вывода, процессор не простаивает, как это происходилопри последовательном выполнении программ (однопрограммный режим), а выполняетдругую программу (многопрограммный режим). При этом каждая программазагружается в свой участок оперативной памяти, называемый разделом.

Другое нововведение — спулинг (spooling). Спулинг в то время определялся какспособ организации вычислительного процесса, в соответствии с которым заданиясчитывались с перфокарт на диск в том темпе, в котором они появлялись впомещении вычислительного центра, а затем, когда очередное задание завершалось,новое задание с диска загружалось в освободившийся раздел.

Наряду с мультипрограммной реализацией системпакетной обработки появился новый тип ОС — системы разделения времени. Вариантмультипрограммирования, применяемый в системах разделения времени, нацелен насоздание для каждого отдельного пользователя иллюзии единоличного использованиявычислительной машины.

Четвертый период (1980 — настоящее время)

Следующий период в эволюции операционных системсвязан с появлением больших интегральных схем (БИС). В эти годы произошлорезкое возрастание степени интеграции и удешевление микросхем. Компьютер сталдоступен отдельному человеку, и наступила эра персональных компьютеров. С точкизрения архитектуры персональные компьютеры ничем не отличались от классаминикомпьютеров типа PDP-11, но вот цена у них существенно отличалась. Еслиминикомпьютер дал возможность иметь собственную вычислительную машину отделупредприятия или университету, то персональный компьютер сделал это возможнымдля отдельного человека.

Компьютеры стали широко использоватьсянеспециалистами, что потребовало разработки «дружественного»программного обеспечения, это положило конец кастовости программистов.

На рынке операционных систем доминировали двесистемы: MS-DOS и UNIX. Однопрограммная однопользовательская ОС MS-DOS широкоиспользовалась для компьютеров, построенных на базе микропроцессоров Intel 8088,а затем 80286, 80386 и 80486. Мультипрограммная многопользовательская ОС UNIXдоминировала в среде «не-интеловских» компьютеров, особеннопостроенных на базе высокопроизводительных RISC-процессоров.

В середине 80-х стали бурно развиваться сетиперсональных компьютеров, работающие под управлением сетевых или распределенныхОС.

В сетевых ОС пользователи должны быть осведомленыо наличии других компьютеров и должны делать логический вход в другойкомпьютер, чтобы воспользоваться его ресурсами, преимущественно файлами. Каждаямашина в сети выполняет свою собственную локальную операционную систему,отличающуюся от ОС автономного компьютера наличием дополнительных средств,позволяющих компьютеру работать в сети. Сетевая ОС не имеет фундаментальныхотличий от ОС однопроцессорного компьютера. Она обязательно содержитпрограммную поддержку для сетевых интерфейсных устройств (драйвер сетевогоадаптера), а также средства для удаленного входа в другие компьютеры сети исредства доступа к удаленным файлам, однако эти дополнения существенно неменяют структуру самой операционной системы.

Классификация ОС

Операционные системы могут различатьсяособенностями реализации внутренних алгоритмов управления основными ресурсамикомпьютера (процессорами, памятью, устройствами), особенностями использованныхметодов проектирования, типами аппаратных платформ, областями использования имногими другими свойствами.

Ниже приведена классификация ОС по несколькимнаиболее основным признакам.

Особенности алгоритмовуправления ресурсами

От эффективности алгоритмов управления локальнымиресурсами компьютера во многом зависит эффективность всей сетевой ОС в целом.Поэтому, характеризуя сетевую ОС, часто приводят важнейшие особенностиреализации функций ОС по управлению процессорами, памятью, внешнимиустройствами автономного компьютера. Так, например, в зависимости отособенностей использованного алгоритма управления процессором, операционныесистемы делят на многозадачные и однозадачные, многопользовательские и однопользовательские,на системы, поддерживающие многонитевую обработку и не поддерживающие ее, намногопроцессорные и однопроцессорные системы.

Поддержкамногозадачности. По числу одновременно выполняемых задач операционныесистемы могут быть разделены на два класса:

однозадачные (например, MS-DOS, MSX) и многозадачные (OC EC, OS/2, UNIX, Windows 95).

Однозадачные ОС в основном выполняют функциюпредоставления пользователю виртуальной машины, делая более простым и удобнымпроцесс взаимодействия пользователя с компьютером. Однозадачные ОС включаютсредства управления периферийными устройствами, средства управления файлами,средства общения с пользователем.

Многозадачные ОС, кроме вышеперечисленныхфункций, управляют разделением совместно используемых ресурсов, таких какпроцессор, оперативная память, файлы и внешние устройства.

Поддержкамногопользовательского режима. Почислу одновременно работающих пользователей ОС делятся на:

однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2); многопользовательские (UNIX, Windows NT).

Главным отличием многопользовательских систем отоднопользовательских является наличие средств защиты информации каждогопользователя от несанкционированного доступа других пользователей. Следуетзаметить, что не всякая многозадачная система является многопользовательской, ине всякая однопользовательская ОС является однозадачной.

Вытесняющаяи невытесняющая многозадачность. Важнейшим разделяемым ресурсом являетсяпроцессорное время. Способ распределения процессорного времени между несколькимиодновременно существующими в системе процессами (или нитями) во многомопределяет специфику ОС. Среди множества существующих вариантов реализации многозадачностиможно выделить две группы алгоритмов:

невытесняющая многозадачность (NetWare, Windows 3.x); вытесняющая многозадачность (Windows NT, OS/2, UNIX).

Основным различием между вытесняющим иневытесняющим вариантами многозадачности является степень централизациимеханизма планирования процессов. В первом случае механизм планирования процессовцеликом сосредоточен в операционной системе, а во втором — распределен междусистемой и прикладными программами. При невытесняющей многозадачности активныйпроцесс выполняется до тех пор, пока он сам, по собственной инициативе, неотдаст управление операционной системе для того, чтобы та выбрала из очередидругой готовый к выполнению процесс. При вытесняющей многозадачности решение опереключении процессора с одного процесса на другой принимается операционнойсистемой, а не самим активным процессом.

Поддержкамногонитевости. Важным свойствомоперационных систем является возможность распараллеливания вычислений в рамкаходной задачи. Многонитевая ОС разделяет процессорное время не между задачами, амежду их отдельными ветвями (нитями).

Многопроцессорнаяобработка. Другим важнымсвойством ОС является отсутствие или наличие в ней средств поддержкимногопроцессорной обработки — мультипроцессирование.Мультипроцессирование приводит к усложнению всех алгоритмов управления ресурсами.

В наши дни становится общепринятым введение в ОСфункций поддержки многопроцессорной обработки данных. Такие функции имеются воперационных системах Solaris 2.x фирмы Sun, Open Server 3.x компании SantaCrus Operations, OS/2 фирмы IBM, Windows NT фирмы Microsoft и NetWare 4.1 фирмыNovell.

Многопроцессорные ОС могут классифицироваться поспособу организации вычислительного процесса в системе с многопроцессорнойархитектурой: асимметричные ОС и симметричные ОС. Асимметричная ОС целикомвыполняется только на одном из процессоров системы, распределяя прикладныезадачи по остальным процессорам. Симметричная ОС полностью децентрализована ииспользует весь пул процессоров, разделяя их между системными и прикладнымизадачами.

Выше были рассмотрены характеристики ОС,связанные с управлением только одним типом ресурсов — процессором. Важноевлияние на облик операционной системы в целом, на возможности ее использованияв той или иной области оказывают особенности и других подсистем управлениялокальными ресурсами — подсистем управления памятью, файлами, устройствамиввода-вывода.

Специфика ОС проявляется и в том, каким образомона реализует сетевые функции: распознавание и перенаправление в сеть запросовк удаленным ресурсам, передача сообщений по сети, выполнение удаленныхзапросов. При реализации сетевых функций возникает комплекс задач, связанных сраспределенным характером хранения и обработки данных в сети: ведениесправочной информации о всех доступных в сети ресурсах и серверах, адресациявзаимодействующих процессов, обеспечение прозрачности доступа, тиражированиеданных, согласование копий, поддержка безопасности данных.

Особенности аппаратных платформ

На свойства операционной системы непосредственноевлияние оказывают аппаратные средства, на которые она ориентирована. По типуаппаратуры различают операционные системы персональных компьютеров,мини-компьютеров, мейнфреймов, кластеров и сетей ЭВМ. Среди перечисленных типовкомпьютеров могут встречаться как однопроцессорные варианты, так имногопроцессорные. В любом случае специфика аппаратных средств, как правило,отражается на специфике операционных систем.

Очевидно, что ОС большой машины является болеесложной и функциональной, чем ОС персонального компьютера. Так в ОС большихмашин функции по планированию потока выполняемых задач, очевидно, реализуютсяпутем использования сложных приоритетных дисциплин и требуют большейвычислительной мощности, чем в ОС персональных компьютеров. Аналогично обстоитдело и с другими функциями.

Сетевая ОС имеет в своем составе средствапередачи сообщений между компьютерами по линиям связи, которые совершенно ненужны в автономной ОС. На основе этих сообщений сетевая ОС поддерживаетразделение ресурсов компьютера между удаленными пользователями, подключенными ксети. Для поддержания функций передачи сообщений сетевые ОС содержатспециальные программные компоненты, реализующие популярные коммуникационныепротоколы, такие как IP, IPX, Ethernet и другие.

Многопроцессорные системы требуют от операционнойсистемы особой организации, с помощью которой сама операционная система, атакже поддерживаемые ею приложения могли бы выполняться параллельно отдельнымипроцессорами системы. Параллельная работа отдельных частей ОС создаетдополнительные проблемы для разработчиков ОС, так как в этом случае гораздосложнее обеспечить согласованный доступ отдельных процессов к общим системнымтаблицам, исключить эффект гонок и прочие нежелательные последствияасинхронного выполнения работ.

Другие требования предъявляются к операционнымсистемам кластеров. Кластер — слабо связанная совокупность несколькихвычислительных систем, работающих совместно для выполнения общих приложений, ипредставляющихся пользователю единой системой. Наряду со специальнойаппаратурой для функционирования кластерных систем необходима и программнаяподдержка со стороны операционной системы, которая сводится в основном ксинхронизации доступа к разделяемым ресурсам, обнаружению отказов и динамическойреконфигурации системы. Одной из первых разработок в области кластерныхтехнологий были решения компании Digital Equipment на базе компьютеров VAX.Недавно этой компанией заключено соглашение с корпорацией Microsoft оразработке кластерной технологии, использующей Windows NT. Несколько компанийпредлагают кластеры на основе UNIX-машин.

Наряду с ОС, ориентированными на совершенноопределенный тип аппаратной платформы, существуют операционные системы,специально разработанные таким образом, чтобы они могли быть легко перенесены скомпьютера одного типа на компьютер другого типа, так называемые мобильные ОС. Наиболее ярким примеромтакой ОС является популярная система UNIX. В этих системах аппаратно-зависимыеместа тщательно локализованы, так что при переносе системы на новую платформупереписываются только они. Средством, облегчающем перенос остальной части ОС,является написание ее на машинно-независимом языке, например, на С, который ибыл разработан для программирования операционных систем.

Особенности областейиспользования

Многозадачные ОС подразделяются на три типа всоответствии с использованными при их разработке критериями эффективности:

системы пакетной обработки (например, OC EC), системы разделения времени (UNIX, VMS), системы реального времени (QNX, RT/11).

Системыпакетной обработки предназначались для решения задач в основном вычислительногохарактера, не требующих быстрого получения результатов. Главной целью икритерием эффективности систем пакетной обработки является максимальнаяпропускная способность, то есть решение максимального числа задач в единицувремени. Для достижения этой цели в системах пакетной обработки используются следующаясхема функционирования: в начале работы формируется пакет заданий, каждоезадание содержит требование к системным ресурсам; из этого пакета заданийформируется мультипрограммная смесь, то есть множество одновременно выполняемыхзадач. Для одновременного выполнения выбираются задачи, предъявляющиеотличающиеся требования к ресурсам, так, чтобы обеспечивалась сбалансированнаязагрузка всех устройств вычислительной машины; так, например, вмультипрограммной смеси желательно одновременное присутствие вычислительныхзадач и задач с интенсивным вводом-выводом. Таким образом, выбор нового заданияиз пакета заданий зависит от внутренней ситуации, складывающейся в системе, тоесть выбирается «выгодное» задание. Следовательно, в таких ОС невозможногарантировать выполнение того или иного задания в течение определенного периодавремени. В системах пакетной обработки переключение процессора с выполненияодной задачи на выполнение другой происходит только в случае, если активнаязадача сама отказывается от процессора, например, из-за необходимости выполнитьоперацию ввода-вывода. Поэтому одна задача может надолго занять процессор, чтоделает невозможным выполнение интерактивных задач. Таким образом,взаимодействие пользователя с вычислительной машиной, на которой установленасистема пакетной обработки, сводится к тому, что он приносит задание, отдаетего диспетчеру-оператору, а в конце дня после выполнения всего пакета заданийполучает результат. Очевидно, что такой порядок снижает эффективность работыпользователя.

Системыразделения времени призваны исправить основной недостаток систем пакетнойобработки — изоляцию пользователя-программиста от процесса выполнения егозадач. Каждому пользователю системы разделения времени предоставляется терминал,с которого он может вести диалог со своей программой. Так как в системахразделения времени каждой задаче выделяется только квант процессорного времени,ни одна задача не занимает процессор надолго, и время ответа оказываетсяприемлемым. Если квант выбран достаточно небольшим, то у всех пользователей,одновременно работающих на одной и той же машине, складывается впечатление, чтокаждый из них единолично использует машину. Ясно, что системы разделениявремени обладают меньшей пропускной способностью, чем системы пакетнойобработки, так как на выполнение принимается каждая запущенная пользователемзадача, а не та, которая «выгодна» системе, и, кроме того, имеютсянакладные расходы вычислительной мощности на более частое переключение процессорас задачи на задачу. Критерием эффективности систем разделения времени являетсяне максимальная пропускная способность, а удобство и эффективность работыпользователя.

Системыреального времени применяются для управления различными техническимиобъектами, такими, например, как станок, спутник, научная экспериментальнаяустановка или технологическими процессами, такими, как гальваническая линия,доменный процесс и т.п. Во всех этих случаях существует предельно допустимоевремя, в течение которого должна быть выполнена та или иная программа,управляющая объектом, в противном случае может произойти авария: спутник выйдетиз зоны видимости, экспериментальные данные, поступающие с датчиков, будутпотеряны, толщина гальванического покрытия не будет соответствовать норме. Такимобразом, критерием эффективности для систем реального времени является ихспособность выдерживать заранее заданные интервалы времени между запускомпрограммы и получением результата (управляющего воздействия). Это времяназывается временем реакции системы, а соответствующее свойство системы — реактивностью. Для этих систем мультипрограммная смесь представляет собойфиксированный набор заранее разработанных программ, а выбор программы навыполнение осуществляется исходя из текущего состояния объекта или всоответствии с расписанием плановых работ.

Некоторые операционные системы могут совмещать всебе свойства систем разных типов, например, часть задач может выполняться врежиме пакетной обработки, а часть — в режиме реального времени или в режимеразделения времени. В таких случаях режим пакетной обработки часто называютфоновым режимом.

Особенности методов построения

При описании операционной системы частоуказываются особенности ее структурной организации и основные концепции,положенные в ее основу.

К таким базовым концепциям относятся:

Способы построения ядра системы — монолитное ядро или микроядерный подход. Большинство ОС использует монолитное ядро, которое компонуется как одна программа, работающая в привилегированном режиме и использующая быстрые переходы с одной процедуры на другую, не требующие переключения из привилегированного режима в пользовательский и наоборот. Альтернативой является построение ОС на базе микроядра, работающего также в привилегированном режиме и выполняющего только минимум функций по управлению аппаратурой, в то время как функции ОС более высокого уровня выполняют специализированные компоненты ОС — серверы, работающие в пользовательском режиме. При таком построении ОС работает более медленно, так как часто выполняются переходы между привилегированным режимом и пользовательским, зато система получается более гибкой — ее функции можно наращивать, модифицировать или сужать, добавляя, модифицируя или исключая серверы пользовательского режима. Кроме того, серверы хорошо защищены друг от друга, как и любые пользовательские процессы. Построение ОС на базе объектно-ориентированного подхода дает возможность использовать все его достоинства, хорошо зарекомендовавшие себя на уровне приложений, внутри операционной системы, а именно: аккумуляцию удачных решений в форме стандартных объектов, возможность создания новых объектов на базе имеющихся с помощью механизма наследования, хорошую защиту данных за счет их инкапсуляции во внутренние структуры объекта, что делает данные недоступными для несанкционированного использования извне, структуризованность системы, состоящей из набора хорошо определенных объектов. Наличие нескольких прикладных сред дает возможность в рамках одной ОС одновременно выполнять приложения, разработанные для нескольких ОС. Многие современные операционные системы поддерживают одновременно прикладные среды MS-DOS, Windows, UNIX (POSIX), OS/2 или хотя бы некоторого подмножества из этого популярного набора. Концепция множественных прикладных сред наиболее просто реализуется в ОС на базе микроядра, над которым работают различные серверы, часть которых реализуют прикладную среду той или иной операционной системы. Распределенная организация операционной системы позволяет упростить работу пользователей и программистов в сетевых средах. В распределенной ОС реализованы механизмы, которые дают возможность пользователю представлять и воспринимать сеть в виде традиционного однопроцессорного компьютера. Характерными признаками распределенной организации ОС являются: наличие единой справочной службы разделяемых ресурсов, единой службы времени, использование механизма вызова удаленных процедур (RPC) для прозрачного распределения программных процедур по машинам, многонитевой обработки, позволяющей распараллеливать вычисления в рамках одной задачи и выполнять эту задачу сразу на нескольких компьютерах сети, а также наличие других распределенных служб. Сетевыеоперационные системыСтруктура сетевой операционнойсистемы

Сетевая операционная система составляет основулюбой вычислительной сети. Каждый компьютер в сети в значительной степениавтономен, поэтому под сетевой операционной системой в широком смысле понимаетсясовокупность операционных систем отдельных компьютеров, взаимодействующих сцелью обмена сообщениями и разделения ресурсов по единым правилам — протоколам.В узком смысле сетевая ОС — это операционная система отдельного компьютера,обеспечивающая ему возможность работать в сети.

<img src="/cache/referats/13321/image001.gif" v:shapes="_x0000_i1025">

Рис.1.1. Структура сетевой ОС

В сетевой операционной системе отдельной машиныможно выделить несколько частей (рисунок 1.1):

Средства управления локальными ресурсами компьютера: функции распределения оперативной памяти между процессами, планирования и диспетчеризации процессов, управления процессорами в мультипроцессорных машинах, управления периферийными устройствами и другие функции управления ресурсами локальных ОС. Средства предоставления собственных ресурсов и услуг в общее пользование — серверная часть ОС (сервер). Эти средства обеспечивают, например, блокировку файлов и записей, что необходимо для их совместного использования; ведение справочников имен сетевых ресурсов; обработку запросов удаленного доступа к собственной файловой системе и базе данных; управление очередями запросов удаленных пользователей к своим периферийным устройствам. Средства запроса доступа к удаленным ресурсам и услугам и их использования — клиентская часть ОС (редиректор). Эта часть выполняет распознавание и перенаправление в сеть запросов к удаленным ресурсам от приложений и пользователей, при этом запрос поступает от приложения в локальной форме, а передается в сеть в другой форме, соответствующей требованиям сервера. Клиентская часть также осуществляет прием ответов от серверов и преобразование их в локальный формат, так что для приложения выполнение локальных и удаленных запросов неразличимо. Коммуникационные средства ОС, с помощью которых происходит обмен сообщениями в сети. Эта часть обеспечивает адресацию и буферизацию сообщений, выбор маршрута передачи сообщения по сети, надежность передачи и т.п., то есть является средством транспортировки сообщений.

В зависимости от функций, возлагаемых наконкретный компьютер, в его операционной системе может отсутствовать либо клиентская,либо серверная части.

На рисунке 1.2 показано взаимодействие сетевыхкомпонентов. Здесь компьютер 1 выполняет роль «чистого» клиента, акомпьютер 2 — роль «чистого» сервера, соответственно на первой машинеотсутствует серверная часть, а на второй — клиентская. На рисунке отдельнопоказан компонент клиентской части — редиректор. Именно редиректор перехватываетвсе запросы, поступающие от приложений, и анализирует их. Если выдан запрос кресурсу данного компьютера, то он переадресовывается соответствующей подсистемелокальной ОС, если же это запрос к удаленному ресурсу, то он переправляется всеть. При этом клиентская часть преобразует запрос из локальной формы в сетевойформат и передает его транспортной подсистеме, которая отвечает за доставку сообщенийуказанному серверу. Серверная часть операционной системы компьютера 2 принимаетзапрос, преобразует его и передает для выполнения своей локальной ОС. Послетого, как результат получен, сервер обращается к транспортной подсистеме инаправляет ответ клиенту, выдавшему запрос. Клиентская часть преобразуетрезультат в соответствующий формат и адресует его тому приложению, котороевыдало запрос.

<img src="/cache/referats/13321/image002.gif" v:shapes="_x0000_i1026">

Рис.1.2. взаимодействие компонентов операционной системы при взаимодействии компьютеров

На практике сложилось несколько подходов кпостроению сетевых операционных систем (рисунок 1.3).

Первые сетевые ОС представляли собой совокупностьсуществующей локальной ОС и надстроенной над ней сетевой оболочки. При этом в локальную ОС встраивался минимумсетевых функций, необходимых для работы сетевой оболочки, которая выполнялаосновные сетевые функции. Примером такого подхода является использование накаждой машине сети операционной системы MS DOS (у которой начиная с ее третьейверсии появились такие встроенные функции, как блокировка файлов и записей,необходимые для совместного доступа к файлам). Принцип построения сетевых ОС ввиде сетевой оболочки над локальной ОС используется и в современных ОС, таких,например, как LANtastic или Personal Ware.

<img src="/cache/referats/13321/image003.gif" v:shapes="_x0000_i1027">

Рис.1.3. Варианты построения сетевых ОС

Однако более эффективным представляется путьразработки операционных систем, изначально предназначенных для работы в сети.Сетевые функции у ОС такого типа глубоко встроеныв основные модули системы, что обеспечивает их логическую стройность, простотуэксплуатации и модификации, а также высокую производительность. Примером такойОС является система Windows NT фирмы Microsoft, которая за счет встроенности сетевыхсредств обеспечивает более высокие показатели производительности и защищенностиинформации по сравнению с сетевой ОС LAN Manager той же фирмы (совместнаяразработка с IBM), являющейся надстройкой над локальной операционной системойOS/2.

Одноранговые сетевые ОС и ОС свыделенным
еще рефераты
Еще работы по программированию, базе данных