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

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

Введение

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

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

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

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

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

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

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

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

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

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

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

2-ой период (1955 - 1965)

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

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

3-ий период (1965 - 1980)

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

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

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

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

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

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

4-ый период (1980 - истинное время)

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

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

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

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

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

Систематизация ОС

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Особенности Лекции по предмету Операционные системы - реферат способов построения

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

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

Сетевые операционные системы Структура сетевой операционной системы

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

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

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

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

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

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

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

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

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

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

Одноранговые сетевые ОС и ОС с выделенными серверами

Зависимо от того, как распределены функции меж компьютерами сети, сетевые операционные Лекции по предмету Операционные системы - реферат системы, а как следует, и сети делятся на два класса: одноранговые и двухранговые (набросок 1.4). Последние почаще именуют сетями с выделенными серверами.

(а)

(б)

Рис. 1.4. (а) - Одноранговая сеть, (б) - Двухранговая сеть

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

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

Разумеется, что на выделенных серверах лучше устанавливать ОС Лекции по предмету Операционные системы - реферат, специально оптимизированные для выполнения тех либо других серверных функций. Потому в сетях с выделенными серверами в большинстве случаев употребляются сетевые операционные системы, в состав которых заходит нескольких вариантов ОС, отличающихся способностями серверных частей. К примеру, сетевая ОС Novell NetWare имеет серверный вариант, оптимизированный для работы в качестве файл-сервера, также Лекции по предмету Операционные системы - реферат варианты оболочек для рабочих станций с разными локальными ОС, при этом эти оболочки делают только функции клиента. Другим примером ОС, направленной на построение сети с выделенным сервером, является операционная система Windows NT. В отличие от NetWare, оба варианта данной сетевой ОС - Windows NT Server (для выделенного Лекции по предмету Операционные системы - реферат сервера) и Windows NT Workstation (для рабочей станции) - могут поддерживать функции и клиента и сервера. Но серверный вариант Windows NT имеет больше способностей для предоставления ресурсов собственного компьютера другим юзерам сети, потому что может делать более широкий набор функций, поддерживает большее количество одновременных соединений с клиентами, реализует централизованное управление сетью, имеет более Лекции по предмету Операционные системы - реферат развитые средства защиты.

Выделенный сервер не принято использовать в качестве компьютера для выполнения текущих задач, не связанных с его главным предназначением, потому что это может уменьшить производительность его работы как сервера. В связи с такими соображениями в ОС Novell NetWare на серверной части возможность выполнения обыденных прикладных Лекции по предмету Операционные системы - реферат программ вообщем не предусмотрена, другими словами сервер не содержит клиентской части, а на рабочих станциях отсутствуют серверные составляющие. Но в других сетевых ОС функционирование на выделенном сервере клиентской части полностью может быть. К примеру, под управлением Windows NT Server могут запускаться обыденные программки локального юзера, которые могут востребовать Лекции по предмету Операционные системы - реферат выполнения клиентских функций ОС при возникновении запросов к ресурсам других компов сети. При всем этом рабочие станции, на которых установлена ОС Windows NT Workstation, могут делать функции невыделенного сервера.

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

В одноранговых сетях все компы равны в Лекции по предмету Операционные системы - реферат правах доступа к ресурсам друг дружку. Каждый юзер может по собственному желанию объявить какой-нибудь ресурс собственного компьютера разделяемым, после этого другие юзеры могут его эксплуатировать. В таких сетях на всех компьютерах устанавливается одна и та же ОС, которая предоставляет всем компьютерам в сети потенциально равные способности. Одноранговые сети могут быть Лекции по предмету Операционные системы - реферат построены, к примеру, на базе ОС LANtastic, Personal Ware, Windows for Workgroup, Windows NT Workstation.

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

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

ОС для рабочих групп Лекции по предмету Операционные системы - реферат и ОС для сетей масштаба предприятия

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

Главной задачей операционной системы, применяемой в сети масштаба отдела, является организация разделения ресурсов, таких как приложения, данные, лазерные принтеры и, может быть, низкоскоростные модемы. Обычно сети отделов имеют один либо два файловых сервера и менее чем 30 юзеров. Задачки управления на уровне отдела Лекции по предмету Операционные системы - реферат относительно ординарны. В задачки админа заходит добавление новых юзеров, устранение обычных отказов, установка новых узлов и установка новых версий программного обеспечения. Операционные системы сетей отделов отлично отработаны и многообразны, также, как и сами сети отделов, уже издавна применяющиеся и довольно отлаженные. Такая сеть обычно употребляет одну либо максимум две Лекции по предмету Операционные системы - реферат сетевые ОС. В большинстве случаев это сеть с выделенным сервером NetWare 3.x либо Windows NT, либо же одноранговая сеть, к примеру сеть Windows for Workgroups.

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

Итак, последующим шагом в эволюции сетей является объединение локальных сетей нескольких отделов в единую сеть строения либо группы построек. Такие сети именуют сетями кампусов. Сети кампусов могут простираться на несколько км, но при всем этом глобальные соединения не требуются.

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

Конкретно на уровне сети кампуса начинаются препядствия интеграции. В общем случае, отделы уже избрали себе типы компов, сетевого оборудования и сетевых Лекции по предмету Операционные системы - реферат операционных систем. К примеру, инженерный отдел может использовать операционную систему UNIX и сетевое оборудование Ethernet, отдел продаж может использовать операционные среды DOS/Novell и оборудование Token Ring. Очень нередко сеть кампуса соединяет разнородные компьютерные системы, в то время как сети отделов употребляют однотипные компы.

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

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

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

К признакам корпоративных ОС могут быть отнесены также последующие особенности.

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

Сервер приложений должен базироваться на сильной аппаратной платформе (мультипроцессорные системы, нередко на базе RISC-процессоров, спец кластерные архитектуры). ОС сервера приложений должна обеспечивать высшую производительность вычислений, а означает поддерживать многонитевую обработку, вытесняющую многозадачность, мультипроцессирование, виртуальную память и более Лекции по предмету Операционные системы - реферат пользующиеся популярностью прикладные среды (UNIX, Windows, MS-DOS, OS/2). Тут сетевую ОС NetWare тяжело отнести к корпоративным продуктам, потому что в ней отсутствуют практически все требования, предъявляемые к серверу приложений. В то же время не плохая поддержка универсальных приложений в Windows NT фактически и позволяет ей претендовать на место в Лекции по предмету Операционные системы - реферат мире корпоративных товаров.

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

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

В эталоне сетевая справочная информация должна быть реализована в виде единой базы данных, а не представлять собой набор баз данных, специализирующихся Лекции по предмету Операционные системы - реферат на хранении инфы того либо другого вида, как это нередко бывает в реальных операционных системах. К примеру, в Windows NT имеется по последней мере 5 разных типов справочных баз данных. Главный справочник домена (NT Domain Directory Service) хранит информацию о юзерах, которая применяется при организации их логического входа в сеть. Данные Лекции по предмету Операционные системы - реферат о тех же юзерах могут содержаться и в другом справочнике, применяемом электрической почтой Microsoft Mail. Еще три базы данных поддерживают разрешение низкоуровневых адресов: WINS - устанавливает соответствие Netbios-имен Айпишникам, справочник DNS - сервер имен домена - оказывается полезным при подключении NT-сети к Internet, и в конце концов, справочник протокола Лекции по предмету Операционные системы - реферат DHCP употребляется для автоматического предназначения Айпишников компьютерам сети. Поближе к эталону находятся справочные службы, поставляемые компанией Banyan (продукт Streettalk III) и компанией Novell (NetWare Directory Services), предлагающие единый справочник для всех сетевых приложений. Наличие единой справочной службы для сетевой операционной системы - один из важных признаков ее корпоративности.

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

Управление локальными ресурсами

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

Управление процессами

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

Состояние процессов

В многозадачной (многопроцессной) системе процесс может Лекции по предмету Операционные системы - реферат находиться в одном из 3-х главных состояний:

ВЫПОЛНЕНИЕ - активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и конкретно производится микропроцессором;

ОЖИДАНИЕ - пассивное состояние процесса, процесс заблокирован, он не может производиться по своим внутренним причинам, он ожидает воплощения некого действия, к примеру, окончания операции ввода-вывода Лекции по предмету Операционные системы - реферат, получения сообщения от другого процесса, освобождения какого-нибудь нужного ему ресурса;

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

В процессе актуального Лекции по предмету Операционные системы - реферат цикла каждый процесс перебегает из 1-го состояния в другое в согласовании с методом планирования процессов, реализуемым в данной операционной системе. Обычный граф состояний процесса показан на рисунке 2.1.

В состоянии ВЫПОЛНЕНИЕ в однопроцессорной системе может находиться только один процесс, а в каждом из состояний ОЖИДАНИЕ и ГОТОВНОСТЬ Лекции по предмету Операционные системы - реферат - несколько процессов, эти процессы образуют очереди соответственно ожидающих и готовых процессов. Актуальный цикл процесса начинается с состояния ГОТОВНОСТЬ, когда процесс готов к выполнению и ожидает собственной очереди. При активизации процесс перебегает в состояние ВЫПОЛНЕНИЕ и находится в нем до того времени, пока или он сам высвободит микропроцессор, перейдя в состояние ОЖИДАНИЯ какого Лекции по предмету Операционные системы - реферат-либо действия, или будет против воли "вытеснен" из микропроцессора, к примеру, вследствие исчерпания отведенного данному процессу кванта процессорного времени. В последнем случае процесс ворачивается в состояние ГОТОВНОСТЬ. В это состояние процесс перебегает из состояния ОЖИДАНИЕ, после того, как ожидаемое событие произойдет.

Рис. 2.1. Граф состояний процесса в многозадачной среде

Контекст Лекции по предмету Операционные системы - реферат и дескриптор процесса

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

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

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

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

Программный код только тогда начнет производиться, когда для него операционной системой будет сотворен процесс. Сделать процесс - это означает:

  1. сделать информационные структуры, описывающие данный процесс, другими словами его дескриптор и контекст;
  2. включить дескриптор нового процесса в очередь готовых процессов;
  3. загрузить кодовый сектор процесса в оперативку либо в Лекции по предмету Операционные системы - реферат область свопинга.
Методы планирования процессов

Планирование процессов содержит в себе решение последующих задач:

  1. определение момента времени для смены выполняемого процесса;
  2. выбор процесса на выполнение из очереди готовых процессов;
  3. переключение контекстов "старенького" и "нового" процессов.

1-ые две задачки решаются программными средствами, а последняя в значимой степени аппаратно (см Лекции по предмету Операционные системы - реферат. раздел 2.3. "Средства аппаратной поддержки управления памятью и многозадачной среды в процессорах Intel 80386, 80486 и Pentium" ).

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

В согласовании с методами, основанными на квантовании, смена активного процесса происходит, если:

Процесс, который исчерпал собственный квант, переводится в состояние ГОТОВНОСТЬ и Лекции по предмету Операционные системы - реферат ждет, когда ему будет предоставлен новый квант процессорного времени, а на выполнение в согласовании с определенным правилом выбирается новый процесс из очереди готовых. Таким макаром, ни один процесс не занимает микропроцессор навечно, потому квантование обширно употребляется в системах разделения времени. Граф состояний процесса, изображенный на рисунке 2.1, соответствует методу планирования, основанному на Лекции по предмету Операционные системы - реферат квантовании.

Кванты, выделяемые процессам, могут быть схожими для всех процессов либо разными. Кванты, выделяемые одному процессу, могут быть фиксированной величины либо изменяться в различные периоды жизни процесса. Процессы, которые не вполне использовали выделенный им квант (к примеру, из-за ухода на выполнение операций ввода-вывода), могут получить Лекции по предмету Операционные системы - реферат либо не получить компенсацию в виде приемуществ при следующем обслуживании. По различному может быть организована очередь готовых процессов: циклически, по правилу "1-ый пришел - 1-ый обслужился" (FIFO) либо по правилу "последний пришел - 1-ый обслужился" (LIFO).

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

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

Существует две разновидности приоритетных алгоритмов: методы, использующие относительные ценности, и методы, использующие абсолютные ценности.

В обоих случаях Лекции по предмету Операционные системы - реферат выбор процесса на выполнение из очереди готовых осуществляется идиентично: выбирается процесс, имеющий наивысший ценность. По различному решается неувязка определения момента смены активного процесса. В системах с относительными ценностями активный процесс производится до того времени, пока он сам не покинет микропроцессор, перейдя в состояние ОЖИДАНИЕ (либо же произойдет ошибка, либо процесс закончится). В Лекции по предмету Операционные системы - реферат системах с абсолютными ценностями выполнение активного процесса прерывается еще при одном условии: если в очереди готовых процессов появился процесс, ценность которого выше приоритета активного процесса. В данном случае прерванный процесс перебегает в состояние готовности. На рисунке 2.2 показаны графы состояний процесса для алгоритмов с относительными (а) и Лекции по предмету Операционные системы - реферат абсолютными (б) ценностями.

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

Рис. 2.2. Графы состояний процессов в системах
(а) с относительными ценностями; (б Лекции по предмету Операционные системы - реферат)с абсолютными ценностями

Вытесняющие и невытесняющие методы планирования

Существует два главных типа процедур планирования процессов - вытесняющие (preemptive) и невытесняющие (non-preemptive).

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

Preemptive multitasking - вытесняющая многозадачность - это таковой метод, при котором решение о переключении микропроцессора с выполнения 1-го процесса на выполнение другого процесса принимается планировщиком операционной системы, а не самой активной задачей.

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

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

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

Для юзеров это значит, что управление системой пропадает на случайный Лекции по предмету Операционные системы - реферат период времени, который определяется приложением (а не юзером). Если приложение растрачивает очень много времени на выполнение какой-нибудь работы, к примеру, на форматирование диска, юзер не может переключиться с этой задачки на другую задачку, к примеру, на текстовый редактор, в то время как форматирование длилось бы в фоновом Лекции по предмету Операционные системы - реферат режиме. Эта ситуация нежелательна, потому что юзеры обычно не желают длительно ожидать, когда машина окончит свою задачку.

Потому разработчики приложений для non-preemptive операционной среды, возлагая на себя функции планировщика, должны создавать приложения так, чтоб они делали свои задачки маленькими частями. К примеру, программка форматирования может отформатировать одну Лекции по предмету Операционные системы - реферат дорожку дискеты и возвратить управление системе. После выполнения других задач система вернет управление программке форматирования, чтоб та отформатировала последующую дорожку. Схожий способ разделения времени меж задачками работает, но он значительно затрудняет разработку программ и предъявляет завышенные требования к квалификации программера. Программер должен обеспечить "дружеское" отношение собственной программки к другим выполняемым Лекции по предмету Операционные системы - реферат сразу с ней программкам, довольно нередко отдавая им управление. Последним проявлением "недружественности" приложения является его зависание, которое приводит к общему краху системы. В системах с вытесняющей многозадачностью такие ситуации, обычно, исключены, потому что центральный планирующий механизм снимет зависшую задачку с выполнения.

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

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

Но практически во всех современных операционных системах, нацеленных на высокопроизводительное выполнение приложений (UNIX, Windows NT, OS/2, VAX/VMS Лекции по предмету Операционные системы - реферат), реализована вытесняющая многозадачность. В ближайшее время дошла очередь и до ОС класса настольных систем, к примеру, OS/2 Warp и Windows 95. Может быть в связи с этим вытесняющую многозадачность нередко именуют настоящей многозадачностью.

Средства синхронизации и взаимодействия процессов

Неувязка синхронизации

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

Рис. 2.3. Пример необходимости синхронизации

Пренебрежение вопросами синхронизации процессов, выполняющихся в режиме Лекции по предмету Операционные системы - реферат мультипрограммирования, может привести к их неверной работе либо даже к краху системы. Разглядим, к примеру (набросок 2.3), программку печати файлов (принт-сервер). Эта программка печатает по очереди все файлы, имена которых поочередно в порядке поступления записывают в особый общедоступный файл "заказов" другие программки. Особенная переменная NEXT, также доступная всем процессам-клиентам Лекции по предмету Операционные системы - реферат, содержит номер первой свободной для записи названии файла позиции файла "заказов". Процессы-клиенты читают эту переменную, записывают в подобающую позицию файла "заказов" имя собственного файла и увеличивают значение NEXT на единицу. Представим, что в некий момент процесс R решил распечатать собственный файл, для этого он прочел значение переменной NEXT Лекции по предмету Операционные системы - реферат, значение которой для определенности представим равным 4. Процесс запомнил это значение, но поместить название файла не успел, потому что его выполнение было прервано (к примеру, в следствие исчерпания кванта). Очередной процесс S, желающий распечатать файл, прочел то же самое значение переменной NEXT, расположил в четвертую позицию имя собственного файла и нарастил значение Лекции по предмету Операционные системы - реферат переменной на единицу. Когда в очередной раз управление будет передано процессу R, то он, продолжая свое выполнение, в полном согласовании со значением текущей свободной позиции, приобретенным во время предшествующей итерации, запишет название файла также в позицию 4, поверх названии файла процесса S.

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

Критичная секция

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

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

Другим методом является внедрение блокирующих переменных. С каждым разделяемым ресурсом связывается двоичная переменная, которая воспринимает значение 1, если ресурс свободен Лекции по предмету Операционные системы - реферат (другими словами ни один процесс не находится на этот момент в критичной секции, связанной с данным процессом), и значение 0, если ресурс занят. На рисунке 2.4 показан кусок метода процесса, использующего для реализации обоюдного исключения доступа к разделяемому ресурсу D блокирующую переменную F(D). Перед входом в критичную секцию Лекции по предмету Операционные системы - реферат процесс инспектирует, свободен ли ресурс D. Если он занят, то проверка циклически повторяется, если свободен, то значение переменной F(D) устанавливается в 0, и процесс заходит в критичную секцию. После того, как процесс выполнит все деяния с разделяемым ресурсом D, значение переменной F(D) опять устанавливается равным 1.

Рис. 2.4. Реализация критичных Лекции по предмету Операционные системы - реферат секций с внедрением блокирующих переменных

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

Реализация критичных секций с внедрением блокирующих переменных имеет Лекции по предмету Операционные системы - реферат значимый недочет: в течение времени, когда один процесс находится в критичной секции, другой процесс, которому требуется тот же ресурс, будет делать рутинные деяния по опросу блокирующей переменной, никчемно растрачивая процессорное время. Для устранения таких ситуаций может быть применен так именуемый аппарат событий. При помощи этого средства Лекции по предмету Операционные системы - реферат могут решаться не только лишь трудности обоюдного исключения, да и более общие задачки синхронизации процессов. В различных операционных системах аппарат событий реализуется по собственному, но в любом случае употребляются системные функции аналогичного предназначения, которые условно назовем WAIT(x) и POST(x), где x - идентификатор некого действия. На рисунке 2.5 показан кусок метода Лекции по предмету Операционные системы - реферат процесса, использующего эти функции. Если ресурс занят, то процесс не делает повторяющийся опрос, а вызывает системную функцию WAIT(D), тут D обозначает событие, заключающееся в освобождении ресурса D. Функция WAIT(D) переводит активный процесс в состояние ОЖИДАНИЕ и делает отметку в его дескрипторе о том, что процесс ждет Лекции по предмету Операционные системы - реферат действия D. Процесс, который в это время употребляет ресурс D, после выхода из критичной секции делает системную функцию POST(D), в итоге чего операционная система просматривает очередь ожидающих процессов и переводит процесс, ожидающий действия D, в состояние ГОТОВНОСТЬ.

Обобщающее средство синхронизации процессов предложил Дейкстра, который ввел два новых примитива Лекции по предмету Операционные системы - реферат. В абстрактной форме эти примитивы, обозначаемые P и V, оперируют над целыми неотрицательными переменными, именуемыми семафорами . Пусть S таковой семафор. Операции определяются последующим образом:

V(S) : переменная S возрастает на 1 одним неразделимым действием; подборка, инкремент и запоминание не могут быть прерваны, и к S нет доступа другим процессам во Лекции по предмету Операционные системы - реферат время выполнения этой операции.

P(S) : уменьшение S на 1, если это может быть. Если S=0, то нереально уменьшить S и остаться в области целых неотрицательных значений, в данном случае процесс, вызывающий P-операцию, ожидает, пока это уменьшение станет вероятным. Удачная проверка и уменьшение также является неразделимой операцией.

Рис. 2.5. Реализация критичной Лекции по предмету Операционные системы - реферат секции с внедрением системных
функций WAIT(D) и POST(D)

В личном случае, когда семафор S может принимать только значения 0 и 1, он преобразуется в блокирующую переменную. Операция P заключает внутри себя потенциальную возможность перехода процесса, который ее делает, в состояние ожидания, в то время как V-операция может при неких Лекции по предмету Операционные системы - реферат обстоятельствах активизировать другой процесс, приостановленный операцией P (сравните эти операции с системными функциями WAIT и POST).

Разглядим внедрение семафоров на традиционном примере взаимодействия 2-ух процессов, выполняющихся в режиме мультипрограммирования, один из которых пишет данные в буферный пул, а другой считывает их из буферного пула. Пусть буферный Лекции по предмету Операционные системы - реферат пул состоит из N буферов, любой из которых может содержать одну запись. Процесс "писатель" должен приостанавливаться, когда все буфера оказываются занятыми, и активизироваться при освобождении хотя бы 1-го буфера. Напротив, процесс "читатель" приостанавливается, когда все буферы пусты, и активируется при возникновении хотя бы одной записи.

Введем два семафора: e - число пустых буферов Лекции по предмету Операционные системы - реферат и f - число заполненных буферов. Представим, что запись в буфер и считывание из буфера являются критичными секциями (как в примере с принт-сервером сначала данного раздела). Введем также двоичный семафор b, применяемый для обеспечения обоюдного исключения. Тогда процессы могут быть описаны последующим образом:

// Глобальные переменные#define N 256int Лекции по предмету Операционные системы - реферат e = N, f = 0, b = 1;void Writer (){while(1){PrepareNextRecord(); /* подготовка новейшей записи */P(e); /* Уменьшить число свободных буферов, если они есть */ /* в неприятном случае - ожидать, пока они освободятся */P(b); /* Вход в критичную секцию */AddToBuffer(); /* Добавить новейшую запись в буфер */V(b); /* Выход из критичной секции */V(f Лекции по предмету Операционные системы - реферат); /* Прирастить число занятых буферов */}}void Reader (){while(1){P(f); /* Уменьшить число занятых буферов, если они есть */ /* в неприятном случае ожидать, пока они появятся */P(b); /* Вход в критичную секцию */GetFromBuffer(); /* Взять запись из буфера */V(b); /* Выход из критичной секции */V(e); /* Прирастить число свободных буферов */ProcessRecord(); /* Обработать запись */}}

Тупики

Приведенный Лекции по предмету Операционные системы - реферат выше пример поможет нам проиллюстрировать еще одну делему синхронизации - обоюдные блокировки , именуемые также дедлоками (deadlocks), клинчами (clinch) либо тупиками . Если переставить местами операции P(e) и P(b) в программке "писателе", то при неком стечении событий эти два процесса могут взаимно заблокировать друг дружку. Вправду, пусть "писатель" первым войдет Лекции по предмету Операционные системы - реферат в критичную секцию и увидит отсутствие свободных буферов; он начнет ожидать, когда "читатель" возьмет еще одну запись из буфера, но "читатель" не сумеет этого сделать, потому что для этого нужно войти в критичную секцию, вход в которую заблокирован процессом "писателем".

Разглядим очередной пример тупика. Пусть двум процессам, выполняющимся в режиме Лекции по предмету Операционные системы - реферат мультипрограммирования, для выполнения их работы необходимо два ресурса, к примеру, принтер и диск. На рисунке 2.6,а показаны куски соответственных программ. И пусть после того, как процесс А занял принтер (установил блокирующую переменную), он был прерван. Управление получил процесс В, который поначалу занял диск, но при выполнении Лекции по предмету Операционные системы - реферат последующей команды был заблокирован, потому что принтер оказался уже занятым процессом А. Управление опять получил процесс А, который в согласовании со собственной программкой сделал попытку занять диск и был заблокирован: диск уже распределен процессу В. В таком положении процессы А и В могут находиться сколь угодно длительно.

Зависимо от соотношения Лекции по предмету Операционные системы - реферат скоростей процессов, они могут или совсем независимо использовать разделяемые ресурсы (г ), или создавать очереди к разделяемым ресурсам (в ), или взаимно перекрыть друг дружку (б ). Тупиковые ситуации нужно отличать от обычных очередей, хотя и те и другие появляются при совместном использовании ресурсов и снаружи смотрятся похоже: процесс приостанавливается и ожидает освобождения ресурса Лекции по предмету Операционные системы - реферат. Но очередь - это обычное явление, неотъемлемый признак высочайшего коэффициента использования ресурсов при случайном поступлении запросов. Она появляется тогда, когда ресурс недоступен на этот момент, но через некое время он освобождается, и процесс продолжает свое выполнение. Тупик же, что видно из его наименования, является в неком роде неразрешимой ситуацией Лекции по предмету Операционные системы - реферат.

Рис. 2.6. (a) куски программ А и В, разделяющих принтер и диск;
(б) обоюдная блокировка (клинч);(в) очередь к разделяемому диску;
(г) независящее внедрение ресурсов

В рассмотренных примерах тупик был образован 2-мя процессами, но взаимно перекрыть друг дружку могут и большее число процессов.

Неувязка тупиков содержит в себе последующие Лекции по предмету Операционные системы - реферат задачки:

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

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

Если же тупиковая ситуация появилась, то не непременно снимать с выполнения все заблокированные процессы. Можно Лекции по предмету Операционные системы - реферат снять только часть из их, при всем этом освобождаются ресурсы, ожидаемые остальными процессами, можно возвратить некие процессы в область свопинга, можно совершить "откат" неких процессов до так именуемой контрольной точки, в какой запоминается вся информация, нужная для восстановления выполнения программки с данного места. Контрольные точки расставляются в программке Лекции по предмету Операционные системы - реферат в местах, после которых может быть появление тупика.

Из всего вышесказанного ясно, что использовать семафоры необходимо очень осторожно, потому что одна малозначительная ошибка может привести к останову системы. Для того, чтоб облегчить написание корректных программ, было предложено высокоуровневое средство синхронизации, называемое монитором. Монитор - это набор процедур, переменных и структур данных. Процессы Лекции по предмету Операционные системы - реферат могут вызывать процедуры монитора, но не имеют доступа к внутренним данным монитора. Мониторы имеют принципиальное свойство, которое делает их полезными для заслуги обоюдного исключения: только один процесс может быть активным по отношению к монитору. Компилятор обрабатывает вызовы процедур монитора особенным образом. Обычно, когда процесс вызывает функцию монитора, то Лекции по предмету Операционные системы - реферат 1-ые несколько инструкций этой процедуры инспектируют, не активен ли какой-нибудь другой процесс по отношению к этому монитору. Если да, то вызывающий процесс приостанавливается, пока другой процесс не высвободит монитор. Таким макаром, исключение входа нескольких процессов в монитор реализуется не программером, а компилятором, что делает ошибки наименее возможными.

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

Нити

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

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

При мультипрограммировании увеличивается пропускная способность системы, но отдельный процесс никогда не может быть выполнен резвее, чем если б он производился в однопрограммном режиме (всякое разделение ресурсов замедляет Лекции по предмету Операционные системы - реферат работу 1-го из участников за счет дополнительных издержек времени на ожидание освобождения ресурса). Но задачка, решаемая в рамках 1-го процесса, может владеть внутренним параллелизмом, который в принципе позволяет ускорить ее решение. К примеру, в процессе выполнения задачки происходит воззвание к наружному устройству, и на время этой операции можно не Лекции по предмету Операционные системы - реферат перекрыть вполне выполнение процесса, а продолжить вычисления по другой "ветки" процесса.

Для этих целей современные ОС предлагают использовать сравнимо новый механизм многонитевой обработки (multithreading) . При всем этом вводится новое понятие "нить" (thread), а понятие "процесс" в значимой степени меняет смысл.

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

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

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

Нити время от времени именуют облегченными процессами либо мини-процессами. Вправду, нити в почти всех отношениях подобны процессам. Любая нить производится строго поочередно и имеет Лекции по предмету Операционные системы - реферат собственный свой программный счетчик и стек. Нити, как и процессы, могут, к примеру, порождать нити-потомки, могут перебегать из состояния в состояние. Подобно обычным процессам (другими словами процессам, состоящим из одной нити), нити могут находится в одном из последующих состояний: ВЫПОЛНЕНИЕ, ОЖИДАНИЕ и ГОТОВНОСТЬ. Пока одна нить заблокирована, другая нить Лекции по предмету Операционные системы - реферат такого же процесса может производиться. Нити делят микропроцессор так, как это делают процессы, в согласовании с разными вариациями планирования.

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

Итак, нити имеют Лекции по предмету Операционные системы - реферат собственные:

Нити делят:

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

Обширное применение находит многонитевая обработка в распределенных системах. Смотрите об этом в разделе "Процессы и нити в распределенных системах".

Некие прикладные задачки легче программировать, используя параллелизм, к примеру задачки типа "писатель-читатель", в каких одна нить делает запись в буфер, а другая считывает записи из него. Так как они Лекции по предмету Операционные системы - реферат делят общий буфер, не стоит их делать отдельными процессами. Другой пример использования нитей - это управление сигналами, такими как прерывание с клавиатуры (del либо break). Заместо обработки сигнала прерывания, одна нить назначается для неизменного ожидания поступления сигналов. Таким макаром, внедрение нитей может уменьшить необходимость в прерываниях пользовательского уровня Лекции по предмету Операционные системы - реферат. В этих примерах не настолько принципиально параллельное выполнение, сколь принципиальна ясность программки.

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

Управление памятью

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

Типы адресов

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

Символьные имена присваивает юзер при написании программки на алгоритмическом языке либо ассемблере.

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

Рис. 2.7. Типы адресов

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

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

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

Способы рассредотачивания памяти без использования дискового места

Все способы управления памятью могут быть разбиты на два класса: способы, которые употребляют перемещение процессов меж оперативной памятью и диском, и способы, которые не делают этого (набросок 2.8). Начнем с последнего, более обычного класса способов.

Рис. 2.8. Систематизация способов рассредотачивания памяти

Рассредотачивание Лекции по предмету Операционные системы - реферат памяти фиксированными разделами

Самым обычным методом управления оперативной памятью является разделение ее на несколько разделов фиксированной величины. Это может быть выполнено вручную оператором во время старта системы либо во время ее генерации. Еще одна задачка, поступившая на выполнение, помещается или в общую очередь (набросок 2.9,а), или в очередь к некому разделу Лекции по предмету Операционные системы - реферат (набросок 2.9,б).

Рис. 2.9. Рассредотачивание памяти фиксированными разделами:
а - с общей очередью; б - с отдельными очередями

Подсистема управления памятью в данном случае делает последующие задачки:

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

Рассредотачивание памяти разделами переменной величины

В данном случае память машины не делится заблаговременно на разделы. Поначалу вся память свободна. Каждой вновь поступающей задачке выделяется нужная ей память. Если достаточный объем памяти отсутствует Лекции по предмету Операционные системы - реферат, то задачка не принимается на выполнение и стоит в очереди. После окончания задачки память освобождается, и на это место может быть загружена другая задачка. Таким макаром, в случайный момент времени оперативка представляет собой случайную последовательность занятых и свободных участков (разделов) случайного размера. На рисунке 2.10 показано состояние Лекции по предмету Операционные системы - реферат памяти в разные моменты времени при использовании динамического рассредотачивания. Так в момент t0 в памяти находится только ОС, а к моменту t1 память разбита меж 5 задачками, при этом задачка П4, завершаясь, покидает память. На освободившееся после задачки П4 место загружается задачка П6, поступившая в момент t3.

Рис. 2.10. Рассредотачивание памяти динамическими разделами

Задачками Лекции по предмету Операционные системы - реферат операционной системы при реализации данного способа управления памятью является:

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

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

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

Перемещаемые разделы

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

Рис. 2.11. Рассредотачивание памяти перемещаемыми разделами

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

Способы рассредотачивания памяти с внедрением дискового места Понятие виртуальной памяти

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

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

Таким макаром, виртуальная память - это совокупа программно-аппаратных средств, позволяющих юзерам писать программки, размер которых превосходит имеющуюся оперативку; для этого виртуальная Лекции по предмету Операционные системы - реферат память решает последующие задачки:

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

Более всераспространенными реализациями виртуальной памяти является страничное, сегментное и странично-сегментное рассредотачивание памяти, также свопинг.

Страничное рассредотачивание

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

Вся оперативка машины также делится на части того же размера, именуемые физическими страничками (либо блоками).

Размер странички обычно выбирается равным степени Лекции по предмету Операционные системы - реферат двойки: 512, 1024 и т.д., это позволяет упростить механизм преобразования адресов.

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

Рис. 2.12. Страничное рассредотачивание памяти

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

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

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

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

После того, как выбрана страничка, которая должна покинуть оперативку, анализируется ее признак модификации (из таблицы страничек). Если выталкиваемая страничка с момента загрузки была изменена, то ее новенькая версия должна быть переписана на диск. Если Лекции по предмету Операционные системы - реферат нет, то она может быть просто уничтожена, другими словами соответственная физическая страничка объявляется свободной.

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

Виртуальный адресок при страничном рассредотачивании может быть представлен в виде пары (p, s), где p - номер виртуальной странички процесса (нумерация страничек начинается с 0), а Лекции по предмету Операционные системы - реферат s - смещение в границах виртуальной странички. Беря во внимание, что размер странички равен 2 в степени к, смещение s может быть получено обычным отделением k младших разрядов в двоичной записи виртуального адреса. Оставшиеся старшие разряды представляют собой двоичную запись номера странички p.

Рис. 2.13. Механизм преобразования виртуального адреса в Лекции по предмету Операционные системы - реферат физический
при страничной организации памяти

При каждом воззвании к оперативки аппаратными средствами производятся последующие деяния:

  1. на основании исходного адреса таблицы страничек (содержимое регистра адреса таблицы страничек), номера виртуальной странички (старшие разряды виртуального адреса) и длины записи в таблице страничек (системная константа) определяется адресок подходящей записи в таблице,
  2. из этой записи извлекается номер Лекции по предмету Операционные системы - реферат физической странички,
  3. к номеру физической странички присоединяется смещение (младшие разряды виртуального адреса).

Внедрение в пт (3) того факта, что размер странички равен степени 2, позволяет применить операцию конкатенации (присоединения) заместо более долговременной операции сложения, что уменьшает время получения физического адреса, а означает увеличивает производительность компьютера.

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

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

Сегментное рассредотачивание

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

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

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

Рис. 2.14. Рассредотачивание памяти секторами

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

Виртуальный адресок при сегментной организации памяти может быть представлен парой (g, s), где g - номер сектора, а s - смещение в секторе. Физический Лекции по предмету Операционные системы - реферат адресок выходит методом сложения исходного физического адреса сектора, отысканного в таблице частей по номеру g, и смещения s.

Недочетом данного способа рассредотачивания памяти является фрагментация на уровне частей и поболее неспешное по сопоставлению со страничной организацией преобразование адреса.

Странично-сегментное рассредотачивание

Как видно из наименования, данный способ представляет собой Лекции по предмету Операционные системы - реферат комбинацию страничного и сегментного рассредотачивания памяти и, вследствие этого, соединяет внутри себя плюсы обоих подходов. Виртуальное место процесса делится на сегменты, а каждый сектор в свою очередь делится на виртуальные странички, которые нумеруются в границах сектора. Оперативка делится на физические странички. Загрузка процесса производится операционной системой постранично, при всем Лекции по предмету Операционные системы - реферат этом часть страничек располагается в оперативки, а часть на диске. Для каждого сектора создается своя таблица страничек, структура которой стопроцентно совпадает со структурой таблицы страничек, применяемой при страничном рассредотачивании. Для каждого процесса создается таблица частей, в какой указываются адреса таблиц страничек для всех частей данного процесса. Адресок Лекции по предмету Операционные системы - реферат таблицы частей загружается в особый регистр микропроцессора, когда активируется соответственный процесс. На рисунке 2.15 показана схема преобразования виртуального адреса в физический для данного способа.

Рис. 2.15. Схема преобразования виртуального адреса в физический для
сегментно-страничной организации памяти

Свопинг

Разновидностью виртуальной памяти является свопинг.

На рисунке 2.16 показан график зависимости коэффициента загрузки микропроцессора зависимо Лекции по предмету Операционные системы - реферат от числа сразу выполняемых процессов и толики времени, проводимого этими процессами в состоянии ожидания ввода-вывода.

Рис. 2.16. Зависимость загрузки микропроцессора от числа задач и интенсивности ввода-вывода

Из рисунка видно, что для загрузки микропроцессора на 90% довольно всего 3-х счетных задач. Но для того, чтоб обеспечить такую же загрузку интерактивными задачками Лекции по предмету Операционные системы - реферат, выполняющими насыщенный ввод-вывод, потребуются 10-ки таких задач. Нужным условием для выполнения задачки является загрузка ее в оперативку, объем которой ограничен. В этих критериях был предложен способ организации вычислительного процесса, именуемый свопингом. В согласовании с этим способом некие процессы (обычно находящиеся в состоянии ожидания) временно выгружаются Лекции по предмету Операционные системы - реферат на диск. Планировщик операционной системы не исключает их из собственного рассмотрения, и при пришествии критерий активизации некого процесса, находящегося в области свопинга на диске, этот процесс перемещается в оперативку. Если свободного места в оперативки не хватает, то выгружается другой процесс.

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

Иерархия запоминающих устройств. Принцип кэширования данных

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

Рис. 2.17. Иерархия Лекции по предмету Операционные системы - реферат ЗУ

Кэш-память - это метод организации совместного функционирования 2-ух типов запоминающих устройств, отличающихся временем доступа и ценой хранения данных, который позволяет уменьшить среднее время доступа к данным за счет динамического копирования в "резвое" ЗУ более нередко применяемой инфы из "неспешного" ЗУ.

Кэш-памятью нередко именуют не только лишь метод Лекции по предмету Операционные системы - реферат организации работы 2-ух типов запоминающих устройств, да и одно из устройств - "резвое" ЗУ. Оно стоит дороже и, обычно, имеет сравнимо маленький объем. Принципиально, что механизм кэш-памяти является прозрачным для юзера, который не должен докладывать никакой инфы об интенсивности использования данных и не должен никак участвовать в перемещении данных Лекции по предмету Операционные системы - реферат из ЗУ 1-го типа в ЗУ другого типа, все это делается автоматом системными средствами.

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

Рис. 2.18. Кэш-память

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

  1. Просматривается содержимое кэш-памяти с целью определения, не находятся ли нужные данные в кэш-памяти; кэш-память не является адресуемой, потому поиск подходящих данных осуществляется по содержимому - значению Лекции по предмету Операционные системы - реферат поля "адресок в оперативки", взятому из запроса.
  2. Если данные обнаруживаются в кэш-памяти, то они считываются из нее, и итог передается в микропроцессор.
  3. Если подходящих данных нет, то они вкупе со своим адресом копируются из оперативки в кэш-память, и итог выполнения запроса передается в микропроцессор. При копировании данных возможно окажется, что Лекции по предмету Операционные системы - реферат в кэш-памяти нет свободного места, тогда выбираются данные, к которым в последний период было меньше всего воззваний, для вытеснения из кэш-памяти. Если вытесняемые данные были изменены за время нахождения в кэш-памяти, то они переписываются в оперативку. Если же эти данные не были изменены, то Лекции по предмету Операционные системы - реферат их место в кэш-памяти объявляется свободным.

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

Покажем, как среднее время доступа к данным Лекции по предмету Операционные системы - реферат находится в зависимости от вероятности попадания в кэш. Пусть имеется основное запоминающие устройство со средним временем доступа к данным t1 и кэш-память, имеющая время доступа t2, разумеется, что t2 t = t1((1 - p) + t2(p

Из нее видно, что среднее время доступа к данным в системе с кэш-памятью линейно находится в зависимости от вероятности попадания в кэш и меняется от среднего времени доступа в основное ЗУ (при р=0) до среднего времени Лекции по предмету Операционные системы - реферат доступа конкретно в кэш-память (при р=1).

В реальных системах возможность попадания в кэш составляет приблизительно 0,9. Высочайшее значение вероятности нахождения данных в кэш-памяти связано с наличием у данных беспристрастных параметров: пространственной и временной локальности.

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

Управление вводом-выводом

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

Физическая организация устройств ввода-вывода

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

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

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

ОС делает ввод-вывод, записывая команды в регистры контроллера. К примеру, контроллер гибкого диска IBM PC воспринимает 15 команд, таких как READ, WRITE, SEEK, FORMAT и т.д. Когда команда принята, микропроцессор оставляет контроллер и занимается другой работой. При окончании Лекции по предмету Операционные системы - реферат команды контроллер организует прерывание для того, чтоб передать управление микропроцессором операционной системе, которая должна проверить результаты операции. Микропроцессор получает результаты и статус устройства, читая информацию из регистров контроллера.

Организация программного обеспечения ввода-вывода

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

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

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

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

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

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

Для решения поставленных заморочек целенаправлено поделить программное обеспечение ввода-вывода на четыре слоя (набросок 2.30):

Рис. 2.30. Многоуровневая организация подсистемы ввода-вывода

Обработка прерываний

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

Драйверы устройств

Весь зависимый от устройства код помещается в драйвер устройства. Каждый драйвер управляет устройствами 1-го типа либо, может быть, 1-го класса.

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

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

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

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

Независящий от устройств слой операционной системы

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

Обычными функциями для независящего от устройств слоя являются:

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

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

Пользовательский слой программного обеспечения

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

count = write Лекции по предмету Операционные системы - реферат (fd, buffer, nbytes),

то библиотечная процедура write будет связана с программкой. Набор схожих процедур является частью системы ввода-вывода. А именно, форматирование ввода либо вывода производится библиотечными процедурами. Примером может служить функция printf языка С, которая воспринимает строчку формата и, может быть, некие переменные в качестве входной инфы Лекции по предмету Операционные системы - реферат, потом строит строчку знаков ASCII и делает вызов write для вывода этой строчки. Стандартная библиотека ввода-вывода содержит огромное число процедур, которые делают ввод-вывод и работают как часть пользовательской программки.

Другой категорией программного обеспечения ввода-вывода является подсистема спулинга (spooling). Спулинг - это метод работы с выделенными устройствами в мультипрограммной системе. Разглядим Лекции по предмету Операционные системы - реферат обычное устройство, требующее спулинга - строчный принтер. Хотя на техническом уровне просто позволить каждому пользовательскому процессу открыть особый файл, связанный с принтером, таковой метод небезопасен из-за того, что пользовательский процесс может монополизировать принтер на случайное время. Заместо этого создается особый процесс - монитор, который получает исключительные права Лекции по предмету Операционные системы - реферат на внедрение этого устройства. Также создается особый каталог, именуемый каталогом спулинга. Для того, чтоб напечатать файл, пользовательский процесс помещает выводимую информацию в этот файл и помещает его в каталог спулинга. Процесс-монитор по очереди распечатывает все файлы, находящиеся в каталоге спулинга.

Файловая система

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

В широком смысле понятие "файловая система" включает:

Названия файлов

Файлы идентифицируются именами. Юзеры дают файлам символьные имена, при всем этом учитываются ограничения ОС как на Лекции по предмету Операционные системы - реферат применяемые знаки, так и на длину имени. До недавнешнего времени эти границы были очень узенькими. Так в пользующейся популярностью файловой системе FAT длина имен ограничивается известной схемой 8.3 (8 знаков - фактически имя, 3 знака - расширение имени), а в ОС UNIX System V имя не может содержать более 14 знаков. Но юзеру еще удобнее работать с Лекции по предмету Операционные системы - реферат длинноватыми именами, так как они позволяют дать файлу вправду мнемоническое заглавие, по которому даже через довольно большой просвет времени можно будет вспомнить, что содержит этот файл. Потому современные файловые системы, обычно, поддерживают длинноватые символьные названия файлов. К примеру, Windows NT в собственной новейшей файловой системе NTFS устанавливает Лекции по предмету Операционные системы - реферат, что название файла может содержать до 255 знаков, не считая оканчивающего нулевого знака.

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

Длинноватые имена поддерживаются не только лишь новыми файловыми системами, да и новыми версиями отлично узнаваемых файловых систем. К примеру, в ОС Windows 95 употребляется файловая система VFAT, представляющая собой значительно модифицированный вариант FAT. Посреди Лекции по предмету Операционные системы - реферат многих других усовершенствований одним из основных плюсов VFAT является поддержка длинноватых имен. Не считая задачи генерации эквивалентных маленьких имен, при реализации нового варианта FAT принципиальной задачей была задачка хранения длинноватых имен при условии, что принципно способ хранения и структура данных на диске не должны были поменяться.

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

Типы файлов

Файлы бывают различных типов: обыденные файлы, особые файлы Лекции по предмету Операционные системы - реферат, файлы-каталоги.

Обыденные файлы в свою очередь разделяются на текстовые и двоичные. Текстовые файлы состоят из строк знаков, представленных в ASCII-коде. Это могут быть документы, начальные тексты программ и т.п. Текстовые файлы можно прочесть на дисплее и распечатать на принтере. Двоичные файлы не употребляют ASCII-коды, они Лекции по предмету Операционные системы - реферат нередко имеют сложную внутреннюю структуру, к примеру, объектный код программки либо архивный файл. Все операционные системы должны уметь распознавать хотя бы один тип файлов - их собственные исполняемые файлы.

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

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

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

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

Рис. 2.31. Структура каталогов: а - структура записи каталога MS-DOS (32 б);
б - структура записи каталога ОС UNIX

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

Рис. 2.32. Логическая организация файловой системы
а - одноуровневая; б - иерархическая (дерево); в - иерархическая (сеть)

Логическая организация файла

Программер имеет дело с логической организацией файла, представляя файл в виде спецефическим образом организованных логических записей. Логическая Лекции по предмету Операционные системы - реферат запись - это меньший элемент данных, которым может оперировать программер при обмене с наружным устройством. Даже если физический обмен с устройством осуществляется большенными единицами, операционная система обеспечивает программеру доступ к отдельной логической записи. На рисунке 2.33 показаны несколько схем логической организации файла. Записи могут быть фиксированной длины либо переменной длины. Записи Лекции по предмету Операционные системы - реферат могут быть размещены в файле поочередно (поочередная организация) либо в более сложном порядке, с внедрением так именуемых индексных таблиц, позволяющих обеспечить резвый доступ к отдельной логической записи (индексно-последовательная организация). Для идентификации записи может быть применено особое поле записи, называемое ключом. В файловых системах ОС UNIX и MS-DOS Лекции по предмету Операционные системы - реферат файл имеет простейшую логическую структуру - последовательность однобайтовых записей.

Рис. 2.33. Методы логической организации файлов

Физическая организация и адресок файла

Физическая организация файла обрисовывает правила расположения файла на устройстве наружной памяти, а именно на диске. Файл состоит из физических записей - блоков. Блок - меньшая единица данных, которой наружное устройство обменивается с оперативной памятью. Непрерывное Лекции по предмету Операционные системы - реферат размещение - простой вариант физической организации (набросок 2.34,а), при котором файлу предоставляется последовательность блоков диска, образующих единый сплошной участок дисковой памяти. Для задания адреса файла в данном случае довольно указать только номер исходного блока. Другое достоинство этого способа - простота. Но имеются и два существенных недочета. Во-1-х, во время сотворения Лекции по предмету Операционные системы - реферат файла заблаговременно не известна его длина, а означает не понятно, сколько памяти нужно зарезервировать для этого файла, во-2-х, при таком порядке размещения безизбежно появляется фрагментация, и место на диске употребляется не отлично, потому что отдельные участки малеханького размера (мало 1 блок) могут остаться не применяемыми.

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

Рис. 2.34. Физическая организация файла
а - непрерывное размещение; б - связанный перечень блоков;
в - связанный перечень индексов; г Лекции по предмету Операционные системы - реферат - список номеров блоков

Пользующимся популярностью методом, применяемым, к примеру, в файловой системе FAT операционной системы MS-DOS, является внедрение связанного перечня индексов. С каждым блоком связывается некий элемент - индекс. Индексы размещаются в отдельной области диска (в MS-DOS это таблица FAT). Если некий блок распределен некому файлу, то индекс Лекции по предмету Операционные системы - реферат этого блока содержит номер последующего блока данного файла. При таковой физической организации сохраняются все плюсы предшествующего метода, но снимаются оба отмеченных недочета: во-1-х, для доступа к произвольному месту файла довольно прочесть только блок индексов, отсчитать необходимое количество блоков файла по цепочке и найти номер подходящего блока, и, во-2-х, данные Лекции по предмету Операционные системы - реферат файла занимают блок полностью, а означает имеют объем, равный степени двойки.

В заключение разглядим задание физического расположения файла методом обычного перечисления номеров блоков, занимаемых этим файлом. ОС UNIX употребляет вариант данного метода, позволяющий обеспечить фиксированную длину адреса, независимо от размера файла. Для хранения адреса файла выделено 13 полей Лекции по предмету Операционные системы - реферат. Если размер файла меньше либо равен 10 блокам, то номера этих блоков конкретно перечислены в первых 10 полях адреса. Если размер файла больше 10 блоков, то последующее 11-е поле содержит адресок блока, в каком могут быть размещены еще 128 номеров последующих блоков файла. Если файл больше, чем 10+128 блоков, то употребляется 12-е поле, в каком Лекции по предмету Операционные системы - реферат находится номер блока, содержащего 128 номеров блоков, которые содержат по 128 номеров блоков данного файла. И, в конце концов, если файл больше 10+128+128(128, то употребляется последнее 13-е поле для тройной косвенной адресации, что позволяет задать адресок файла, имеющего размер максимум 10+ 128 + 128(128 + 128(128(128.

Права доступа к файлу

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

и другие операции с файлами и каталогами.

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

Рис. 2.35. Матрица прав доступа

Различают два главных подхода к определению прав Лекции по предмету Операционные системы - реферат доступа:

Кэширование диска

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

Общая модель файловой системы

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

Рис. 2.36. Общая модель файловой системы

Задачей символьного уровня является определение по символьному названии файла его уникального имени. В файловых системах, в каких каждый файл может иметь только Лекции по предмету Операционные системы - реферат одно символьное имя (к примеру, MS-DOS), этот уровень отсутствует, потому что символьное имя, присвоенное файлу юзером, является сразу уникальным и может быть применено операционной системой. В других файловых системах, в каких один и тот же файл может иметь несколько символьных имен, на данном уровне просматривается цепочка Лекции по предмету Операционные системы - реферат каталогов для определения уникального названии файла. В файловой системе UNIX, к примеру, уникальным именованием является номер индексного дескриптора файла (i-node).

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

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

На логическом уровне определяются координаты запрашиваемой Лекции по предмету Операционные системы - реферат логической записи в файле, другими словами требуется найти, на каком расстоянии (в б) от начала файла находится требуемая логическая запись. При всем этом абстрагируются от физического расположения файла, он представляется в виде непрерывной последовательности б. Метод работы данного уровня находится в зависимости от логической организации файла. К примеру, если файл организован Лекции по предмету Операционные системы - реферат как последовательность логических записей фиксированной длины l, то n-ая логическая запись имеет смещение l((n-1) б. Для определения координат логической записи в файле с индексно-последовательной организацией производится чтение таблицы индексов (ключей), в какой конкретно указывается адресок логической записи.

Рис. 2.37. Функции физического уровня файловой системы

Начальные Лекции по предмету Операционные системы - реферат данные:
V - размер блока
N - номер первого блока файла
S - смещение логической записи в файле

Требуется найти физически:

n - номер блока, содержащего требуемую логическую запись

s - смещение логической записи в границах блока

n = N + [S/V], где [S/V] - целая часть числа S/V
s = R [S/V] - дробная часть числа Лекции по предмету Операционные системы - реферат S/V

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

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

Отображаемые в память файлы

По сопоставлению с доступом к памяти, обычный доступ к файлам смотрится запутанным и неловким. По этой причине Лекции по предмету Операционные системы - реферат некие ОС, начиная с MULTICS, обеспечивают отображение файлов в адресное место выполняемого процесса. Это выражается в возникновении 2-ух новых системных вызовов: MAP (показать) и UNMAP (отменить отображение). 1-ый вызов передает операционной системе в качестве характеристик название файла и виртуальный адресок, и операционная система показывает обозначенный файл в виртуальное Лекции по предмету Операционные системы - реферат адресное место по обозначенному адресу.

Представим, к примеру, что файл f имеет длину 64 К и отображается на область виртуального адресного места с исходным адресом 512 К. После чего неважно какая машинная команда, которая читает содержимое б по адресу 512 К, получает 0-ой б этого файла и т.д. Разумеется, что запись по адресу Лекции по предмету Операционные системы - реферат 512 К + 1100 изменяет 1100 б файла. При окончании процесса на диске остается измененная версия файла, как если б он был изменен композицией вызовов SEEK и WRITE.

В реальности при отображении файла внутренние системные таблицы меняются так, чтоб данный файл служил хранилищем страничек виртуальной памяти на диске. Таким макаром, чтение по адресу 512 К Лекции по предмету Операционные системы - реферат вызывает страничный отказ, в итоге чего страничка 0 переносится в физическую память. Аналогично, запись по адресу 512 К + 1100 вызывает страничный отказ, в итоге которого страничка, содержащая этот адресок, перемещается в память, после этого осуществляется запись в память по требуемому адресу. Если эта страничка вытесняется из памяти методом подмены Лекции по предмету Операционные системы - реферат страничек, то она записывается назад в файл в соответственное его место. При окончании процесса все отображенные и измененные странички переписываются из памяти в файл.

Отображение файлов идеальнее всего работает в системе, которая поддерживает сегментацию. В таковой системе каждый файл может быть отображен в собственный свой сектор, так что k-ый б Лекции по предмету Операционные системы - реферат в файле является k-ым б сектора. На рисунке 2.38,а изображен процесс, который имеет два сегмента-кода и данных. Представим, что этот процесс копирует файлы. Для этого он поначалу показывает файл-источник, к примеру, abc. Потом он делает пустой сектор и показывает на него файл предназначения, к примеру Лекции по предмету Операционные системы - реферат, файл ddd.

Отныне процесс может копировать сегмент-источник в сегмент-приемник при помощи обыденного программного цикла, использующего команды пересылки в памяти типа mov . Никакие вызовы READ либо WRITE не необходимы. После выполнения копирования процесс может выполнить вызов UNMAP для удаления файла из адресного места, а потом закончиться. Выходной файл Лекции по предмету Операционные системы - реферат ddd будет существовать на диске, как если б он был сотворен обыденным методом.

Хотя отображение файлов исключает потребность в выполнении ввода-вывода и тем упрощает программирование, этот метод порождает и некие новые трудности. Во-1-х, для системы трудно выяснить точную длину выходного файла, в данном примере ddd. Проще указать больший номер Лекции по предмету Операционные системы - реферат записанной странички, но нет метода выяснить, сколько б в этой страничке было записано. Представим, что программка употребляет только страничку номер 0, и после выполнения все байты все еще установлены в значение 0 (их изначальное значение). Может быть, файл состоит из 10 нулей. А может быть, он состоит из 100 нулей. Как это найти Лекции по предмету Операционные системы - реферат? Операционная система не может это сказать. Все, что она в состоянии сделать, так это сделать файл, длина которого равна размеру странички.

Рис. 2.38. (а) Сегменты процесса перед отображением файлов в адресное место; (б) Процесс
после отображения имеющегося файла abc в один сектор и сотворения нового сектора для файла ddd Лекции по предмету Операционные системы - реферат

2-ая неувязка проявляется (потенциально), если один процесс показывает файл, а другой процесс открывает его для обыденного файлового доступа. Если 1-ый процесс изменяет страничку, то это изменение не будет отражено в файле на диске до того времени, пока страничка не будет вытеснена на диск. Поддержание согласованности данных файла для Лекции по предмету Операционные системы - реферат этих 2-ух процессов просит от системы огромных хлопот.

3-я неувязка заключается в том, что файл может быть больше, чем сектор, и даже больше, чем все виртуальное адресное место. Единственный метод ее решения состоит в реализации вызова MAP таким макаром, чтоб он мог показывать не весь файл, а его часть. Хотя такая Лекции по предмету Операционные системы - реферат работа, разумеется, наименее комфортна, чем отображение целого файла.

Современные архитектуры файловых систем

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

Новенькая файловая Лекции по предмету Операционные системы - реферат система имеет многоуровневую структуру (набросок 2.39), на верхнем уровне которой размещается так именуемый тумблер файловых систем (в Windows 95, к примеру, таковой тумблер именуется устанавливаемым диспетчером файловой системы - installable filesystem manager, IFS). Он обеспечивает интерфейс меж запросами приложения и определенной файловой системой, к которой обращается это приложение. Тумблер файловых систем конвертирует запросы Лекции по предмету Операционные системы - реферат в формат, воспринимаемый последующим уровнем - уровнем файловых систем.

Рис. 2.39. Архитектура современной файловой системы

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

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

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

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

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


lekarstvennie-porazheniya-pecheni-referat.html
lekarstvennie-preparati-v-akusherstve-4-kurs-metodicheskie-ukazaniya-k-laboratornim-zanyatiyam-stomatologiya.html
lekarstvennie-rasteniya-dlya-izbavleniya-ot-polovozrelih-i-nepolovozrelih-gelmintov.html