В 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) сетей.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Операционные системы (ОС) классифицируют :

    по особенностям алгоритмов управления ресурсами – локальные и сетевые ОС. Локальные ОС управляют ресурсами отдельного компьютера. Сетевые ОС участвуют в управлении ресурсами сети;

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

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

    по возможности распараллеливания вычислений в рамках одной задачи - поддержка многонитевости . Многонитевая ОС разделяет процессорное время не между задачами, а между их отдельными ветвями – нитями;

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

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

    по ориентации на аппаратные средства - операционные системы персональных компьютеров , серверов , мейнфреймов , кластеров ;

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

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

    по структурной организации и концепциям, положенным в основу:

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

    по построению на базе объектно-ориентированного подхода ;

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

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

Структуру ОС составляют следующие модули :

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

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

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

    дополнительные сервисные программы (утилиты) - делают удобным и многосторонним процесс общения пользователя с компьютером.

В общем случае операционная система выполняет следующие четыре функции:

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

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

    реализует с той или иной степенью сложности принцип “виртуальной машины”, что позволяет группе программ использовать общие вычислительные ресурсы, например процессор (процессоры) и основную память;

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

    Обеспечивает работу с устройствами долговременной памяти, такими как магнитные диски, ленты, оптические диски и т.д

    Предоставляет стандартный доступ к различным устройствам ввода/вывода, таким как терминалы, модемы, печатающие устройства.

    Предоставляет некоторый пользовательский интерфейс. Часть систем ограничивается командной строкой, в то время как другие на 90% состоят из средств интерфейса пользователя.

Более развитые ОС предоставляют также следующие возможности:

    Параллельное (точнее, псевдопараллельное, если машина имеет только 1 процессор) исполнение нескольких задач.

    Распределение ресурсов компьютера между задачами.

    Организация взаимодействия задач друг с другом.

    Взаимодействие пользовательских программ с нестандартными внешними устройствами.

    Организация межмашинного взаимодействия и разделения ресурсов.

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

На сегодняшний момент операционная система Windows фирмы Microsoft во всех ее проявлениях, бесспорно, считается самой распространенной операционной системой на ПК: в мире более 150 млн. IBM PC-совместимых компьютеров, и система Windows установлена на 100 млн. из них. Очевидно, что ознакомление с ПК необходимо начинать с ознакомления с Windows, ведь без нее работа на ПК немыслима для большинства пользователей. Знание системы Windows — необходимый кирпичик в стене познания ПК. Операционные системы, развиваясь вместе с ЭВМ, прошли длинный путь от простейших программ в машинных кодах длинной в несколько килобайт до монстров, написанных на языках высокого уровня, размер которых исчисляется десятками мегабайт. Такой значительный рост размера операционных систем обусловлен, главным образом, стремлением разработчиков «украсить» операционную систему, расширить ее возможности, добавить возможности, изначально несвойственные операционным системам, а также сделать интерфейс пользователя интуитивным. Все эти попытки дали свои результаты, и положительные, и отрицательные (усложнение настройки и программного интерфейса при упрощении пользовательского).

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

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

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

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

Первая версия Windows вышла в свет в конце 80-х годов и осталась совершенно незамеченной. Аналогичная участь постигла и следующую версию - лишь версия Windows 3.0 (1992) сумела пробить себе дорогу к сердцам пользователей и стать «продуктом года». А еще через два года на свет появились версии 3.1 и 3.11 (последняя включала такой значительный элемент, как полную поддержку мультимедиа и работу в локальной сети - потому и носила уточняющее название Windows For Workgroups), окончательно утвердившие господство Windows на Олимпе операционных систем.

Однако ОС Windows 95 не была полностью 32-разрядной программой. Она содержала большие куски 16-разрядного ассемблерного кода (а также немного 32-разрядного) и продолжала использовать файловую систему MS-DOS, практически со всеми её ограничениями. Единственное значительное изменение файловой системы заключалось в добавлении длинных имен файлов к именам из 8+3 символа, разрешенным в MS-DOS.

Даже в выпуске Windows 98 в июне 1998 года MS-DOS все ещё присутствовала (теперь она называлась версией 7.1) и состояла из 16-разрядного кода. Хотя теперь ещё больше функций было переведено из MS-DOS-части системы в часть Windows, а поддержка больших дисковых разделов стала стандартом, по своему строению ОС Windows 98 не сильно отличалась от Windows 95. Основное отличие заключалось в интерфейсе пользователя, в большей степени интегрировавшем в себе Интернет и рабочий стол пользователя. Именно эта интеграция и привлекла внимание Министерства юстиции США, которое затем выдвинуло против корпорации Microsoft иск, обвиняя корпорацию Microsoft в нарушении закона о монополиях. Корпорация Microsoft яростно отрицала свою вину. В апреле 2000 года Федеральный суд США согласился с правительством. Кроме того, что в ядре ОС Windows 98 содержался большой кусок 16-разрядного ассемблерного кода, у этой системы были ещё серьёзные проблемы, Во-первых, хотя эта система была многозадачной, само ядро не был реентерабельным, Если процесс был занят управлением какой-либо структурой данных в ядре, а затем его квант времени заканчивался и начинал работу другой процесс, новый процесс мог получить структуру данных в противоречивом состоянии. Чтобы предотвратить возникновение подобной проблемы, большинство процессов, зайдя в ядро, первым делом получали гигантский мьютекс, покрывающий всю систему, прежде чем приступить к каким-либо действиям. Хотя такой подход и устранял потенциальную угрозу противоречивости структур данных, он также уничтожал большую часть преимуществ многозадачности, так как процессам, чтобы войти в ядро, часто приходилось ждать пока другой процесс ядро покинет.

Во-вторых, у каждого процесса было 4-гигабайтное адресное пространство, в котором первые 2 Гбайт полностью принадлежали процессу. Однако следующий 1Гбайт совместно использовался (с возможностью записи) всеми процессами системы. Нижний 1Мбайт так совместно использовался всеми процессами, чтобы все они могли получать доступ к векторам прерывания MS-DOS. Эта возможность вовсю использовалась большинством приложений Windows 98. В результате ошибка в одной программе могла повредить ключевые структуры данных, используемые посторонними процессами, вследствие чего все эти процессы рушились. Что ещё хуже, последний 1Гбайт совместно использовался (с возможностью записи) процессами и ядром и содержал некоторые критические структуры данных. Любая программа, записав поверх этих структур какой-либо мусор (преднамеренно или нет), могла вывести из строя всю систему. Очевидное решение, заключающееся в том, чтобы не помещать структуры данных ядра в пространство пользователя, было неприменимо, так как старые программы, написанные для MS-DOS, не смогли бы тогда работать в Windows 98.

В 2000 году корпорация Microsoft выпустила слегка измененную версию системы Windows 98, названную Windows Me (Windows Millennium Edition - Windows, выпуск тысячелетия). Хотя в данной версии были исправлены некоторые ошибки, а также добавлены новые функции, под внешней оболочкой скрывалась все та же Windows 98. Новые функции включали в себя улучшенные возможности организации и совместного использования изображений, музыки и фильмов, серьезнее поддерживали работу с сетью на дому и многопользовательские игры, а также содержали больше функций, относящихся к Интернету, таких как поддержка мгновенных сообщений и широкополосных соединений (кабельных модемов и ADSL). Одна интересная новая функция состояла в возможности восстановить прежние настройки компьютера после неверной установки каких-либо параметров. Если пользователь перенастраивал систему (например, изменял paзрешение экрана с 640×480 на 1024х768), и после этого система переставала работать, теперь он мог вернуться к последней работающей конфигурации.

Следом за NT 4.0 предполагалось выпустить версию NT 5.O. Однако в 1999 году корпорация Microsoft изменила ее название на Windows 2000 , в основном из-за попыток найти нейтральное имя, выглядящее логическим продолжением как для пользователей Windows 98, так и для пользователей NT. Таким образом, корпорация Microsoft рассчитывала иметь единую операционную систему, построенную на основе надежной 32-разрядной технологии, но использующую популярный интерфейс пользователя системы Windows 98.

Поскольку в действительности операционная система Windows 2000 представляет собой NT 5.0, она унаследовала множество свойств системы NT 4.0. Она является полностью 32-разрядной (планируется переход на 64-разрядную) многозадачной системой с индивидуально защищенными процессами. У каждого процесса есть собственное 32-разрядное (будет 64-разрядное) виртуальное адресное пространство. Операционная система работает в режиме ядра, тогда как процессы пользователя работают в пользовательском режиме, что обеспечивает полноценную защиту (в отличие от Windows 98). У процессов может быть один или несколько потоков, видимых для операционной системы и управляемых ею. Она удовлетворяет требованиям безопасности уровня С2 Министерства обороны США для всех файлов, каталогов и процессов, а также других объектов, которые могут использоваться совместно (по крайней мере, если гибкий диск вынут, а сеть отключена). Наконец, она обладает полной поддержкой симметричных многопроцессорных систем с числом процессоров от 2 до 32.

Тот факт, что Windows 2000 в действительности представляет собой NT 5.0, проявляется во многом. Например, системный каталог называется \winnt , а двоичный файл операционной системы (в каталоге \winnt\system32 ) называется ntoskrnl.exe. Если щелкнуть на этом файле правой кнопкой мыши и посмотреть его свойства, мы увидим, что номер его версии представляет собой 5xxx.yyy.zzz , где 5 означает NT 5, ххх - номер выпуска, ууу - номер сборки (компиляции), a zzz - дополнительный номер версии. Кроме того, многие файлы в каталоге \winnt
и его подкаталогах содержат буквы nt в своих именах, как, например, виртуальный эмулятор MS-DOS ntz’dm.

Операционная система Windows 2000 - это не просто улучшенная версия NT 4.0 с интерфейсом Windows 98. Начнем с того, что она содержит множество других функций, которые ранее были только в Windows 98. К ним относится полная поддержка устройств plug-and-play, шины USB, стандарта IEEE 1394 (FireWire), IrDA (Infrared Data Association - стандарт на инфракрасную передачу данных и вывод на печать, разработанный ассоциацией IrDA), а также, среди прочего, управление питанием. Кроме того, были добавлены несколько новых функций, не присутствовавших ранее в других операционных системах корпорации Microsoft, включая каталоговую службу Active Directory, систему безопасности Kerberos, поддержку смарт-карт, инструменты мониторинга системы, лучшую интеграцию лэптопов и настольных компьютеров, инфраструктуру системного администрирования и рабочие объекты. Другая новая особенность файловой системы NTFS состоит в разновидности связи с копированием при записи, при использовании которой два пользователя могут совместно использовать один связанный файл. Как только один из пользователей начинает запись в этот файл, автоматически создается копия файла.

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

Единственная вещь, которой нет в Windows 2000 - это MS-DOS. Ее просто нет здесь ни в каком виде (как не было в NT). Есть интерфейс командной строки, но это новая 32-разрядная программа, включающая функциональность старой системы MS-DOS, а также некоторые новые функции.

Несмотря на многочисленные свойства, способствующие переносимости системы с точки зрения программ, аппаратуры, языков и т. д., в одном отношении операционная система Windows 2000 обладает меньшей переносимостью, чем NT 4.0. Она работает только на двух платформах - Pentium и Intel IA-64. Изначально операционная система NT поддерживала дополнительные платформы, включая PowerPC, MIPS и Alpha, но с годами корпорация Microsoft перестала поддерживать эти процессоры один за другим по коммерческим соображениям.

Операционная система Microsoft Windows XP (от англ. eXPerience - опыт), известная также под кодовым наименованием Microsoft Codename Whistler, является новой ОС семейства Windows, созданной на базе технологии NT. Первоначально в планы корпорации Microsoft входила разработка двух независимых операционных систем нового поколения. Первый проект получил рабочее название Neptune, эта ОС должна была стать очередным обновлением Windows Millennium Edition, новой системой линейки Windows 9X. Второй проект, называвшийся Odyssey, предполагал создание ОС на платформе Windows NT, которая должна была придти на смену Windows 2000. Однако руководство Microsoft посчитало нецелесообразным рассредоточивать ресурсы на продвижение двух разных ОС, вследствие чего оба направления разработок были объединены в один проект — Microsoft Whistler. Возможно, именно благодаря этому решению Windows XP объединяет в себе достоинства уже знакомых пользователям операционных систем предыдущих поколений: удобство, простоту в инсталляции и эксплуатации ОС семейства Windows 98 и Windows ME, а также надежность и многофункциональность Windows 2000. В настоящее время Windows XP для настольных ПК и рабочих станций выпускается в трех модификациях: Home Edition для домашних персональных компьютеров, Professional Edition - для офисных ПК и, наконец, Microsoft Windows XP 64bit Edition - это версия Windows XP Professional для персональных компьютеров, собранных на базе 64-битного процессора Intel Itanium с тактовой частотой более 1 ГГц.

Для запуска Microsoft Windows XP необходим персональный компьютер, отвечающий следующим минимальным системным требованиям: процессор - Pentium-совместимый, тактовая частота от 233 МГц и выше; объем оперативной памяти - 64 Мбайт; свободное дисковое пространство - 1,5 Гбайт. Однако для стабильной и быстрой работы рекомендуется устанавливать данную операционную систему на компьютер со следующими оптимальными характеристиками: процессор - Pentium-II-совместимый (или выше), тактовая частота от 500 МГц и выше; объем оперативной памяти - 256 Мбайт; свободное дисковое пространство - 2 Гбайт. Устройство для чтения компакт-дисков (CD-ROM), модем со скоростью не менее 56 Kbps.

Если сравнить Windows XP с более ранними версиями Microsoft Windows, в новой операционной системе легко обнаружить множество значительных отличий. Несмотря на то, что эта ОС была разработана на основе уже хорошо знакомой российским пользователям платформы NT и, на первый взгляд, по своим характеристикам во многом схожа с Microsoft Windows 2000, фактически Windows XP относится к принципиально иному поколению операционных систем семейства Windows. Теперь пользователь Windows не привязан к какому-либо стандартному интерфейсу, устанавливаемому в системе по умолчанию. Если вам не нравится традиционный вид окон, элементов управления и Панели задач, доставшийся новой ОС «в наследство» от Windows 2000, то вы можете без труда изменить их, загрузив из Интернета любой из сотен специально разработанных «Тем». Традиционное Главное меню, открывающее доступ к установленным на компьютере программам, хранящимся на дисках документам и настройкам операционной системы, также претерпело ряд значительных изменений. Теперь при нажатии кнопки Пуск появляется динамическое меню, содержащее значки лишь пяти программ, которыми пользуется наиболее часто. Благодаря этому можно начать работу с нужными приложениями значительно быстрее. Здесь же расположены значки браузера Microsoft Internet Explorer 6 и почтового клиента Outlook Express 6, кнопки Выход из системы (Log Off) и Выключение компьютера (Turn Off Computer), позволяющие завершить текущий сеанс работы с Windows и выключить компьютер.

В среде Microsoft Windows пользователю часто приходится одновременно работать с несколькими документами или набором различных программ.

В состав Windows XP включен специальный механизм — быстрое переключение сеансов (Fast User Switching), с применением которого можно быстро, без регистрации подключать к работе с операционной системой новых пользователей и групп пользователей. Появилась также возможность переключаться между несколькими сеансами работы без необходимости сохранять данные или перезагружать систему.

Так как операционная система Windows Vista вышла чуть больше месяца назад, то нет ещё сведений по её архитектуре.

Можно сказать точно, что эта система имеет похожесть по строению с Windows XP во многих решениях (например она построена как и XP на ядре NT и имеет поддержку NTFS), но в ней содержится очень много новых служб, продуманный интерфейс Windows Aero и доработка системы поиска и индексации.

Windows Vista – это новое решение от небезызвестной Microsoft. Эта ОС сочетает в себе все достижения в сфере безопасности, дизайна, коммуникаций и широкой совместимости с разными устройствами.

Windows 7 - операционная система семейства Windows NT, следующая за Windows Vista. В линейке Windows NT система носит номер версии 6.1 (Windows 2000 - 5.0, Windows XP - 5.1, Windows Server 2003 - 5.2, Windows Vista и Windows Server 2008 - 6.0). Серверной версией является Windows Server 2008 R2, версией для интегрированных систем - Windows Embedded Standard 2011 (Quebec), мобильной - Windows Embedded Compact 2011 (Chelan, Windows CE 7.0)

Операционная система поступила в продажу 22 октября 2009 года, меньше чем через три года после выпуска предыдущей операционной системы, Windows Vista. Партнёрам и клиентам, обладающим лицензией Volume Licensing, доступ к RTM был предоставлен 24 июля 2009 года.

В состав Windows 7 вошли как некоторые разработки, исключённые из Windows Vista, так и новшества в интерфейсе и встроенных программах. Из состава Windows 7 были исключены игры Inkball, Ultimate Extras; приложения, имеющие аналоги в Windows Live (Почта Windows и пр.), технология Microsoft Agent, Windows Meeting Space; из меню «Пуск» исчезла возможность вернуться к классическому меню и автоматическая пристыковка браузера и клиента электронной почты. Также из состава Windows исчез Календарь Windows.

Задание 2

Выполнение данного задания предусматривает решение примеров на перевод чисел из одной системы счисления в другую с представлением полных математических выкладок (точность представления чисел — до пятого знака после запятой) и представление чисел в форме с плавающей и с фиксированной точкой.

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

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

В третьем примере числа, заданные в форме с плавающей точкой необходимо представить в форме с фиксированной точкой.

Варианты заданий определяются по таблице:

248,615 322,549

11001100,10101 11110001,11101

2.462Е+03

7.355Е-02

5.526Е+04

1.254Е-01

248,615 =8F.9D70FA (16) = 370. 47270 (8) =10111000.10011 (2)

248|16

240 15

8

0.615 * 16 =9.84

0.84*16 =13.44

0.44*16= 7.04

0.04*16 = 0.64

0.64*16 = 10.24

248|8

248 31|8

0 24 3

7

0.615*8 =4.92

0.92*8 = 7.36

0.36*8 = 2.88

0.28*8=7.04

0.04*8 = 0.32

248 |2

248 124|2

0 124 62 |2

0 62 31 |2

0 30 15|2

1 14 7|2

1 6 3 |2

1 2 1

0

0.615*2 = 1.23

0.23*2 = 0.46

0.46*2 = 0.92

0.92*2 = 1.84

0.84*2 = 1.68

322.549 =142.8C8B4 (16) =502.43105 (8) =
101000010.10001 (2)

322|8

320 40 |8

2 40 5

0

0.549*8= 4.392

0.392 * 8 = 3.136

0.136 * 8 = 1.088

0.088 * 8 = 0.704

0.704 * 8 = 5.632

322|16

320 20 |16

2 16 1

4

0.549*16 =8.784

0.784 * 16 =12.544

0.544*16 =8.704

0.704*16 =11.264

0.264*16 = 4.224

322 |2

322 161|2

0 160 80 |2

1 80 40 |2

0 40 20 |2

0 20 10 |2

0 10 5 |2

0 4 2 |2

1 2 1

0

0.549 *2 = 1.098

0.098*2 = 0.196

0.196*2 = 0.392

0.392*2 = 0.784

0.784 *2 = 1.568

11001100.10101 =204.65625 (10) = 314.52 (8) =CC.A8 (16)

11110001.11101= 241.90625 (10) = 361.72 (8) =F1.E8 (16)

2.462E+03 = 2462

7.355Е-02 = 0,07355

5,526Е+04 = -55260

1,254Е-01 = 0,1254

Задание 3

Целью данного задания является проверка умения студента работать с файловой системой. Задание состоит из двух частей. В первой части требуется записать шаблон, объединяющий в группу заданные файлы. Во второй части задания требуется записать маршруты (пути доступа) к заданным файлам, если иерархическое дерево папок диска имеет следующий вид:


Таблица вариантов заданий:

Запишите маршрут к следующим файлам:

Запишите шаблон, объединяющий…

договор.doc из корневой папки диска D:

программа.bas из папки Учебная

все файлы с расширением .bmp ;

все файлы, имена которых состоят не более чем из четырех символов;

D:\договор.doc

D:\Мгук\Работа\Учебная\ программа.bas

*.bmp

????.*

Задание 4

Для выполнения задания по данному вопросу необходимо разработать в текстовом процессоре Microsoft Word рекламный лист на заданную тему. Документ должен содержать:

    текст;

    фигурный текст;

    рисунок;

    таблицу;

    Темы для разработки документов представлены в таблице:



    Кандагар

    Сеансы:

    В пятницу

    В субботу

    В воскресенье

    14:15

    16:30

    18:45
    21:00

    14:25

    16:50

    18:55
    21:30

    23-55

    14:05

    16:20

    18:25
    20:50

    Афганистан, 1995 год. В Афганистане идет гражданская война. Движение «Талибан» контролирует страну. По обвинению в контрабанде оружия российский грузовой лайнер, совершавший рейс в Кабул с оружием на борту, захвачен в аэропорту Кандагара. Экипаж лайнера – пятеро русских летчиков — оказывается в плену. Российское правительство вынуждено отказать экипажу в помощи. Проведя год в нечеловеческих условиях афганского плена, брошенные Родиной на произвол судьбы, русские летчики понимают, что рассчитывать приходится только на себя и решаются совершить дерзкий побег…
    Внимание! Фильм только для зрителей старше 14 лет!

    Легион

    В пятницу

    В субботу

    В воскресенье

    14:05

    16:20

    18:15
    21:10

    14:00

    16:00

    18:00
    21:00

    23-05

    14:15

    16:25

    18:25
    20:55

    Когда Господь совсем потерял веру в человечество, Он послал на землю ангелов смерти, дабы навсегда стереть с лица Земли сей непотребный род. И лишь Архангел Михаил воспротивился этому. Собрав под своими крыльями горстку людей, обитающих посреди пустыни в Богом забытой закусочной и ждущих появления Спасителя, он встал на защиту человечества.
    Внимание! Фильм только для зрителей старше 16 лет

    Задание 5

    Решение задачи должно содержать следующие разделы:

    Постановка задачи.

    Список идентификаторов, включающий обозначение каждого идентификатора, его физический смысл и тип данных.

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

    Текст программы на языке высокого уровня, описывающей разработанный алгоритм (с комментариями).

    Расчет коэффициента К широты ассортимента товаров по формуле:

    К = ,

    где n — количество проверок;

    Постановка задачи.

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


    ,

    где n — количество проверок;

    M i — количество разновидностей товаров, предусмотренных ассортиментным минимумом;

    G i — количество разновидностей товаров, из предусмотренных ассортиментным перечнем, имеющихся в продаже в момент проверки.

    Описание переменных

    Для решения задачи необходимы следующие переменные:

    n – количество проверок – целое число (integer), значение должно быть строго больше 0, т.к. на n осуществляется деление;

    i – текущий шаг вычисления – целое число (integer);

    M – количество разновидностей товаров, предусмотренных ассортиментным минимумом – целое число (integer), значение должно быть строго больше 0, т.к. на М осуществляется деление;

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

    S – сумма значений G/M – вещественное число (real);

    K – коэффициент широты ассортимента товара, вещественное число (real).