На сегодняшний момент операционная система Windows фирмы Microsoft во всех ее проявлениях, бесспорно, считается самой распространенной операционной системой на ПК: в мире более 150 млн. IBM PC-совместимых компьютеров, и система Windows установлена на 100 млн. из них. Очевидно, что ознакомление с ПК необходимо начинать с ознакомления с Windows, ведь без нее работа на ПК немыслима для большинства пользователей. Знание системы Windows — необходимый кирпичик в стене познания ПК. Операционные системы, развиваясь вместе с ЭВМ, прошли длинный путь от простейших программ в машинных кодах длинной в несколько килобайт до монстров, написанных на языках высокого уровня, размер которых исчисляется десятками мегабайт. Такой значительный рост размера операционных систем обусловлен, главным образом, стремлением разработчиков ’украсить’ операционную систему, расширить ее возможности, добавить возможности, изначально несвойственные операционным системам, а также сделать интерфейс пользователя интуитивным. Все эти попытки дали свои результаты, и положительные, и отрицательные (усложнение настройки и программного интерфейса при упрощении пользовательского).
Графический интерфейс пользователя изначально был несвойственен неигровым программам, однако, будучи призванным, облегчить общение пользователя с компьютером и программой, хорошо прижился на IBM PC и стал неотъемлемой частью любой уважающей себя операционной системы.
Оболочка Microsoft Windows не была изначально операционной системой, да и сейчас не может считаться полноценной операционной системой, так как она, в некоторых оболочках, существует ’поверх’ операционной системы типа MS-DOS. Она возникла в виде стандартизатора графического интерфейса и прижилась исключительно потому, что пользователь хотел видеть программу, с которой ему часто приходится работать красивой, практичной, удобной и легкой в освоении и использовании.
Для ОС UNIX также был создан специальный графический интерфейс- X-Windows; промышленный гигант — фирма IBM выпустила вместе с операционной системой OS/2 свой вариант графического интерфейса пользователя (GUI — Graphics User Interface) — Presentation Manager. После запуска программа обычно создает одно окно, с которым она ассоциируется и работает. Пользователь, работая с окном и находящимися в нем объектами, заставляет операционную систему (или программную оболочку) посылать программе сообщения, активизирующие необходимые пользователю возможности программы. В процессе работы программа также может создавать другие окна (выбора, диалога, обрабатываемого файла и др.) и получать от них сообщения, таким образом, стандартизируется часто используемые элементы диалога с пользователем.
Операционная система (оболочка), ориентированная на графический интерфейс пользователя, предоставляет не только функции, поддерживающие ввод-вывод, но и широкий спектр системных вызовов, позволяющих использовать различные графические примитивы: от самых простых (точки, линии, дуги) до самых сложных (области, окна, курсоры). Основным преимуществом использования графического интерфейса операционной системы является то, что с помощью него программа может создавать графические изображения, которые будут выглядеть одинаково на всех устройствах, поддерживаемых операционной системой (принцип What We See Is What We Get — что видим, то и получаем).
Большое внимание в графическом интерфейсе операционной системы обычно уделяется шрифтам. Исторически сложилось так, что первыми и долгое время единственными шрифтами для компьютеров оставались растровые (точечно-матричные) шрифты. Такие шрифты занимали малый объем памяти, однако, их невозможно было вращать, наклонять, уменьшать, без искажений, а увеличивать можно было только в целое число раз. С появлением графического интерфейса, операционные системы стали предоставлять системные вызовы для поддержки использования векторных шрифтов, которые не только легко масштабируются, меняют наклон и толщину, но и выглядят одинаково на всех устройствах, поддерживаемых операционной системой. Каждая операционная система поддерживает свой стандарт векторных шрифтов (TrueType для Microsoft Windows; Adobe Type Manager для OS/2; Ghost Script для LINUX).
После достаточно долгого перерыва Microsoft существенно меняет внешний вид своих ОС. Основные принципы работы интерфейса остались прежними, но всяких мелких, и не очень, изменений и улучшений просто огромное количество. Первое, что бросается в глаза, это изменившееся оформление системы. На смену строгим, ровным линиям без лишних «украшательств» пришли округлые линии, мягкие полутона и тени. Вообще то, Microsoft не изобретал «велосипед», многие тенденции, которые нашли своё воплощение в новом оформлении XP. Мы могли видеть и раньше, в том числе и на PC. Как и W2k, использовавший цветовую гамму впервые появившуюся в KDE 1.2, XP использует элементы цветовой гаммы и оформление некоторых элементов интерфейса (например, скролл-бары) сходные с используемыми в KDE 2.0. Если кому не нравятся новые веянья в «компьютерной моде», он легко может привести внешний вид системы в более привычный вид, такой как у W2k или W98.
Понятие
Операционная система – это комплекс программ для управления вычислительным процессом ЭВМ.
Операционная среда – это набор исполняемых и задействуемых компонентов, обеспечивающих взаимодействие и совместную работу приложений любого уровня.
Операционная оболочка – это интерфейс взаимодействия между пользователем и программными или аппаратными средствами.
Система UNIX
В середине 60-х годов в Bell Laboratories фирмы AT&T проводились исследования и разработка одной из первых операционных систем в современном ее понимании — операционной системы Multix. Эта операционная система обладала свойствами операционной системы разделения времени, многопользовательской системы, а также в этой системе были предложены основные решения по организации файловых систем, в частности, была предложена иерархическая древообразная файловая система. От этой разработки через некоторое время получила начало операционная система UNIX. Одна из историй разработки этой системы говорит о том, что на фирме был ненужный компьютер PDP-7 с очень малоразвитым программным обеспечением и требовалась машина, которая позволяла бы организовывать комфортную работу пользователя, в частности, обработку текстовой информации. Известная группа людей — это Кен Томпсон и Деннис Ритчи, занялись разработкой новой операционной системы. Другой вариант этой истории гласит о том, что якобы они занимались реализацией некоторой игры и те средства, которые были им доступны, оказались неудобны — тогда они решили поиграть с этой машиной. В результате появилась операционная система UNIX.
Особенностью этой системы являлось то, что она была первой системной программой, которая была написана с использованием языка, отличного от машинного языка (ассемблера). Для целей написания этого системного программного обеспечения, в частности, операционной системы UNIX, также проводились работы, которые начинались от языка BCPL. Из него был образован язык B, который оперировал с машинными словами. Далее абстракция машинных слов — BN, и наконец язык Си. С 1983 года операционная система UNIX (ее первоначальная версия) была переписана на язык Си, и получилось, что около 90% операционной системы было написано на языке высокого уровня, не зависящем от архитектуры машины, а 10% этой системы были написаны на ассемблере. В эти десять процентов вошли наиболее критичные по времени части операционной системы.
Итак, первым важным и революционным результатом было использование языка высокого уровня. Этот факт вызывал обсуждения, потому что никто не верил, что это может быть долговременно, поскольку всегда язык высокого уровня ассоциировался с большой неэффективностью. Однако опыт показывает, что наиболее живучими оказываются плохие (с этой точки зрения) языки.
Итак, 1973 год — год появления написанной на языке Си операционной системы UNIX. Какими основными свойствами обладала эта система? Первое свойство — это концепция файлов. Основным объектом, которым оперирует операционная система, является файл. Файл, с точки зрения операционной системы UNIX, — это внешнее устройство. Файл — это каталог, который содержит информацию о содержащихся в нем файлах. И так далее, на сегодняшний день, файлом может считаться, в некотором смысле и процесс, который может работать.
Второе свойство — это особая структура операционной системы. В отличие от предыдущих операционных систем, в которых каждая команда была «зашита» внутрь операционной системы, т.е. ее нельзя было как -либо модифицировать, в UNIX-е проблемы команд решены очень элегантно. Во-первых, UNIX декларирует стандартный интерфейс передачи параметров извне внутрь процесса. Во-вторых, все команды реализованы в виде файлов. Это означает, что можно свободно добавлять новые команды в систему, а также убирать и модифицировать их. То есть система UNIX открыта, и ее можно легко развивать.
0S/2
Все началось с OC VM (Virtual Machine), что вышла в 1972 году. Выпущенный тогда продукт назывался VM/370 и был предназначен для поддержания сервера для определенного количества пользователей. Эта ОС, давно отметившая свой 25-летний юбилей, по истории которой можно изучать развитие технологий IBM в области серверных операционных систем и сетевых решений, является надежной и мощной базой для организации корпоративной информационно-вычислительной системы, ориентированной на многопользовательскую среду крупной современной фирмы. Система VM/ESA очень эффективно использует возможности аппаратного обеспечения и несколько менее требовательна к вычислительным ресурсам компьютера по сравнению с OS/390, что делает ее хорошим вариантом для использования в качестве платформы для корпоративной системы, информационного сервера крупной организации или сервера в Интернете. Позже IBM организовала совместный проект компаний Microsoft и IBM, нацеленный на создание операционной системы, лишенной недостатков. Первая версия 0S/2 вышла в конце 1987 года. Она была в состоянии использовать развитые вычислительные возможности процессора и обладала средствами обеспечения связи с большими машинами фирмы IBM. В 1993 году фирма IBM выпустила 0S/2 2.1, полностью 32-разрядную систему, обладавшую способностью выполнять приложения, созданные для Windows, имевшую высокую производительность и поддерживающую большое количество периферийных устройств. В 1994 году вышла 0S/2 WARP 3. В этой реализации, помимо дальнейшего повышения производительности и снижения требований к аппаратным ресурсам, появилась поддержка работы в Интернете. Сейчас же из последних версий следует отметить лишь 0S/2 Warp4, способная работать с 64-разрядными процессорами. Кроме того, в ней довольно полно представлены средства взаимодействия с Интернетом, позволяющие 0S/2 выполнять не только клиентские программы, но и выступать в качестве веб-сервера. Начиная с третьей версии, фирмой IBM поставляются локализованные версии 0S/2 для России. Пройдя довольно большой и сложный путь, эта ОС для персональных компьютеров обладает сегодня такими особенностями, как реальная многозадачность, продуманные и надежные подсистемы управления памятью и администрирования процессов, встроенная поддержка работы в сети и дополнительные функции сетевого сервера, мощный язык программирования REXX, предназначенный для решения задач системного администрирования. Перечисленные возможности позволяют использовать 0S/2 в качестве операционной системы для мощных рабочих станций или сетевых серверов.
Операционная система DOS и Операционная оболочка Windows
Операционная система DOS состоит из следующих частей:
Базовая система ввода-вывода (ВIOS), находящаяся в постоянной памяти (постоянном запоминающем устройстве, ПЗУ) компьютера. Эта часть операционной системы является «встроенной» в компьютер. Ее назначение состоит в выполнении наиболее простых и универсальных услуг операционной системы, связанных с осуществлением ввода-вывода. Базовая система ввода-вывода содержит также тест функционирования компьютера, проверяющий работу памяти и устройств компьютера при включении его электропитания. Кроме того, базовая система ввода-вывода содержит программу вызова загрузчика операционной системы.
Загрузчик операционной системы — это очень короткая программа, находящаяся в первом секторе каждой дискеты с операционной системой DOS. Функция этой программы заключается в считывании в память еще двух модулей операционной системы, которые и завершают процесс загрузки DOS.
Командный процессор DOS обрабатывает команды, вводимые пользователем. Командный процессор находится в дисковом файле! COMMAND.COM на диске, с которого загружается операционная система. Некоторые команды пользователя, (например Туре, Dir или Сор) командный процессор выполняет сам. Такие команды называются внутренними. Для выполнения остальных (внешних) команд пользователя командный процессор ищет на дисках программу с соответствующим именем и если находит ее, то загружает в память и передает ей управление. По окончании работы программы командный процессор удаляет программу из памяти и выводит сообщение о готовности к выполнению команд (приглашение DOS).
Внешние команды DOS — это программы, поставляемые вместе с операционной системой в виде отдельных файлов. Эти программы выполняют действия обслуживающего характера, например форматирование дискет, проверку дисков и т.д. Драйверы устройств — это специальные программы, которые дополняют систему ввода-вывода DOS и обеспечивают обслуживание новых или нестандартное использование имеющихся
Операционная оболочка Windows — это разработанная фирмой Microsoft надстройка над операционной системой DOS, обеспечивающая большое количество удобств для программистов и пользователей. Большинство пользователей компьютеров используют Windows и разнообразные прикладные программы под Windows в своей работе. Широчайшее распространение Microsoft Windows сделало ее фактическим стандартом для IBM.
В ОС Windows гораздо лучше, по сравнению с другими ОС, налажено взаимодействие между пользователем и компьютером. Большинство повседневных задач выполняется с меньшими, чем когда-либо затратами времени. Решено также большинство проблем с распределением памяти. Встроенная сетевая поддержка делает тривиальной задачей надежный обмен информацией по сети. В Windows, предусмотрена возможность давать файлам длинные имена, что значительно облегчает работу пользователя. Поддержка в Windows стандарта «plug-and-play» упрощает модернизацию оборудования. Ярлыки помогают быстро обращаться к часто используемым файлам, программам и папкам. Большая часть всего этого достигнута без ущерба для производительности. А многие процессы, например печать, идут теперь гораздо быстрее благодаря 32-битному режиму и другим усовершенствованиям.
В отличие от оболочек типа Norton Commander, Windows не только обеспечивает удобный и наглядный интерфейс для операций с файлами, дисками и т.д., но и предоставляет новые возможности для запускаемых в «родной» среде программ. Одна из основных целей разработчиков Windows – создание документированного интерфейса, резкое снижение требований к подготовке пользователя, упрощение работы. Следует также признать, что интерфейс Windows обладает массой достоинств. Предусмотрено все или почти все для удобной и безопасной работы, почти любую операцию можно выполнить множеством способов, а продуманная система подсказок, сообщений и предупреждений поддерживает пользователя в течение всего сеанса работы.
Интерфейс, разработанный корпорацией Microsoft, является одним из лучших, и стал своеобразным эталоном для подражания. В Microsoft Windows программисту доступна вся мощь этого интерфейса — он избавляется от необходимости организовывать меню, работу с клавиатурой и мышью (достаточно воспользоваться стандартными средствами). Интерфейс с пользователем Windows является полным и цельным. В нем решены не только проблемы организации меню, но и все общение с пользователем организовано стандартными средствами.
Основная идея создания Windows была высказана главой фирмы Microsoft, Биллом Гейтсом. Он рассматривает Windows как электронный письменный стол, где должно быть все, что есть на рабочем месте: книга для записей, блокнот, калькулятор, часы и т.д. и т.п. И точно так же на «письменном столе» Windows могут одновременно вводиться в действие несколько программ.
Сетевые Операционные Системы
Сетевая операционная система необходима для управления потоками сообщении между рабочими станциями и серверами. Она может позволить любой рабочей станции работать с разделяемым сетевым диском или принтером, которые физически не подключены к этой станции.
Каждый компьютер в сети в значительной степени автономен, поэтому под сетевой операционной системой в широком смысле понимается совокупность операционных систем отдельных компьютеров, взаимодействующих с целью обмена сообщениями и разделения ресурсов по единым правилам — протоколам. В узком смысле сетевая ОС — это операционная система отдельного компьютера, обеспечивающая ему возможность работать в сети.
Первые сетевые ОС представляли собой совокупность существующей локальной ОС и надстроенной над ней сетевой оболочки. При этом в локальную ОС встраивался минимум сетевых функций, необходимых для работы сетевой оболочки, которая выполняла основные сетевые функции. Примером такого подхода является использование на каждой машине сети операционной системы MS DOS (у которой начиная с ее третьей версии появились такие встроенные функции, как блокировка файлов и записей, необходимые для совместного доступа к файлам). Принцип построения сетевых ОС в виде сетевой оболочки над локальной ОС используется и в современных ОС, таких, например, как LANtastic или Personal Ware.
Однако более эффективным представляется путь разработки операционных систем, изначально предназначенных для работы в сети. Сетевые функции у ОС такого типа глубоко встроены в основные модули системы, что обеспечивает их логическую стройность, простоту эксплуатации и модификации, а также высокую производительность. Примером такой ОС является система Windows NT фирмы Microsoft, которая за счет встроенных сетевых средств обеспечивает более высокие показатели производительности и защищенности информации по сравнению с сетевой ОС LAN Manager той же фирмы (совместная разработка с IBM), являющейся надстройкой над локальной операционной системой OS/2.
Назначение
Основная причина необходимости ОС состоит в том, что элементарные операции для работы с устройствами компьютера и управления ресурсами компьютера — это операции очень низкого уровня, поэтому действия, которые необходимы пользователю и прикладным программам, состоят из нескольких сотен или тысяч таких элементарных операций.
Например, накопитель на магнитных дисках “понимает” только такие элементарные операции, как включить/выключить двигатель дисковода, установить читающие головки на определенный цилиндр, выбрать определенную читающую головку, прочесть информацию с дорожки диска в компьютер и т.д. И даже для выполнения такого несложного действия, как копирование файла с одной дискеты на другую (файл — это поименованный набор информации на диске или другом машинном носителе), необходимо выполнить тысячи операций по запуску команд дисководов, проверке их выполнения, поиску и обработке информации в таблицах размещения файлов на дисках и т.д. Задача еще усложняется следующим:
- имеется около десятка форматов дискет, и операционная система должна уметь работать со всеми этими форматами. Для пользователя работа с дискетами различного формата должна осуществляться абсолютно одинаково;
- файл на дискетах занимает определенные участки, причем пользователь не должен ничего знать о том, какие именно. Все функции по обслуживанию таблиц размещения файлов, поиску информации в них, выделению места для файлов на дискетах выполняются операционной системой, и пользователь может ничего не знать о них;
- во время работы программы копирования может возникать несколько десятков различных особых ситуаций, например сбой при чтении или записи информации, неготовность дисководов к чтению или записи, отсутствие места на дискете для копируемого файла и т.д. Для всех этих ситуаций необходимо предусмотреть соответствующие сообщения и корректирующие действия.
ОС скрывает от пользователя эти сложные и ненужные подробности и предоставляет ему удобный интерфейс для работы. Она выполняет также различные вспомогательные действия, например копирование или печать файлов. ОС осуществляет загрузку в оперативную память всех программ, передает им управление в начале их работы, выполняет различные действия по запросу выполняемых программ и освобождает занимаемую программами оперативную память при их завершении.
Многозадачные ОС подразделяются на три типа в соответствии с использованными при их разработке критериями эффективности:
- системы пакетной обработки (например, OC EC),
- системы разделения времени (UNIX, VMS),
- системы реального времени (QNX, RT/11).
Системы пакетной обработки предназначались для решения задач в основном вычислительного характера, не требующих быстрого получения результатов. Главной целью и критерием эффективности систем пакетной обработки является максимальная пропускная способность, то есть решение максимального числа задач в единицу времени. Для достижения этой цели в системах пакетной обработки используются следующая схема функционирования: в начале работы формируется пакет заданий, каждое задание содержит требование к системным ресурсам; из этого пакета заданий формируется мультипрограммная смесь, то есть множество одновременно выполняемых задач. Для одновременного выполнения выбираются задачи, предъявляющие отличающиеся требования к ресурсам, так, чтобы обеспечивалась сбалансированная загрузка всех устройств вычислительной машины; так, например, в мультипрограммной смеси желательно одновременное присутствие вычислительных задач и задач с интенсивным вводом-выводом. Таким образом, выбор нового задания из пакета заданий зависит от внутренней ситуации, складывающейся в системе, то есть выбирается «выгодное» задание. Следовательно, в таких ОС невозможно гарантировать выполнение того или иного задания в течение определенного периода времени. В системах пакетной обработки переключение процессора с выполнения одной задачи на выполнение другой происходит только в случае, если активная задача сама отказывается от процессора, например, из-за необходимости выполнить операцию ввода-вывода. Поэтому одна задача может надолго занять процессор, что делает невозможным выполнение интерактивных задач. Таким образом, взаимодействие пользователя с вычислительной машиной, на которой установлена система пакетной обработки, сводится к тому, что он приносит задание, отдает его диспетчеру-оператору, а в конце дня после выполнения всего пакета заданий получает результат. Очевидно, что такой порядок снижает эффективность работы пользователя.
Системы разделения времени призваны исправить основной недостаток систем пакетной обработки — изоляцию пользователя-программиста от процесса выполнения его задач. Каждому пользователю системы разделения времени предоставляется терминал, с которого он может вести диалог со своей программой. Так как в системах разделения времени каждой задаче выделяется только квант процессорного времени, ни одна задача не занимает процессор надолго, и время ответа оказывается приемлемым. Если квант выбран достаточно небольшим, то у всех пользователей, одновременно работающих на одной и той же машине, складывается впечатление, что каждый из них единолично использует машину. Ясно, что системы разделения времени обладают меньшей пропускной способностью, чем системы пакетной обработки, так как на выполнение принимается каждая запущенная пользователем задача, а не та, которая «выгодна» системе, и, кроме того, имеются накладные расходы вычислительной мощности на более частое переключение процессора с задачи на задачу. Критерием эффективности систем разделения времени является не максимальная пропускная способность, а удобство и эффективность работы пользователя.
Системы реального времени применяются для управления различными техническими объектами, такими, например, как станок, спутник, научная экспериментальная установка или технологическими процессами, такими, как гальваническая линия, доменный процесс и т.п. Во всех этих случаях существует предельно допустимое время, в течение которого должна быть выполнена та или иная программа, управляющая объектом, в противном случае может произойти авария: спутник выйдет из зоны видимости, экспериментальные данные, поступающие с датчиков, будут потеряны, толщина гальванического покрытия не будет соответствовать норме. Таким образом, критерием эффективности для систем реального времени является их способность выдерживать заранее заданные интервалы времени между запуском программы и получением результата (управляющего воздействия). Это время называется временем реакции системы, а соответствующее свойство системы — реактивностью. Для этих систем мультипрограммная смесь представляет собой фиксированный набор заранее разработанных программ, а выбор программы на выполнение осуществляется исходя из текущего состояния объекта или в соответствии с расписанием плановых работ.
Некоторые операционные системы могут совмещать в себе свойства систем разных типов, например, часть задач может выполняться в режиме пакетной обработки, а часть — в режиме реального времени или в режиме разделения времени. В таких случаях режим пакетной обработки часто называют фоновым режимом.
Сетевые операционные системы имеют разные свойства в зависимости от того, предназначены они для сетей масштаба рабочей группы (отдела), для сетей масштаба кампуса или для сетей масштаба предприятия.
- Сети отделов — используются небольшой группой сотрудников, решающих общие задачи. Главной целью сети отдела является разделение локальных ресурсов, таких как приложения, данные, лазерные принтеры и модемы. Сети отделов обычно не разделяются на подсети.
- Сети кампусов — соединяют несколько сетей отделов внутри отдельного здания или внутри одной территории предприятия. Эти сети являются все еще локальными сетями, хотя и могут покрывать территорию в несколько квадратных километров. Сервисы такой сети включают взаимодействие между сетями отделов, доступ к базам данных предприятия, доступ к факс-серверам, высокоскоростным модемам и высокоскоростным принтерам.
- Сети предприятия (корпоративные сети) — объединяют все компьютеры всех территорий отдельного предприятия. Они могут покрывать город, регион или даже континент. В таких сетях пользователям предоставляется доступ к информации и приложениям, находящимся в других рабочих группах, других отделах, подразделениях и штаб-квартирах корпорации.
Главной задачей операционной системы, используемой в сети масштаба отдела, является организация разделения ресурсов, таких как приложения, данные, лазерные принтеры и, возможно, низкоскоростные модемы. Обычно сети отделов имеют один или два файловых сервера и не более чем 30 пользователей. Задачи управления на уровне отдела относительно просты. В задачи администратора входит добавление новых пользователей, устранение простых отказов, инсталляция новых узлов и установка новых версий программного обеспечения. Операционные системы сетей отделов хорошо отработаны и разнообразны, также, как и сами сети отделов, уже давно применяющиеся и достаточно отлаженные. Такая сеть обычно использует одну или максимум две сетевые ОС. Чаще всего это сеть с выделенным сервером NetWare 3.x или Windows NT, или же одноранговая сеть, например сеть Windows for Workgroups.
Пользователи и администраторы сетей отделов вскоре осознают, что они могут улучшить эффективность своей работы путем получения доступа к информации других отделов своего предприятия. Если сотрудник, занимающийся продажами, может получить доступ к характеристикам конкретного продукта и включить их в презентацию, то эта информация будет более свежей, и будет оказывать большее влияние на покупателей. Если отдел маркетинга может получить доступ к характеристикам продукта, который еще только разрабатывается инженерным отделом, то он может быстро подготовить маркетинговые материалы сразу же после окончания разработки.
Итак, следующим шагом в эволюции сетей является объединение локальных сетей нескольких отделов в единую сеть здания или группы зданий. Такие сети называют сетями кампусов. Сети кампусов могут простираться на несколько километров, но при этом глобальные соединения не требуются.