Виды операционных систем и их краткая характеристика. Классификация операционных систем по семействам Характеристика и особенности операционной системы windows

ОПЕРАЦИОННЫЕ СИСТЕМЫ, ИХ НАЗНАЧЕНИЕ И РАЗНОВИДНОСТИ

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

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

К современным операционным системам предъявляются следующие требования:

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

По числу одновременно выполняемых задач выделяют ОС однозадачные (MS DOS, ранние версии PC DOS) и многозадачные (OS/2, UNIX, Windows).

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

По числу одновременно работающих пользователей ОС делятся на однопользовательские (MS DOS, Windows Зх, ранние версии OS/2) и многопользовательские (UNIX, WINDOWS NT). В многопользовательских системах присутствуют средства защиты информации пользователей от несанкционированного доступа.

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

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

В настоящий момент около 90% компьютеров используют ОС Windows. Более широкий класс ОС ориентирован для использования на серверах. К этому классу ОС относятся семейство UNIX, разработки фирмы Microsoft (MS DOS и Windows), сетевые продукты Novell и корпорации IBM.

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

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

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

В целом ОС семейства UNIX ориентированы прежде всего на большие локальные (корпоративные) и глобальные сети, объединяющие работу тысяч пользователей. Большое распространение UNIX и ее версия LINUX получили в сети Интернет, где важнейшее значение имеет машинонезависимость ОС.

ОС MS DOS широко использовалась для персональных компьютеров, построенных на базе процессоров Intel 8088-80486.

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

Операционные системы Windows - это семейство операционных систем, включающих: Windows 3.1, Windows for Workgroups 3.11, Windows 9X, Windows NT, Windows 2000, Windows ME (первые две обычно называют операционными оболочками, поскольку ОС DOS для них устанавливалась отдельно). Windows 95 характеризуется простотой инсталляции, невысокими уровнями защиты данных и устойчивости к сбоям приложений. Windows 95 обладает интуитивно понятным интерфейсом, поддерживает, технологию plug-and-play, содержит встроенные средства для сетевой работы.

Windows 98 является развитием Windows 95. Эта версия тесно интегрирована с Web-броузером Internet Explorer и содержит большое количество драйверов к старым и новым устройствам. Пользователи отмечают упрощенный процесс инсталляции ОС, пониженные по сравнению с NT требования к мощности процессора, объему памяти и дисковому пространству. Одной из разновидностей Windows является ОС Windows СЕ. Эта линия ОС предназначена для использования на портативных компьютерах. Windows СЕ представляет собой 32-разрядную объектно-ориентированную многозадачную ОС, имеет встроенные функции энергосбережения. Версия Windows СЕ 3.0 (2000) приближается по своим возможностям к системам реального времени. Основная часть этой компактной ОС записана в перепрограммируемое ПЗУ портативных компьютеров. Windows NT 5.0 или Windows 2000 - полностью 32-разрядная ОС с приоритетной многозадачностью, улучшенной реализацией работы с памятью и изначально проектировалась со средствами обеспечения надежности, защиты и управления. Windows 2000 выпускается в четырех вариантах: Windows 2000 Professional, Windows 2000 Server, Windows 2000 Advanced Server и Windows 2000 DataCenter Server. Эти версии отличаются количеством входящих в поставку служб и программ, степенью поддержки аппаратного обеспечения.

Операционная система OS/2 (Operating system/2) является однопользовательской многозадачной ОС, односторонне (MS DOS -> OS/2) программно совместимой с MS DOS и предназначенной для работы с МП 80386 и выше (ПК IBM PC и PS/2). OS/2 может одновременно выполнять до 16 программ (каждая из них в своем сегменте памяти), но среди них только одну, подготовленную для MS DOS.

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


Виды операционных систем

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

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

Многозадачность (multitasking, multiprogramming) - свойство операционной системы и ЭВМ, при которой один процессор может обрабатывать несколько разных программ или разных частей одной программы одновременно. При этом все программы вместе удерживаются в оперативной памяти и каждая выполняется за какой-то период времени. Например, одна программа может работать, пока другие ожидают включения периферийного устройства или сигнала (команды) оператора. Способность к многозадачности зависит в большей степени от операционной системы, чем от типа ЭВМ. Наиболее распространенной многозадачной системой является Unix фирмы AT&T’s Bell Laboratories (США).

Виды ОС:
* Многопользовательская система , система с коллективным доступом, система коллективного доступа (multiuser system, multiaccess system) - вычислительная система или ее часть (например операционная система), позволяющая нескольким пользователям одновременно иметь доступ к одной ЭВМ со своего терминала (локального или удаленного). Многопользовательский характер работы достигается благодаря режиму разделения времени, который заключается в очень быстром переключении ЭВМ между разными терминалами и программами и соответственно быстрой отработке команд каждого пользователя. При этом последний не замечает задержек времени, связанных с обслуживанием других пользователей. Примерами разработок указанного вида могут служить помимо Windows операционные системы: NetWare, созданная и развиваемая фирмой Novell (США) для локальных информационных вычислительных систем; Unix фирмы AT&T’s Bell Laboratories (США); REAL/32 и др.
* Однопользовательская система (one user system) - операционная система, не обладающая свойствами многопользовательской. Примерами однопользовательских ОС являются MS DOS фирмы Microsoft (США) и ОС/2, созданная совместно Microsoft и IBM.
* Сетевая операционная система, СОС (NOS, Network Operating System) - операционная система, предназначенная для обеспечения работы вычислительной сети. Примерами сетевых операционных систем являются Windows NT, Windows 2000, Novel Netware, Unix, Linux и др.

Типы ОС :
* графические (с наличием графического пользовательского интерфейса - GUI) - текстовые (только командная строка);
* бесплатные - платные;
* открытые (с возможностью редактировать исходный код) - закрытые (без возможности редактировать исходный код);
* клиентские - серверные;
* высокая стабильность (устойчивость к сбоям аппаратной части)- низкая стабильность;
* простая в администрировании (для рядового пользователя) - сложная, для системных администраторов;
* 16-разрядная - 32-разрядная - 64-разрядная (в далеком прошлом были еще и 8-разрядные);
* с высоким уровнем безопасности данных - с низким уровнем безопасности;

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

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

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

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

Большинство программ, как системных (входящих в ОС), так и прикладных, исполняются в непривилегированном («пользовательском») режиме работы процессора и получают доступ к оборудованию (и, при необходимости, к другим ядерным ресурсам, а также ресурсам иных программ) только посредством системных вызовов. Ядро исполняется в привилегированном режиме: именно в этом смысле говорят, что ОС (точнее, её ядро) управляет оборудованием.

Текущая редакция стандарта на ОС содержит определения около тысячи системных вызовов и других библиотечных подпрограмм (часть из которых должна реализоваться только в определённых классах систем; напр., в системах «реального времени») и около 200 команд оболочки и утилит ОС. Стандарт определяет лишь функции вызовов и команд, и не содержит указаний относительно способов их реализации.

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

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

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

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

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

Более менее нормальное творение удалось создать Кену Томпсону. В 1969 году он написал игру Space Travel, которая не имела совершенно никакого успеха и перспектив развития у нее небыло. Но это сильно сказано - небыло. Взявшись за свое детище, Кен Томпсон стал модернизировать операционную систему Multics для работы игры. Позже операционная система получила название Unics (от названия операционной системы Multics), а еще позже - UNIX.

Операционная система была написана с использованием языка программирования - ассемблер, не имела графического интерфейса, работала в режиме командной строки. Отличалась от предыдущей надежностью. Это качество сохранилось и до теперешних времен. В ней имелся командный интерпритатор BASH - Bounre Again SHell, позволяющий работать в среде операционной системы. Немного позже Кен Томпсон и его соратники по созданию Unix, стали продавать свою систему, как вполне устойчивый коммерческий проект.

Одной из первых операционнйх систем для персональных компьютеров была CP/M (Control Program/Microcomputer) - Управляющая Программа/Микрокомпьютер, созданная для компьютеров с 8-разрядными процессорами Intel 8080, Intel 8085, Z-80. Создатель системы: Гарри Килдэл, в последующем основатель компании Digitasl Research. При создании персональных компьютеров в 1981 году компания обратилась к IBM Digital Research с предложением создать для IBM PC 5150 операционную систему с графическим интерфейсом. Те отказались помогать, и поэтому компания IBM обратилась за помощью к фирме Microsoft, которая с 1982 года начинает выпускать для IBM-совместимых персоналок операционне системы MS-DOS (Microsoft Discs Opereating System).

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

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

Первой операционной системой с поддержкой графического интерфейса пользователя (GUI, Graphical User Interface - полное название графического интерфейса) стала операционная система Macintosh (сокращенно - Mac), разработанная для компьютеров Apple PC. Такой интерфейс создавался в пределах компании Apple и никто не имел никакого права копировать эту систему и устанавливать ее на компьютерах, не совместимых с Apple. Этот интерфейс был весьма удобным, появился рабочий стол, окна, раскрывающиеся меню и пиктограммы ярлыков позволяли использовать компьютер с максимальным удобством. Впервые такой графический интерфейс был разработан в компании Apple в 1983 году, а его продажа и даже реклама компьютера Apple с графической ОС Macintosh прошла по Американскому телевидению в 1984 году.

Лишь 20 ноября 1985 года компания Microsoft представила свою "операционную систему" Windows 1.0 на выставке компьютерных технологий в Лас-Вегасе. Данная операционная система была очень "сырой", ее даже назвать полноценной операционной системой - это было бы просто самообманом. Windows 1.0 был построен с использованием DOS, фактически он являлся полноценной надстройкой DOS - графический проводник, позволяющий выполнять простейшие задачи над файлами и запускать программы после одного щелчка мышки по пикрограмме программы. В системе была так же реализована панель управления. На этом собственно удобство ОС заканчивалось. Система работала на компьютере с процессором i286. Позже последовал проект Windows 2.0, за ним Windows NT (New Technologies), Windows 3.0. Настоящий успех начался с операционными системами с выходом версии Windows 3.0.

Несколько слов о так называемых программах-надстройках DOS. Это программы, запускаемые при запуске операционной системы, позволяющие выполнять операции по редактированию текста с помощью специального редактора, копирование, перемещение, переименование и удаление файлов и каталогов с носителей информации и тому подобные операции. В таких надстройках была реализована мышка, клавиатурные комбинации клавиш, а для еще большего удобства были задействованы специальные функциональные клавиши - это 12 клавиш, подписанные как F1, F2, F3 и так далее, находятся и на современных клавиатурах над группой буквенно-цифровых клавиш. Пример подобных программ - Norton Commander производства Symantec Corporation. Подобные программы существуют и сейчас и активно используются на серверах при администрировании. Подобные Nortonу: Volkov Commander, Far, Windows Commander.

В 1986 году компания IBM и Microsoft объеденили свои усилия с целью создания качественного программного обеспечения. Результатом их работы стала операционная система OS/2.

В 90-е годы практически все ОС, занимающие заметное место на рынке стали сетевыми. ОС получили средства для работы со всеми основными технологиями локальных (Ethernet, Fast Ethernet, Token Ring, FDDI) и глобальных (ISDN, ATM) сетей. Особое внимание в течение последнего десятилетия уделялось корпоративным сетевым операционным системам. Они отличаются способностью хорошо и устойчиво работать в крупных сетях, которые характерны для крупных предприятий, способностью беспроблемно работать, на различных аппаратных платформах. Тройка лидеров в классе корпоративных ОС - это Novell NetWare 4-х и 5.0, Microsoft Windows NT 4.0 и Windows 2000, а также UNIX-системы различных производителей аппаратных платформ.

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

Требования к современным ос

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

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

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

Совместимость. Существует несколько «долгоживущих» популярных ОС (разновидности UNIX, MS-DOS, Windows З.х, Windows NT, OS/2), для которых наработана широкая номенклатура приложений. Поэтому для пользователя, переходящего по тем или иным причинам с одной ОС на другую, очень привлекательна возможность запуска в новой ОС привычного приложения. Если ОС имеет средства для выполнения прикладных программ, написанных для других ОС, то про неё говорят, что она обладает совместимостью с этими ОС.

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

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

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

Выводы

История ОС насчитывает примерно полвека. Она во многом определялась и определяется развитием элементной базы и вычислительной аппаратуры

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

Прообразом современных операционных систем явились мониторные системы середины 50-х, которые автоматизировали действия оператора по выполнению пакета заданий

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

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

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

В 90-е годы практически все ОС, занимающие заметное место на рынке стали сетевыми. ОС получили средства для работы со всеми основными технологиями локальных (Ethernet, Fast Ethernet, Token Ring, FDDI) и глобальных (ISDN, ATM) сетей.

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

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

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

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

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

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

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

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

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

Для повышения эффективности и надежности используется технология симметричной многопроцессорности (symmetric multiprocessing - SMP).

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

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

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

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

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

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

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

Заблокирован
- Выполняется
Рис. 2.12. Многозадачность и многопроцессорность

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

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

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

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

Отличия ОС

Виды операционных систем отличаются друг от друга возможностями планировать задачи, а также некоторыми другими факторами. Для таких функций, как распределение памяти, ОС выступает как связующее звено между программами и аппаратными средствами компьютера. Несмотря на то, что код приложения, как правило, выполняется непосредственно на аппаратном обеспечении, он постоянно делает общие вызовы к функциям ОС. Различные виды операционных систем сегодня можно увидеть на любом устройстве, содержащем установленные приложения - от сотовых телефонов и игровых консолей до суперкомпьютеров и веб-серверов. Примерами популярных операционных систем сегодня можно назвать Android, BSD, IOS, GNU / Linux, OS X, Microsoft Windows, Windows Phone и IBM Z / OS. Все вышеперечисленные ОС, за исключением Windows и Z / OS, основаны на UNIX.

Чтот такое UNIX

Unix была первоначально написана на ассемблере. Ранее она базировалась на BCPL, а затем была переписана в C и превратилась в большую и сложную семью взаимосвязанных операционных систем, которые прочно вошли в историю. Такие виды операционных систем, как Unix, имеют несколько крупных подкатегорий и включают в себя System V, BSD и Linux. Все ОС этих подкатегорий работают на самых разнообразных компьютерных архитектурах. Они активно используются для серверов в бизнесе, а также на рабочих станциях в научных и инженерных средах. Бесплатные варианты UNIX - Linux и BSD - популярны сегодня во всех областях. OS X (ранее "Mac OS X") представляет собой открытую, обладающую графическим интерфейсом операционную систему которая была разработана и представлена компанией Apple. Некоторые виды операционных систем указанного типа сегодня загружены по умолчанию на всех выпускаемых компьютерах Macintosh. OS X является преемником оригинального Mac OS, которая была основной ОС Apple с 1984 года.

Что такое Linux

Linux (или GNU / Linux) является Unix-подобной оболочкой, которая была разработана без какого-либо кода Unix, в отличие от BSD и ее вариантов. Она может быть использована на широком спектре устройств - от суперкомпьютеров до наручных часов. Ядро Linux распространяется под открытой лицензией, поэтому каждый может читать и изменять его код. Говоря о том, как удалить операционную систему, эта разновидность выделяется простотой в использовании. Несмотря на то, что современные расчеты показывают, что Linux используется всего на 1,82% всех ПК, она получила большое распространение при использовании во встраиваемых системах (например, мобильные телефоны) и серверах. Linux вытеснила Unix в большинстве сфер и используется на 10 самых мощных суперкомпьютерах в мире.

Немного о Windows

Microsoft Windows является семейством проприетарных операционных систем, разработанных Microsoft Corporation и в первую очередь ориентированных на архитектуру Intel для компьютеров. По оценкам исследователей, ее использование занимает 88,9 процента от общей доли веб-подключенных компьютеров. Многие считают, что это лучшая операционная система в наши дни.

© 2024 mygj.ru
Компьютерные советы и хитрости