Классификация операционных систем. Характеристика и особенности операционной системы Windows Классификация операционных систем. Поддержка многопользовательского режима

Ошибки 

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

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

Существует достаточно массивный список операционных систем, но в данном материале речь пойдет о трех столпах, сильно повлиявших на индустрию и занимающих основную долю среди всех операционных систем: Windows, MacOS и Linux.

Проприетарные операционные системы

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

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

“Свободные” операционные системы

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

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

Windows

Абсолютно все, кто хоть раз имел дело с компьютером, знают об этом продукте компании Microsoft. В частности это касается сверхуспешного релиза Windows 7. Список операционных систем Microsoft насчитывает уже десяток поколений. Они крайне популярны во всем мире и занимают почти 90% рынка. Что говорит о беспрецедентном лидерстве.

  • Windows XP;
  • Windows Vista;
  • Windows 7;
  • Windows 8;
  • Windows 10;

Список намеренно начинается с Windows XP, так как это самая старая версия, оставшаяся в употреблении до сегодняшнего дня.

Chrome OS

Слаборазвитый продукт от компании Google, который ограничен лишь веб-приложениями и одноименным браузером. Это система не является конкуретоспособной в сравнении с Windows и Mac, но сделана с прицелом на будущее, когда веб-интерфейсы смогут заменить “реальное” программное обеспечение. По умолчанию установлена на всех компьютерах Chromebook.

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

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

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

На компьютерах Apple имеется специальная утилита - BootCamp, которая разработана для простой и бесшовной установки Windows рядом с MacOS.

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

Вместо заключения

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

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

2. ОС Windows имеют графический интерфейс. Основными элементами пользовательского интерфейса являются Рабочий стол, окно, значок (пиктограмма, иконка), меню и Панель задач. Windows впереводе с английского означает «окна».

3. Windows – интегрированная среда, под ее управлением моi vt работать не только специальные программы, разработанные под Windows (Windows-приложения), но и другие программы, в том числе многочисленные DOS-приложения. Кроме того, Windows обеспечивает эффективный и комфортабельный обмен информацией между отдельными программами и приложениями, работающими под ее управлением. Для обмена данными между различными приложениями и документами используется достаточно простое, но очень эффективное средство – буфер обмена, а также технология связывания и внедрения объектов – OLE (Object Linking and Embedding – связь и внедрение объектов).

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

4. С понятием интегрированности связывают также возможность совместного использования различными программами ресурсов компьютера. Windows обеспечивает оптимальное управление оперативной памятью и эффективный оперативный контроль за работающими приложениями.

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

Однозадачные ОС, например MS DOS, передают все ресурсы вычислительной системы одному исполняемому приложению и не допускают ни параллельного выполнения другого приложения, ни его приостановки и запуска другого приложения.

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

5. Последние версии Windows реализуют возможность без проблем подключать новые внешние устройства и обеспечивать самонастройку системы под аппаратные средства (технология Plug and Play – «Включи и работай»)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Модуль 3 .

СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ КОМПЬЮТЕРА

Лекция 2. Операционная система Windows

Лекция 2. Операционная система Windows. 3

Особенности операционных систем Windows. 3

Преимущества приоритетной многозадачности и многопоточности. 3

Технология Plug-and-Play. 4

Графический пользовательский интерфейс. 5

Концепция Windows XP. 5

Пользовательский интерфейс Windows XP. 7

Основные элементы экранного интерфейса. 7

Меню Пуск. 10

Панель задач. 15

Ярлыки для программ, файлов и папок. 19

Запуск программ.. 20

Начало и завершение работы Windows XP. 20

Окна в системе Windows. 22

Окно приложения и окно документа. 22

Диалоговое окно. 23

Управление окнами. 24

Дополнительные возможности Windows XP. 26

Работа с компакт-дисками. 26

Работа с цифровыми фотографиями. 28

Справочная система Windows XP. 29

Поисковая система Windows XP. 31

Встроенные приложения Windows XP. 34

Программа Калькулятор. 35

Графический редактор Paint 37

Текстовые редакторы Блокнот и WordPad. 39

Проигрыватель Windows Media. 40

Создание слайд-фильма с помощью Windows Movie Maker. 43

Особенности операционных систем Windows

Операционные системы семейства Windows, начиная с версии Windows 95, имеют общие особенности, ключевыми из которых являются:

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

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

· совместимость с существующими приложениями MS-DOS и предыдущих версий Windows, поддержка любого оборудования и драйверов устройств, сетевая совместимость с другими сетевыми операционными системами (далее – ОС).

Рассмотрим основные принципы и технологии Windows более подробно.

Преимущества приоритетной многозадачности и многопоточности

ОС Windows обеспечивает возможность выполнения одновременно нескольких задач. Каждая из разных по содержанию задач решается практически одновременно в своем окне (отсюда и происхождение самого названия windows – «окна»). Информация о вызванных программах в виде значков отображается на Панели задач . Однако, несмотря на производимое впечатление, в действительности обычные компьютеры (с одним центральным процессором) не могут выполнять большое количество разных приложений в один и тот же момент времени. Как правило, компьютеры одновременно работают с одной задачей. Правда при этом отдельные операции могут выполняться с очень большой скоростью. Таким образом, операционная система может очень быстро переключаться с одного приложения на другое, и у пользователя создается впечатление одновременной работы приложений.

Самые первые версии Windows (например, Windows 3.11) требовали от каждого приложения «добровольной» передачи контроля над центральным процессором в различные моменты выполнения задачи, что позволяло операционной системе передавать управление другой запущенной программе. Такой режим работы называется режимом кооперативной многозадачности . При этом каждое приложение могло захватить столько процессорного времени, сколько считало нужным, и часто то или иное приложение «не желало» делиться ресурсами центрального процессора, т.е. операционная система не могла «навести порядок».

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

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

В Windows для повышения эффективности системы используется также принцип многопоточности .

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

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

Технология Plug-and-Play

Технология Plug-and-Play («включай и работай»), которая используется в Windows, позволяет без ручной настройки подключать новые устройства к ЭВМ, например, принтер или лазерный проигрыватель. Она ориентирована на поддержку любого типа устройств, включая мониторы, видеоплаты, принтеры, звуковые карты, модемы, приводы CD-ROM, различные контроллеры жестких дисков.

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

Драйверы (driver – шофер, водитель) – системные программы, обеспечивающие работу принтеров, дисководов, дисплеев, клавиатуры и других внешних устройств ЭВМ.

Microsoft предоставляет 32-разрядные драйверы для всех основных устройств Plug-and-Play. Производители специального оборудования сами разрабатывают подобные программы. При установке устройства, которое требует наличия драйвера, отсутствующего в числе поставляемых в составе Windows, будет выдан запрос о необходимости вставить установочную дискету с нужным драйвером для этого устройства. Дополнительные устройства подключаются специальными программами-мастерами , которые либо сами распознают устройство, либо в диалоговом режиме запрашивают дополнительную информацию, благодаря чему процесс подключения устройств упрощается.

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

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

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

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

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

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