
- •«Операционные системы»
- •220400.62 «Управление в технических системах»
- •Содержание
- •1Лекция 1. Основные понятия операционных систем. История развития. Основные понятия
- •История развития вычислительной техники
- •Лекция 2. Представление информации на компьютере. Системы исчисления
- •Представление информации в компьютере
- •Системы счисления. Двоичная система счисления
- •Шестнадцатеричная система счисления
- •Представление символов (текстовой информации)
- •Лекция 3. Управление ресурсами эвм
- •Логическая структура пк
- •Системный блок
- •Микропроцессор
- •Сопроцессор
- •Оперативная память (оп)
- •Постоянное запоминающее устройство (пзу)
- •Накопители на гибких магнитных дисках (нгмд)
- •Накопители на жестком диске (винчестеры)
- •Мониторы
- •Клавиатура
- •Принтеры
- •Другие устройства
- •Лекция 4. Програмно-аппаратный комплекс. Системные и инструментальные программные средства
- •Системные программы
- •Инструментальные системы
- •Прикладные системы
- •Лекция 5. История эволюции вычислительных систем ос как расширенная машина
- •Ос как система управления ресурсами
- •1.1.1.1Краткая история эволюции вычислительных систем
- •3Первый период (1945–1955 гг.).
- •4Ламповые машины. Операционных систем нет
- •4.1.1.1.1Второй период (1955 г.–начало 60-х). Компьютеры на основе транзисторов. Пакетные операционные системы
- •4.1.1.1.2Третий период (начало 60-х – 1980 г.). Компьютеры на основе интегральных микросхем. Первые многозадачные ос
- •4.1.1.1.3Четвертый период (с 1980 г. По настоящее время). Персональные компьютеры. Классические, сетевые и распределенные системы
- •Лекция 6. Виды операционных систем
- •Классификация ос
- •Лекция 7. Иерархическая структура жесткого диска
- •Лекция 8. Серверные системы и ситемы реального времени
- •Лекция 9. Семейство ос Unix
- •Семейство операционных систем unix
- •Лекция 10. Операционная система linux
- •Лекция 11. Операционные системы семеиства Windows
- •Лекция 12.Обеспечение безопастности информационных систем Введение
- •Угрозы безопасности
- •Формализация подхода к обеспечению информационной безопасности
- •Криптография как одна из базовых технологий безопасности ос
- •Лекция 13. Графический процессор основные понятия. Интерфейс Общая информация
- •Лекция 14. Табличный процессор основные понятия. Интерфейс. Общая информация
- •Литература
Лекция 11. Операционные системы семеиства Windows
Как известно, компания microsoft является безусловным лидером и разработке программного обеспечения для персональных компьютеров. Среди разнообразных программных продуктов этой компании особое место занимают ее операционные системы. Начав с разработки простейшей однопрограммной операционной системы для первого персонального компьютера, эта компания недавно выпустила несколько версий серверной операционной системы windows 2003, которые предназначены для построения корпоративных сетей и считаются на сегодняшний день одними из самых сложных и полнофункциональных. Для встроенных систем (в том числе систем для карманных компьютеров и других мобильных систем) microsoft разработала операционные системы семейства windows се. Последняя такая операционная система для популярных компьютеров типа pocket рс получила название microsoft windows mobile 2003 for pocket pc. (операционные системы windows се имеют тот же интерфейс win32 api, что и системы для персональных компьютеров.)
Впервые слово «windows», что, как известно, в переводе с английского дословно означает окна, компания microsoft использовала в названии своей программной системы для персональных компьютеров, призванной предоставить пользователям графический интерфейс и возможность работать с несколькими приложениями. Первые системы windows представляли собой своеобразную оболочку, запускаемую из операционной системы ms dos, которая переключала центральный процессор в защищенный режим работы и позволяла организовать параллельное выполнение нескольких задач. Наличие графического интерфейса пользователя (graphical user interface, gui) и широкая поддержка его со стороны компании microsoft привели к тому, что большинство новых программных продуктов стали создаваться в расчете на эти новые возможности. Со временем компания microsoft все больше внимания стала уделять обеспечению надежности вычислений и их эффективности, однако задача обеспечить пользователя интуитивно понятным и в целом удобным графическим интерфейсом, похоже, так и осталась главной.
Общим для операционных систем, имеющих в своем названии слово «windows», является графический интерфейс пользователя. Все эти операционные системы похожи друг на друга. Приложения, написанные для среды windows, будут одинаково выглядеть и в windows 95, и в windows хр. В результате пользователи, умеющие работать с одной операционной системой, достаточно легко могут освоить другую. И это одно из важнейших достоинств.
Основной особенностью систем windows является то, что все они предназначены для диалогового режима работы, и поэтому в качестве основного интерфейса выбран графический, как более функциональный и удобный. Если в таких операционных системах, как linux, qnx или os/2, можно работать с системой через интерфейс командной строки и этим ограничиться, то во всех системах windows невозможно получить текстовый интерфейс командной строки без графического.
В ряде случаев графический режим не нужен, поскольку выполняющиеся вычисления не требуют диалога с пользователем. К таким случаям, прежде всего, можно отнести работу серверов, которые, будучи правильно и разумно сконфигурированы, способны работать месяцами без какого-либо вмешательства человека и полностью выполнять поставленные перед ними задачи. К таким случаям можно отнести и задачи автоматизированного управления различными технологическими процессами, специальным автоматизированным оборудованием.
Операционные системы windows 9х. Краткая историческая справка
В те годы, когда появилась первая система windows, а это произошло в ноябре 1985 года, наибольшее распространение имели компьютеры на базе процессора i80286.
После первой системы windows, которая себя только обозначила, компания microsoft в течение нескольких лет принимала активное участие в работах по созданию операционной системы os/2. Кстати, операционная система windows nt «выросла» из проекта os/2, который имел версию 3.0.
Общие сведения
Операционные системы windows 9х создавались для работы только на ibm-со-вместимых персональных компьютерах. Они не являются переносимыми и на других платформах (на процессорах, не совместимых с архитектурой iа32) не работают. Как и для всего остального программного обеспечения от microsoft исходные коды операционных систем закрыты, поэтому подробного описания ее архитектуры практически нет; имеются только многочисленные публикации о том, как следует использовать эти системы.
Операционные системы семейства windows 9х предназначены, главным образом, для домашнего, а не корпоративного применения. Уже многие годы они являются самыми распространенными в мире. Хотя они допускают возможность работы с компьютером нескольких пользователей (естественно, по очереди, поскольку системы являются однотерминальными), в них не поддерживается механизм учетных записей, как в остальных 32-разрядных операционных системах. Каждый пользователь может иметь свое собственное рабочее окружение, то есть свой вид рабочею стола (desktop), состав панели задач (taskbar) и меню пуск (start), параметры настройки используемых программ и многое другое. Это собственное рабочее окружение называется профилем (profile), и при включении такой возможности в системном каталоге образуется вложенный каталог с именем profiles, в котором и размещаются профили пользователей
С точки зрения базовой архитектуры операционные системы семейства windows 9х являются 32-разрядными и мультизадачными (многопоточными) системами с вытесняющей многозадачностью. Ядра у всех этих операционных систем построены по макроядерной архитектуре. Ядро состоит из трех основных компонентов: kernel, user и gdi. Модуль kernel обеспечивает основную функциональность операционной системы, в том числе: планирование процессов; поддержку потоков выполнения; синхронизацию объектов; работу с файлами, отображаемыми на память; управление памятью; файловый ввод-вывод; обработку исключений; работу консолей; компонент user управляет вводом с клавиатуры и координатных устройств (типа мыши) и выводом через пользовательский интерфейс. Когда то или иное устройство ввода генерирует прерывания, обработчик прерываний, используя модель асинхронного ввода, преобразует их в сообщения и посылает потоку необработанного ввода, который распределяет их по соответствующим очередям сообщений. Наконец, компонент ядра, называемый gdi (graphical device interface— графический интерфейс устройства), представляет собой графическую подсистему, которая отвечает за прорисовку графических примитивов, операции с растровыми изображениями и взаимодействие с аппаратно-независимыми графическими драйверами, gdi управляет выводом на экран, принтеры и другие устройства.
Все операционные системы windows 9х централизованно хранят всю системную информацию об аппаратных средствах, установленном системном и прикладном программном обеспечении и его настройке, в том числе и индивидуальных параметрах каждого пользователя.
Организация многозадачности
Одним из наиболее актуальных вопросов, которые решает любая многозадачная операционная система, в том числе и системы windows 9х, состоит в организации по возможности простого, но эффективною способа предоставления процессорного времени различным параллельно выполняющимся программам. Другими словами, речь идет о диспетчеризации задач.
Мы уже знаем, что многозадачность, в общем случае, означает способность операционной системы обеспечивать совместное использование процессора несколькими программами. Большинство разработчиков операционных систем называют работающие программы задачами, поэтому задачей можно считать загруженную в память программу, которая что-то делает.
Диспетчер задач (потоков выполнения) использует следующие три механизма, с помощью которых он пытается равномерно распределять время процессора между всеми вычислениями в целях обеспечения бесперебойной и одновременно быстрой реакции системы.
Динамическое изменение приоритета. Диспетчер на время может повысить или понизить приоритет того или иного потока. Так, например, нажатие клавиши или щелчок мыши говорит ему о том, что приоритет потока, к которому относится действие пользователя, должен быть повышен.
Постсинхронизированное снижение приоритета. Ранее повышенное значение приоритета постепенно возвращается к исходному значению.
Наследование приоритета. Служит для быстрого повышения приоритета. Обычно это делается для того, чтобы позволить потоку с низким приоритетом быстро закончить работу с выделенным для монопольного использования ресурсом, который необходим потокам с высоким приоритетом. Windows 95/98 восстанавливает исходное значение унаследованного приоритета сразу же после удовлетворения конфликтного условия.
Распределение оперативной памяти
Для загрузки операционные системы windows 95/98 используют операционную систему ms dos 7.0 (ms dos 98). И в случае если в секции [options] файла msdos.sys имеется строка bootgui= 0, процессор работает в обычном реальном режиме. Распределение памяти в ms dos 7.0 такое же, как и в предыдущих версиях dos. Однако при загрузке интерфейса gui перед загрузкой ядра windows 95/98 процессор переключается в защищенный режим работы и начинает распределять память уже с помощью страничного механизма.
Приложения и подсистемы windows 9х (за исключением ядра) никогда не работают с физической памятью. Разделение на виртуальную и физическую память является ключевым аспектом работы системы. Приложения и подсистемы windows 9х имеют дело с определенными интерфейсами прикладного программирования и виртуальными адресными пространствами. Базовая система работает как с физической памятью, так и с виртуальными адресными пространствами.
Операционные системы windows nt/2000/xp
Компания microsoft в 1990 году объявила о начале работ по созданию принципиально новой операционной системы для персональных ibm pc-совместимых компьютеров с прицелом на корпоративный сектор, которая помимо банальной мультизадачности и поддержки виртуальной памяти обладала бы, в частности, такими качествами, как:
Микроядерная архитектура — сказалось влияние идей проекта mach 3, выполненного в университете карнеги меллон (carnegie mellon university), которое в то время было очень велико;
Аппаратная независимость (platform independent), что должно было обеспечить легкую переносимость системы;
Мультипроцессорная обработка и масштабируемость (в то время операционные системы семейства unix обеспечивали работу на мультипроцессорных компьютерах и фактически доминировали как мощные корпоративные серверные системы);
Возможность выполнения приложений, созданных для других операционных систем, в частности приложений для unix и 16-разрядных программ os/2;
Защита информации и вычислений от несанкционированного доступа;
Наличие высокопроизводительной и надежной файловой системы и возможность работать с несколькими файловыми системами;
Встроенные сетевые функции и поддержка распределенных вычислений.
Однако windows nt 3.1 в качестве рабочей станции уступала системе os/2, поскольку требовала существенно больше оперативной памяти и имела относительно низкое быстродействие. Кроме этого, при работе с дисками, отформатированными под файловую систему fat, она не поддерживала длинные имена.
Системы windows nt 3.x не смогли тогда завоевать признание ни в качестве серверных, ни в качестве обычных настольных систем, поскольку требовали очень больших (по меркам того времени) вычислительных ресурсов.
Как ни странно, но еще одним недостатком этих первых систем windows nt было гтоогое следование идеям микроядерной архитектуры. Желая исправить эти недочеты, microsoft запустила проект cairo и в 1996 г. Выпустила операционные системы windows nt 4.0 server и windows nt 4.0 workstation.
К сожалению, в своей новой операционной системе компания microsoft отказалась от поддержки высокопроизводительной файловой системы hpfs, с которой работают операционные системы os/2, хотя при желании пользователь мог сам добавить соответствующие драйверы из дистрибутива предыдущей windows nt 3.x.
Желая противопоставить свою серверную операционную систему известным сетевым операционным системам корпоративного уровня nowell netware 4.x и netware 5х, компания microsoft разработала новое семейство операционных систем класса nt, которое должно было изначально называться windows nt 5.0, однако из маркетинговых соображений было переименовано в windows 2000. В семейство этих систем вошли четыре операционные системы.
Windows 2000 professional — для использования в качестве рабочей станции вместо windows nt 40 workstation или windows 98. Эта операционная система может работать на 2-процессорных компьютерах.
Windows 2000 server— для использования в качестве контроллера домена и/или сервера (файлов, приложений, баз данных, web и/или ftp, печати и т. Д.) В относительно небольшой сети, которую могут себе позволить иметь предприятия малого и среднего бизнеса. Эта операционная система поддерживает 4-процессорные конфигурации.
Windows 2000 advanced server — для тех же целей, что и windows 2000 server, но с упором на выполнение функций сервера приложений и сервера баз данных. Обладает возможностью работать на компьютере с восемью процессорами и, самое главное, организовать кластер из двух машин.
Windows 2000 datacenter server — специальная версия операционной системы, предназначенная для работы в вычислительных сетях крупных предприятий. Система хорошо масштабируется, позволяет построить 4-узловой кластер, причем каждая из машин может иметь вплоть до 16 процессоров.
Наверное, самыми главными особенностями этих операционных систем (по сравнению с предыдущими windows nt 4.0) следует назвать поддержку механизма plug and play (как и в системах windows 9х) и использование службы каталогов как основы для построения сетей клиент-сервер. Служба каталогов microsoft, получила наименование active directory. Принципиальной особенностью этой технологии является ее глубокая интеграция с тср/ip.
Осенью 2001 года microsoft обновила операционную систему windows 2000 professional до windows хр (experience). При этом она выпустила две редакции. Одна из них представляла собой «облегченный» вариант системы для домашнего применения. Она получила название windows хр home edition. Системы windows xp в еще большей мере стали мультимедийными и ориентированными на интернет. Интересным новшеством для систем windows стала возможность организовать одновременную работу с компьютером двух пользователей: для одного непосредственно (локально), а для второго удаленно с другого компьютера.
Наконец, весной 2003 года на замену семейству windows 2000 вышли несколько серверных операционных систем, которые получили в название число 2003. Это следующие 32-разрядные операционные системы для микропроцессоров с архитектурой iа-32.
Windows small business server 2003 — предназначена для построения небольших локальных вычислительных сетей.
Windows server 2003 web edition — это самая «облегченная» система, она не может выступать в роли контроллера домена и быть сервером приложений.
Windows server 2003 standard edition — основная многоцелевая операционная система, пришедшая на смену windows 2000 server.
Windows server 2003 enterprise edition — аналог windows 2000 advanced server.
Windows server 2003 datacenter edition.
Последние две операционные системы имеют разновидности для 64-разрядных процессоров itanium 2 производства компании intel.
Ничего революционного эти системы не привнесли, но существенно обновили предыдущие серверные операционные системы. В качестве основных особенностей новых систем microsoft отмечает упрощение администрирования, более безопасную инфраструктуру и более высокую надежность, интеграцию в системы активно продвигаемой технологии net (произносится как «дот нет»).
Основные особенности архитектуры
Наиболее принципиальным отличием между системами класса windows 9х и windows nt является то, что у них разная архитектура.
Большинство операционных систем использует такую особенность современных процессоров, как возможность работать в одном из двух режимов: привилегированном (режиме ядра, или режиме супервизора) и пользовательском (режиме выполнения приложений).
Поскольку при. Создании windows nt разработчики хотели обеспечить ее мобильность, то есть легкую переносимость на другие платформы, они приняли решение использовать только два уровня привилегий из четырех, имеющихся в микропроцессорах intel семейства i80x86.
Одним из важнейших компонентов операционных систем windows nt/2000/xp, который появился вследствие следования микроядерному принципу их построения, является исполняющая система (win32 executive). Она выполняет такие базовые функции операционной системы, как управление процессами и потоками, управление памятью, взаимодействие между процессами, защиту, операции ввода-вывода (включая файловые операции, кэширование, работу с сетью и некоторые другие). Ниже перечислены компоненты исполняющей системы.
Диспетчер процессов (process manager) создает, отслеживает и удаляет процессы. Для выполнения этих функций создается соответствующий дескриптор, определяются базовый приоритет процесса и карта адресного пространства, создается и поддерживается список всех готовых к выполнению потоков.
Диспетчер виртуальной памяти (virtual memory manager) предоставляет виртуальную память выполняющимся процессам. Каждый процесс имеет отдельное адресное пространство, используется страничное преобразование линейных адресов в физические, поэтому потоки одного процесса не имеюг доступа к физическим страницам, отведенным для другого процесса.
Диспетчер объектов (object manager) создает и поддерживает объекты. В частности, поддерживаются дескрипторы объектов и атрибуты защиты объектов. Объектами считаются каталоги, файлы, процессы и потоки, семафоры и события и многие другие.
Монитор безопасности (security reference monitor) обеспечивает санкционирование доступа к объектам, контроль полномочий доступа и ведение аудита. Совместно с процессом входа в систему (logon) и защищенными подсистемами реализует модель безопасности windows nt.
Диспетчер ввода-вывода (input/output manager) управляет всеми операциями ввода-вывода в системе. Организует взаимодействие и передачу данных между всеми драйверами, включая драйверы файловых систем, драйверы физических устройств, сетевые драйверы, для чего используются структуры данных, называемые пакетами запросив на ввод-вывод (i/o request packet, irp). Запросы на ввод-вывод обрабатываются в порядке приоритетов, а не в порядке их поступления. Операции ввода-вывода квитируются, этим процессом управляет диспетчер кэша (cache manager). Поддерживаются различные файловые системы, причем драйверы этих систем воспринимаются диспетчером ввода-вывода как драйверы физических устройств. Специальное сетевое системное программное обеспечение (редиректор и сервер) трактуются как сетевые драйверы и также имеют непосредственную связь с диспетчером ввода-вывода.
Средства вызова локальных процедур (local procedure call, lpc) обеспечивают выполняющиеся подсистемы среды выполнения и приложения пользователей коммуникационным механизмом, в котором взаимодействие строится по принципу клиент-сервер.
Модель безопасности
При разработке всех операционных систем семейства windows nt/2000/xp компания microsoft уделяла самое пристальное внимание обеспечению информационной безопасности. Как следствие, эти системы предоставляют надежные механизмы защиты, которые просты в использовании и легки в управлении. Сертификат безопасности на соответствие уровню с2 имеют операционные системы windows nt 3.5 и windows nt 4.0. Операционные системы семейства windows 2000 имеют еще более серьезные средства обеспечения безопасности, однако на момент написания этой книги они еще не сертифицировались.
В отличие от операционных систем семейства windows 9х, как, впрочем, и от системы os/2, в разработке первой версии которой microsoft тоже принимала участие, системы класса windows nt имеют совершенно иную модель безопасности. Средства защиты изначально глубоко интегрированы в операционную систему. Подсистема безопасности осуществляет контроль за тем, кто и какие действия совершает в процессе работы, к каким объектам пытается получить доступ. Все действия пользователя, в том числе и обращения ко всем объектам, как нетрудно догадаться, на самом деле могут быть совершены только через соответствующие запросы к операционной системе. Операционная система использует этот факт и имеет все необходимые механизмы для тотального контроля всех запросов к ней. Запрашиваемые у операционной системы операции и обращения к конкретным объектам разрешаются, только если у пользователя для этого имеются необходимые права и/или разрешения. При этом обязательно следует различать эти понятия.
Права (rights) определяют уровень полномочий при работе в системе. Например, если нет права форматировать диск, то выполнить это действие пользователь не сможет. Кстати, конкретно таким правом при работе с windows nt/2000/xp обладают только члены группы администраторов. Можно говорить и о праве изменения настроек дисплея, и о праве работать на компьютере. Очевидно, что перечень прав является достаточно большим. Права могут быть изменены посредством применения соответствующих политик.
Термин разрешение (permission) обычно применяют по отношению к конкретным объектам, таким как файлы и каталоги, принтеры и некоторые другие. Можно говорить о разрешениях на чтение, на запись, на исполнение, на удаление и проч. Например, можно иметь разрешения на чтение и запуск некоторой программы, но не иметь разрешений на ее переименование и удаление.
Модель безопасности windows nt гарантирует, что не удастся получить доступ к ее объектам без того, чтобы предварительно пройти аутентификацию и авторизацию, для того чтобы иметь право работать на компьютере, необходимо иметь учетную запись (account). Учетные записи хранятся в базе данных учетных записей, которая представлена файлом sam (security account management).