Лекции_операционные системы (Информатики)
.pdfФрагмент учебника «Операционные системы, сети и интернеттехнологии» С.А.Жданов, Н.Ю.Иванова, В.Г.Маняхина, С.Н.Мягков.
изменениями, которые будут сделаны, если продолжить установку.
Чтобы запустить процесс установки – щелкните кнопку
«Применить».
Для удаления пакета: В правом верхнем окне выберите нужный пакет и в контекстном меню (щелчок правой кнопкой мыши) выберите «Отметить для удаления». Если выбрать «Отметить для полного удаления», то удалится не только выбранный пакет, но и все зависимости, т.е. все связанные с ним пакеты. Далее появится диалоговое окно с перечнем изменений, которые будут произведены. Чтобы запустить процесс удаления – щелкните кнопку
«Применить».
Кроме Synaptic графическим интерфейсом обладают и другие менеджеры пакетов, например, gpk-application (в дистрибутивах
Fedora, ASPLinux и др.), rpmdrake (в дистрибутивах Mandrake, Mandriva и др.).
Вопросы для самоконтроля.
1.В чем причины многолетней популярности Unix-подобных ОС?
2.Перечислите основные характеристики Linux.
3.Что представляет собой дистрибутив Linux, приведите примеры дистрибутивов.
4.Какие интерфейсы пользователя есть в Linux?
5.Какие файловые системы поддерживаются в Linux?
6.Опишите логическую организацию файловой системы в
Linux.
7. Используя командный интерпретатор shell:
А) Создайте в домашнем каталоге скрипт (командный файл) creatе, который выполняет следующие операции:
131
Фрагмент учебника «Операционные системы, сети и интернеттехнологии» С.А.Жданов, Н.Ю.Иванова, В.Г.Маняхина, С.Н.Мягков.
В домашнем каталоге создает каталоги katalog1 и katalog2.
В каталоге katalog2 создает katalog3 и katalog4.
В каталог katalog1 копирует все файлы, длина имени которых 5 символов из каталога /bin.
Копирует файлы, содержащие в имени одну из букв a-c,
из каталога /bin в каталог katalog4.
В каталоге katalog2 создает текстовый файл user.txt, в
котором будет храниться имя пользователя (свое имя пользователь введет с клавиатуры после запуска командного файла).
В каталоге katalog1 создает файл filelist, в который записывается список файлов, находящихся в домашнем каталоге пользователя и его подкаталогах,
отсортированный по алфавиту.
В каталоге katalog1 создается жесткая ссылка на файл user.txt.
В каталоге katalog2 создается ссылка на каталог /usr/bin.
Организует поиск файла, результат поиска помещает в файл file_find.
Перемещает user.txt в katalog3.
Б) Создайте в домашнем каталоге командный файл delcreatе,
который удаляет все файлы и каталоги, созданные файлом
creatе.
ГЛАВА 10. ОБЗОР ОПЕРАЦИОННЫХ СИСТЕМ СЕМЕЙСТВА WINDOWS
Под общим названием MS Windows скрывается несколько семейств операционных систем, разработанных фирмой Microsoft,
отличающихся архитектурой и предоставляемыми возможностями.
132
Фрагмент учебника «Операционные системы, сети и интернеттехнологии» С.А.Жданов, Н.Ю.Иванова, В.Г.Маняхина, С.Н.Мягков.
Можно выделить следующие семейства Windows:
Рис. 10.1. Семейства ОС Windows
Первые версии Windows, по сути, не были полноценными операционными системами, а являлись надстройками к MS DOS.
Напомним, что DOS – однозадачная операционная система с командным интерфейсом пользователя. Уже с 1984 года компания
Apple выпускала компьютеры Macintosh с операционной системой
Mac OS, поддерживающей более удобный графический интерфейс пользователя, и чтобы выровнять позиции компания Microsoft стала работать над усовершенствованием MS DOS при помощи запускаемой под DOS операционной оболочки Windows, которая должна была не только обеспечить пользователям графический интерфейс, но и превратить DOS в многозадачную ОС. Windows 1.0
(см. рис. 10.2) вышла в 1985 г., но не получила большой популярности. И только выпуск Windows 3.0 (см. рис. 10.3) в 1990 г.
позволил Microsoft конкурировать с Apple на рынке операционных систем с графическим интерфейсом для персональных компьютеров.
Но, так как Mac OS была разработана только для компьютеров
Macintosh, которые стоили дорого и получили распространение, в
основном, в США, а более растиражированными в мире были
133
Фрагмент учебника «Операционные системы, сети и интернеттехнологии» С.А.Жданов, Н.Ю.Иванова, В.Г.Маняхина, С.Н.Мягков.
компьютеры совместимые с IBM PC, то, естественно, большую часть мирового рынка завоевала MS Windows, ориентированная на эти компьютеры.
Рис.10.2. Windows 1.01 с запущенными приложениями
Рис.10.3. Windows 3.11 с запущенными приложениями
134
Фрагмент учебника «Операционные системы, сети и интернеттехнологии» С.А.Жданов, Н.Ю.Иванова, В.Г.Маняхина, С.Н.Мягков.
ОС Windows 95 (1995 г.), существенно отличалась от более ранних версий Windows, и являлась полноценной ОС. Фактически компания Microsoft выпустила новую операционную систему,
заменившую MS DOS. Развитием этой ветви операционных систем,
разработанных Microsoft, были ОС Windows 98 и Windows ME.
Главным недостатком этих систем был низкий уровень безопасности и отказоустойчивости, часто были случаи, когда «зависшее» приложение приводило к краху ОС.
Параллельно с разработкой первых версий Windows, компания
Microsoft совместно с IBM работала над созданием новой версии операционной системы OS/2, однако, выйдя из проекта, продолжила работу над этой операционной системой, которая была выпущена в свет под именем Windows NT 3.1 в 1993 г., то есть это первая полноценная ОС семейства Windows. Аббревиатура NT происходит от New Technology – новые технологии. Система предназначалась для серверов и корпоративных рабочих станций, была более надежна и безопасна, нежели другие версии Windows, однако была требовательна к ресурсам компьютера, именно поэтому для широкого использования система не подходила и многие пользователи прежде познакомились с Windows 95 и лишь спустя несколько лет, когда вышла Windows 2000, основанная на ядре NT,
смогли перейти на эту систему. Все последующие версии Windows – Windows XP, Windows Server 2003, Windows Vista, Windows Server
2008, Windows 7 и Windows 8 являются частью семейства операционных систем на ядре NT.
Также компанией Microsoft разрабатывались операционные системы для карманных компьютеров и смартфонов (семейство
Windows CE – Windows Mobille – Windows Phone) и системы реального времени для встраиваемых устройств (семейство Windows 135
Фрагмент учебника «Операционные системы, сети и интернеттехнологии» С.А.Жданов, Н.Ю.Иванова, В.Г.Маняхина, С.Н.Мягков.
Embedded), которые устанавливаются на банкоматы, игровые
автоматы, кассовые терминалы и т.д.
1.1.Архитектура ОС Windows, основанных на ядре NT
Несмотря на то, что от версии к версии операционные системы, основанные на ядре NT, претерпевали сильные изменения,
можно выделить в их архитектуре общие основы. Изначально
Windows NT разрабатывалась по принципам микроядерной ОС, то есть управляющие модули организованы с четким выделением центральной части (микроядра, работающего в привилегированном режиме) и взаимодействием этой части с остальными службами по принципу клиент-сервер. Однако размеры этого ядра слишком велики, что определяться как «микро» и кроме того все компоненты ядра работают в одном адресном пространстве и активно используют общие структуры данных, что свойственно операционным системам с монолитным ядром. Таким образом, в ОС семейства Windows NT сочетаются два подхода, поэтому многие специалисты считают, что эти ОС имеют гибридное ядро,
компоненты которого выполняются в привилегированном режиме.
Остальные модули ОС выполняются в режиме пользователя.
136
Фрагмент учебника «Операционные системы, сети и интернеттехнологии» С.А.Жданов, Н.Ю.Иванова, В.Г.Маняхина, С.Н.Мягков.
Рис. 10.4. Архитектура ОС семейства Windows NT.
Каждый компонент ядра отвечает за определенный набор задач.
Рассмотрим некоторые из них.
HAL (Hardware Abstract Level) – уровень аппаратных абстракций, который представляет собой программную прослойку между исполнительной системой Windows и аппаратной платформой, на которой работает ОС. HAL скрывает аппаратно-
зависимые детали, такие как интерфейсы ввода/вывода,
контроллеры прерываний и механизмы межпроцессорных связей.
Вместо того чтобы обращаться к аппаратуре непосредственно,
исполнительная система Windows вызывает функции HAL,
благодаря чему для ОС исчезают различия между платформами и архитектурами. Таким образом обеспечивается переносимость ОС
Windows на разные платформы с разными процессорами.
Менеджер (диспетчер) ввода-вывода полностью контролирует потоки обмена между системой и устройствами и отвечает за
137
Фрагмент учебника «Операционные системы, сети и интернеттехнологии» С.А.Жданов, Н.Ю.Иванова, В.Г.Маняхина, С.Н.Мягков.
драйверы устройств, сетевые драйверы, файловые системы,
управление кэш-памятью и др.
Менеджер процессов создает и завершает, приостанавливает и возобновляет процессы и потоки, а также хранит информацию о
них.
Менеджер объектов. Создает, удаляет и управляет объектами – абстрактными типами данных, используемых для представления ресурсов системы. Дело в том, что ядро любой системы семейства
Windows NT – объектно-ориентированное. Оно использует два набора объектов: объекты-диспетчеры и управляющие объекты.
Объекты-диспетчеры – объекты, управляющие диспетчеризацией и
синхронизацией (события, потоки, семафоры, таймеры).
Управляющие объекты – асинхронные вызовы процедур,
обработчики прерываний, объекты состояния электропитания,
объекты профилирования и др. |
|
|
Монитор |
безопасности. |
Объектно-ориентированная |
архитектура Windows обеспечивает использование единого механизма для контроля доступа во время выполнения и аудита всех объектов системы. Монитор безопасности устанавливает правила защиты на локальном компьютере, охраняет ресурсы операционной системы, выполняет защиту и регистрацию исполняемых объектов.
Каждый раз, когда процесс получает ссылку на объект, монитор безопасности проверяет маркер безопасности процесса и список управления доступом к объекту для отслеживания, имеет ли процесс необходимые права.
Менеджер виртуальной памяти. Каждый процесс, создаваемый менеджером процессов в ОС семейства Windows NT, получает виртуальное адресное пространство размером 4 Гбайта. Менеджер виртуальной памяти (VMM, Virtual Memory Manager) несет
138
Фрагмент учебника «Операционные системы, сети и интернеттехнологии» С.А.Жданов, Н.Ю.Иванова, В.Г.Маняхина, С.Н.Мягков.
ответственность за отображение этого виртуального адресного пространства на физическую память системы. Когда физической памяти становится недостаточно, менеджер виртуальной памяти перемещает наименее используемые страницы памяти на жесткий диск в файл Pagefile.sys.
Модуль графической подсистемы GDI (Graphics Device Interface) – это интерфейс графических устройств для представления графических объектов в Windows и передачи их на устройства вывода, такие как мониторы и принтеры. GDI отвечает за прорисовку линий и кривых, отображение шрифтов и обработку палитры (прорисовку окон, меню и т. п. выполняет пользовательской подсистемой, располагающейся в user32.dll и
основывающейся на GDI). Этот модуль расположен в ядре специально для того, чтобы существенно повысить производительность графических операций ввода-вывода.
Рассмотрим важные модули ОС Windows, которые выполняются в режиме пользователя (не привилегированном режиме).
Важным компонентом любой операционной системы является
API – интерфейс прикладного программирования (программный интерфейс) – интерфейс между программами и базовой частью ОС.
Все приложения работают с ОС через функции API. Каждое приложение Windows получает доступ к системе через API. Вызов
API это, фактически, запрос к ОС на выполнение некоторой задачи.
API позволяет ОС обрабатывать одновременно несколько запросов,
то есть является реентерабельным ресурсом (не изменяется использующими его процессами и в любой момент времени может обслуживать несколько процессов).
139
Фрагмент учебника «Операционные системы, сети и интернеттехнологии» С.А.Жданов, Н.Ю.Иванова, В.Г.Маняхина, С.Н.Мягков.
Изначально Windows NT разрабатывалась таким образом,
чтобы обеспечивалась совместимость с приложениями,
написанными для более ранних версий Windows, и даже для других систем (MS DOS, OS/2, Unix-подобных ОС). Именно поэтому в
Windows используются одновременно несколько API. В первых версиях Windows NT – Win16 (первая версия Windows API для 16-
разрядных версий Windows) Win32 (32-разрядный API для
Windows), а начиная с Windows 2000 в 64-ех разрядных версиях начал использоваться Win64 (64-разрядная версия Win32,
содержащая дополнительные функции для использования на 64-
разрядных компьютерах). Windows NT, поддерживала стандарты на вызовы Unix – POSIX (стандарт API для Unix-подобных систем) и
OS/2, т.е. позволяла запускать приложения, написанные для других ОС. Для этого в Windows было определено такое понятие, как
подсистема окружения (subsystem environment) – это часть поддержки среды операционной системы, предоставляемой пользователям и программистам. В Windows NT было реализовано три подсистемы окружения – Win32, POSIX, OS/2, в Windows 2000
две – Win32 и POSIX. Подсистемы окружения можно представить как несколько уровней API (API-серверов). Каждое приложение
(исполнимый файл) в зависимости от того, для какой системы создано, принадлежит только одной соответствующей подсистеме окружения и может вызывать только API, реализованные этой подсистемой. (см. рис. 10.5). Например, приложение OS/2 вызывает конкретную подсистему API OS/2, которая преобразует запросы приложения в форму понятную Windows. Следует отметить, что в современных версиях Windows не поддерживаются другие подсистемы окружения кроме Win32 и Win64.
140