Файл: Сетевые операционные системы (Определение операционной системы).pdf
Добавлен: 04.07.2023
Просмотров: 265
Скачиваний: 2
ВВЕДЕНИЕ
Операционные системы являются неотъемлемой частью современных компьютеров. Развитие ОС тесно связанно с развитием самих вычислительных систем, их элементной базы. Так же важнейшее влияние на операционные системы оказало создание и развитие компьютерных сетей.
В современном мире понимание работы ОС необходимо для грамотного построения и использования информационных систем предприятий.
Цель этой работы рассмотреть основные этапы развития операционных систем и основные технологии использующиеся в современных сетевых операционных системах.
Предметом исследования являются технологии использующиеся в сетевых операционных системах и области задач решаемые современными сетевыми ОС.
В качестве основных источников используются: книги Э. Тененбаума - человека непосредственно занимавшегося изучением и разработкой операционных систем чьи книги признаны как образовательный стандарт в своих областях, а так же оказали сильное влияние на создателя ОС Linux Линуса Торвальдса, книги В. Г. Олифер, и Н. А. Олифер чьи книги рекомендованы Министерством образования РФ в качестве учебного пособия для студентов высших учебных заведений, документации рассматриваемых ОС предоставляемые разработчиками этих систем.
Глава 1. Определение операционной системы
Операционная система — это комплекс взаимосвязанных программ, который действует как интерфейс между приложениями, пользователями и аппаратурой компьютера.[1]1
Операционные системы можно разделить на классы по таким признакам как: многозадачные и однозадачные, многопользовательские и однопользовательские, с поддержкой многопоточной обработки и без, с поддержкой многопроцессорных систем и без поддержки таких систем.[2]
Поддержка многозадачности. По числу одновременно выполняемых задач операционные системы могут быть разделены на два класса:
однозадачные
многозадачные
Однозадачные ОС в основном выполняют функцию предоставления пользователю виртуальной машины, делая более простым и удобным процесс взаимодействия пользователя с компьютером. Однозадачные ОС включают средства управления периферийными устройствами, средства управления файлами, средства общения с пользователем.
Многозадачные ОС, кроме вышеперечисленных функций, управляют разделением совместно используемых ресурсов, таких как процессор, оперативная память, файлы и внешние устройства.
Поддержка многопользовательского режима. По числу одновременно работающих пользователей ОС делятся на:
однопользовательские
многопользовательские
Главным отличием многопользовательских систем от однопользовательских является наличие средств защиты информации каждого пользователя от несанкционированного доступа других пользователей. Следует заметить, что не всякая многозадачная система является многопользовательской, и не всякая однопользовательская ОС является однозадачной.
Вытесняющая и не вытесняющая многозадачность.[3]1 Важнейшим разделяемым ресурсом является процессорное время. Способ распределения процессорного времени между несколькими одновременно существующими в системе процессами (или нитями) во многом определяет специфику ОС. Среди множества существующих вариантов реализации многозадачности можно выделить две группы алгоритмов:
не вытесняющая многозадачность
вытесняющая многозадачность
Основным различием между вытесняющим и не вытесняющим вариантами многозадачности является степень централизации механизма планирования процессов. В первом случае механизм планирования процессов целиком сосредоточен в операционной системе, а во втором - распределен между системой и прикладными программами. При не вытесняющей многозадачности активный процесс выполняется до тех пор, пока он сам, по собственной инициативе, не отдаст управление операционной системе для того, чтобы та выбрала из очереди другой готовый к выполнению процесс. При вытесняющей многозадачности решение о переключении процессора с одного процесса на другой принимается операционной системой, а не самим активным процессом.
Поддержка многопоточности.[4]1 Важным свойством операционных систем является возможность распараллеливания вычислений в рамках одной задачи. Многопоточная ОС разделяет процессорное время не между задачами, а между их отдельными ветвями. Многопроцессорная обработка. Это один из подходов к увеличению скорости вычислений.
Написание программ использующих множество процессоров значительно сложнее чем написание программ под однопроцессорные системы.
Многопроцессорные ОС могут классифицироваться по способу организации вычислительного процесса на асимметричные ОС и симметричные ОС. Асимметричная ОС целиком выполняется только на одном из процессоров системы, распределяя прикладные задачи по остальным процессорам. Симметричная ОС полностью децентрализована и использует весь пул процессоров, разделяя их между системными и прикладными задачами.
Можно выделить две важнейших функций операционных систем.[5]2
Одна из них ОС это предоставление прикладным программам понятный уровень абстракций отвечающий за взаимодействие с крайне разнообразным и сложным уровнем ресурсов аппаратного обеспечения и управление этими ресурсами.
Архитектура большинства компьютеров на уровне машинного языка слишком неудобна для управления на данном уровне непосредственно в программах.[6]3 Для этого в операционной системе есть часть программного обеспечения которая называется драйвером и она предоставляет абстрактный интерфейс позволяющий операционной системе управлять устройствами по средством стандартизированных функций и реализующий эти функции в команды машинного уровня для устройства управляемого драйвером.
Но для большинства программ и данный уровень слишком низок.[7]1 Поэтому все операционные системы предоставляют еще один уровень абстракции для работы с системами хранения данных — файлы. Используя эту абстракцию, программы могут создавать, записывать и читать файлы, не вникая в подробности реальной работы оборудования.
Одной из основных задач операционной системы является создание хорошей абстракции, а затем реализация абстрактных объектов, создаваемых в рамках этой абстракции, и управлении ими. Непосредственно с операционной системой и ее абстракциями работают прикладные программы. Конечные пользователи работают со следующим уровнем абстракций, предоставленным пользовательским интерфейсом будь то оболочка с командной строкой или полноценный графический интерфейс.
Вторая основная функция операционной системы — это менеджер ресурсов.[8]2 Современные компьютеры состоят из процессоров, памяти, таймеров, дисков, мышей, сетевых интерфейсов, принтеров и широкого спектра других устройств. Функция менеджера ресурсов заключается в обеспечении упорядоченного и управляемого распределения процессоров, памяти и устройств ввода-вывода между различными программами, претендующими на их использование. Это позволяет в современные ОС реализовать одновременную работу нескольких программ или нескольких пользователей.
Управление ресурсами разделяется на два различных способа: во времени и в пространстве. Когда ресурс разделяется во времени, различные программы или пользователи используют его по очереди: сначала ресурс получают в пользование одни, потом другие. Определение того, как именно ресурс будет разделяться во времени — кто будет следующим потребителем и как долго — это задача операционной системы. Второй способ разделения ресурсов — это пространственное разделение. Вместо поочередной работы каждый клиент получает какую-то часть разделяемого ресурса. Примером ресурса с разделяемым пространством является жесткий диск или оперативная память. На многих системах на одном и том же диске могут одновременно храниться файлы принадлежащие многим пользователям, а в разных областях оперативной памяти находятся данные разных программ. Распределение дискового пространства, отслеживание того кто какие дисковые блоки использует и адресация оперативной памяти, — это типичные задачи операционной системы по управлению ресурсами.
Сетевая операционная система — это основной элемент компьютерной сети, это система позволяющая пользователю работать со своим компьютером и добавляющая к этому возможность доступа к информационным и аппаратным ресурсам других компьютеров сети.[9]1 (рисунок 1 в приложении)
Средства предоставления собственных ресурсов и услуг в общее пользование - серверная часть ОС. Эта часть обеспечивает блокировку файлов и записей, что необходимо для их совместного использования, ведение справочников имен сетевых ресурсов, обработку запросов удаленного доступа к собственной файловой системе и базе данных, управление очередями запросов удаленных пользователей к своим периферийным устройствам. Средства запроса доступа к удаленным ресурсам и услугам и их использования - клиентская часть ОС. Эта часть выполняет распознавание и направление в сеть запросов к удаленным ресурсам от приложений и пользователя, при этом запрос поступает от приложения в локальной форме, а передается в сеть в форме соответствующей требованиям сервера. Клиентская часть также осуществляет прием ответов от серверов и преобразование их в локальный формат, так что для приложения выполнение локальных и удаленных запросов неразличимо.
В зависимости от функций возложенных на конкретный компьютер в операционной системе может быть активна клиентская, серверная или клиентская и серверная части.
Если компьютер предоставляет свои ресурсы другим пользователям сети то он играет роль сервера. Если компьютер исполняет исключительно роль сервера — то он является выделенным сервером. В зависимости от ресурса предоставляемого выделенным сервером, он называется файл-сервером, факс-сервером, сервером печати, сервером приложений и т.д.
Если же компьютер обращается к ресурсам другой машины то он является клиентом.
Компьютер работающий в сети может выполнять функции либо клиента, либо сервера, либо совмещать обе эти функции.[10]1
В сетях с выделенным сервером Операционные системы для клиентов и серверов отличаются предоставляемыми сетевыми средствами.
В одноранговых сетях все компьютеры равны в правах доступа к ресурсам друг друга.[11]2 Каждый пользователь может по своему желанию объявить какой-либо ресурс своего компьютера разделяемым, после чего другие пользователи смогут его эксплуатировать. В таких сетях на всех компьютерах устанавливаются ОС предоставляющие всем компьютерам в сети потенциально равные возможности.
Глава 1.2. Краткая история операционных систем
Первые компьютеры созданные в конце 40-х годов не имели операционных систем и их программирование производилось на машинном языке, а организация вычислительного процесса выполнялась вручную. С середины 50-х годов вместе с развитием элементной базы развивалось и программное обеспечение, были разработаны системы пакетной обработки данных ставшие прообразом современных операционных систем так как были предназначены не для обработки данных, а для автоматизации управления вычислительным процессом.[12]1 Следующий важнейший этап развития произошел в период с 1965 по 1975 года. В это время были разработаны и реализованы практически все основные механизмы современных операционных систем: виртуальная память, файловая система, мультипроцессинг, мультипрограммирование, многопользовательский многотерминальный режим, разграничение доступа и сетевая работа. Были созданы вычислительные комплексы с удаленными терминалами где терминальные комплексы могли располагаться на большом удалении от процессорных стоек соединяясь с ними по телефонной сети или выделенными каналами. Для поддержки удаленный работы в операционных системах были разработаны специальные программные модули для реализации протоколов связи. Это программное обеспечение систем с удаленными терминалами стало прообразом сетевых операционных систем.[13]2
В это время операционные системы окончательно стали неотъемлемыми элементами компьютеров. Реализация мультипрограммирования потребовала внесения очень важных изменений в аппаратуру компьютера, непосредственно направленных на поддержку нового способа организации вычислительного процесса. При разделении ресурсов компьютера между программами необходимо обеспечить быстрое переключение процессора с одной программы на другую, а также надежно защитить коды и данные одной программы от непреднамеренной или преднамеренной порчи другой программой. Для этого в процессорах был создан привилегированный и пользовательский режимы работы, специальные регистры, аппаратные средства защиты областей памяти и система прерываний.[14]1
В привилегированном режиме, предназначенном для работы операционной системы, процессор мог выполнять все команды, в том числе и те из них, которые позволяли осуществлять распределение и защиту ресурсов компьютера. Программам, работающим в пользовательском режиме, некоторые команды процессора были недоступны. Это было сделано для того чтобы только ОС могла управлять аппаратными средствами и исполнять роль менеджера ресурсов для пользовательских программ, выполнявшихся в непривилегированном режиме. Система прерываний необходима для того чтобы синхронизировать работу различных устройств компьютера работающих параллельно и асинхронно. Аппаратная поддержка операционных систем с этого момента стала необходимым свойством компьютерных систем.