Файл: Сетевые операционные системы.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 27.06.2023

Просмотров: 417

Скачиваний: 6

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

ВВЕДЕНИЕ

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

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

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

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


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

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

Основное понятие и структура операционных систем

1.1 Становление операционных систем

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

Представление о том, что такое операционная система, менялось со временем. Первые компьютеры использовались лишь для решения разнообразных математических задач, а программами служили написанные посредством машинного кода вычислительные алгоритмы[1]. Любому программисту при написании программ нужно было самостоятельно управлять персональным компьютером и обеспечивать выполнение своей конкретной программы. Позже, для упрощения процесса написания программ, был придуман набор разнообразных служебных программ[2]. С развитием электронной техники, аппаратура, как класс, совершенствовалась и улучшалась, появилась возможность одновременной работы нескольких программ, в связи с этим были придуманы алгоритмы переключения заданий. Набор всех этих подпрограмм, обеспечивающих переключение, назывался «монитор» или «супервизор»[3]. Но возникла серьезная проблема прерывания работы этих программ, содержащих в себе ошибки и потребляющих ресурсы компьютера, например, ошибочно записывающих результаты выполнения своей работы в оперативную память компьютера или постоянно занимающих процессор, где размещаются и другие программы. Выход был найден довольно быстро и заключался в создании специальных аппаратных механизмов, защищающих память программ от случайного доступа со стороны программ не выполняющихся в данный момент времени. Из-за того, что управление этими механизмами уже нельзя было включать непосредственно в эти программы, к монитору была добавлена специальная программа, управляющая комплексной защитой памяти[4]. Таким образом, был создан резидентный монитор. Последовательное решение данных проблем было направлено на создание универсальной ЭВМ (Электронно-Вычислительной Машины), которая могла решать одновременно разнообразные задачи.


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

Ядро операционный системы составляет сердцевину ОС, без него ОС является полностью неработоспособной и не сможет функционировать и выполнять свои функции[6].

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

- нижний слой образует аппаратура, то есть основные комплектующие, например, процессор, исполняющий машинные инструкции;

- промежуточный — это ядро ОС, самая глубинная ее часть, обеспечивающая различным приложениям координированный и упорядоченный доступ к ресурсам компьютера;

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

При такой организационной структуре ОС, приложения не могут напрямую взаимодействовать с аппаратурой, могут только через слой ядра[8].

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


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

Допустим требуется выполнить DOS-программу для IBM PC- совместимого компьютера на компьютере Macintosh. Компьютер Macintosh построен на основе процессора Motorola 680x0, а компьютер IBM PC — на основе процессора Intel 80x86. Процессор Motorola имеет архитектуру (систему команд, состав регистров и т. п.), отличную от архитектуры процессора Intel, поэтому ему непонятен двоичный код DOS-программы, содержащей инструкции этого процессора. Для того, чтобы компьютер Macintosh смог обрабатывать машинные инструкции, которые ему изначально непонятны, на нем должно быть установлено специальное программное обеспечение — эмулятор. Создание эмулятора полноценной прикладной среды, полностью совместимой со средой другой операционной системы, является достаточно сложной задачей, тесно связанной со структурой операционной системы[10].

В настоящее время операционные системы полностью приспособлены к установке на абсолютно любые виды аппаратных решений. Самая распространенная архитектура построения процессоров в нашем современном мире на настольных ПК и серверах бывает двух типов, а именно x86 и x64, обе эти архитектуры являются наиболее популярными и все хоть сколько-то популярные ОС могут устанавливаться и на одну и на другую архитектуру[11].

1.2 Эволюция операционных систем

В этом разделе мы охватим основные десятилетия в развитии и освоении операционных систем, дойдя вплоть до нашего времени.

В начале 70-х годов появились первые сетевые операционные системы, кото­рые сильно отличались от многотерминальных операционных систем, ведь они позволяли не только рассредоточить пользователей, но также организовать распределенную обработку и хранение дан­ных между несколькими компьютерами[12]. Абсолютно любая сетевая ОС выполняет все функ­ции также и локальной операционной системы, а с другой стороны, обладает важными дополнительными параметрами, позволяющими ей взаимодействовать по локально-вычислительной сети с операционными системами других компьютеров. Программные модули, которые реа­лизуют сетевые функции и добавляют сетевые возможности, появлялись в операционных системах не сразу, по мере развития различных сетевых технологий, аппаратной базы компьютеров и возник­новения новых требовательных задач, которые нуждались в сетевой обработке. Хотя всякие теоретические работы по созданию концепций сетевого взаимодействия проводились почти с появления вычислительных машин, значимые результаты по объединению компьютеров в сеть были получены только в конце 60-х, когда с помощью глобальных связей и технической коммутации пакетов удалось создать взаимодействие машин класса мэйнфреймов и супер­компьютеров[13]. Эти, довольно дорогостоящие станции, часто хранили уникальные дан­ные и программы, доступ к которым необходимо было обеспечить широкому кругу пользователей, находившихся, порой, в различных городах на значительном расстоянии от вычислительных центров[14].


Тем временем в 1974 году компания IBM объявила о разработке собственной сетевой архитектуры для своих мэйнфреймов, получившей название SNA (System Network Architecture). Эта многоуровневая архитектура, во многом сильно похожая на стандартную модель OSI, появившуюся немного позже, обеспечивала взаимодействие по глобальным связям типа «терминал-терминал», «ком­пьютер-компьютер», «терминал-компьютер»[15].

Нижние уровни архитектуры были созданы специализированными аппаратными средствами, самым важным из которых являлся процессор телеобработки данных.

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

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

Очень важным моментом в истории создания и эволюции миникомпьютеров и вообще в истории операционных систем явилось создание ОС Unix, существующей по настоящее время. С середины 70-х годов началось глобальное использование ОС Unix. К этому времени программный код для Unix был на 90% написан на языке программирования высокого уровня «С». Широкое распространение С-компиляторов сделало Unix уникальной системой того времени, обладающей возможностью сравнительно легко­го переноса на разные типы компьютеров, будь то суперкомпьютеры, мэйнфреймы, миникомпьютеры, серверы или рабочие станции на базе уникальных RISC-процессоров, также и персональных компьютеров[17]. Так как эта ОС поставлялась вместе с исходными кодами, то она стала самой первой открытой ОС, которую могли совершенствовать энтузиасты или даже простые пользователи. Это был настоящий феномен в мире операционных систем.

Пер­вое мощное сетевое приложение для ОС Unix — программа UUCP (Unix-to-Unix Copy Program) которая появилась в 1976 году и начала распространяться с версией 7 AT&T Unix с 1978 года. Эта программа позволяла копировать файлы с одного компь­ютера на другой в пределах локальной сети через различные аппаратные интер­фейсы — как например RS-232 или токовую петлю, а, кроме того, могла работать через гло­бальные связи, как пример, модемные[18]. Это был еще один прорыв в освоении возможностей сетевых операционных систем.