2.Понятие файловой системы.

3. Управление установкой, исполнением и удалением приложений

4. Обеспечение взаимодействия с аппаратным обеспечением

5. Обслуживание компьютера

6. Прочие функции операционных систем

1.НАЗНАЧЕНИЕ И ОСНОВНЫЕ ФУНКЦИИ ОПЕРАЦИОННЫХ СИСТЕМ

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

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

Операционная система предназначена для управления выполнением пользовательских программ, планирования и управления вычислительными ресурсами ЭВМ.

Операционные системы для персональных компьютеров делятся на:

· одно- и многозадачные;

· одно- и многопользовательские;

· непереносимые и переносимые на другие типы компьютеров;

· несетевые и сетевые, обеспечивающие работу в локальной вычислительной сети ЭВМ.

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

· интерфейса между пользователем и программно-аппаратными средствами компьютера (интерфейс пользователя);

· интерфейса между программным и аппаратным обеспечением (аппаратно -программный интерфейс);

· интерфейса между разными видами программного обеспечения (программный интерфейс).

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

1.1.Обеспечение интерфейса пользователя

1.1.1.Режимы работы с компьютером

Все операционные системы способны обеспечивать как пакетный, так и диалоговый режим работы с пользователем.

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

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

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

1.1.2.Виды интерфейсов пользователя

По реализации интерфейса пользователя различают неграфические и графические операционные системы.

Неграфические операционные системы реализуют интерфейс командной строки.

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

Характер взаимодействия между активными и пассивными элементами управления выбирает сам пользователь.

1.2. Обеспечение автоматического запуска

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

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

2.ПОНЯТИЕ ФАЙЛОВОЙ СИСТЕМЫ.

2.1. Организация файловой системы

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

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

Наименьшей физической единицей хранения данных является сектор. Размер сектора равен 512 байт. Поскольку размер FAT-таблицы ограничен, то для дисков, размер которых превышает 32 Мбайт, обеспечить адресацию к каждому отдельному сектору не представляется возможным. В связи с этим группы секторов условно объединяются в кластеры. Кластер является наименьшей единицей адресации к данным. Размер кластера, в отличие от размера сектора, не фиксирован и зависит от емкости диска.

Операционные системы MS-DOS, OS/2, Windows 95 и Windows NT реализуют 16-разрядные поля в таблицах размещения файлов. Такая файловая система называется FAT 16. Она позволяет разместить в.FAT-таблицах не более 2 16 записей о местоположении единиц хранения данных и, соответственно, для дисков объемом от 1 до 2 Гбайт длина кластера составляет 32 Кбайт (64 сектора). Это не вполне рациональный расход рабочего пространства, поскольку любой файл (даже очень маленький) полностью оккупирует весь кластер, которому соответствует только одна адресная запись в таблице размещения файлов. Даже если файл достаточно велик и располагается в нескольких кластерах, все равно в его конце образуется некий остаток, нерационально расходующий целый кластер.

Для современных жестких дисков потери, связанные с неэффективностью файловой системы, весьма значительны и могут составлять от 25% до 40% полной емкости диска, в зависимости от среднего размера хранящихся файлов. С дисками же размером более 2 Гбайт файловая система FAT 16 вообще работать не может.

2.2. Обслуживание файловой структуры

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

§ создание файлов и присвоение им имен;

§ создание каталогов (папок) и присвоение им имен;

§ переименование файлов и каталогов (папок);

§ копирование и перемещение файлов между дисками компьютера и между каталогами (папками) одного диска;

§ удаление файлов и каталогов (папок);

§ навигация по файловой структуре с целью доступа к заданному файлу, каталогу (папке);

§ управление атрибутами файлов.

2.3. Создание и именование файлов

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

По способам именования файлов различают «короткое» и «длинное» имя. Согласно соглашению 8.3, принятому в MS-DOS, имя файла состоит из двух частей: собственно имени и расширения имени. На имя файла отводится 8 символов, а на его расширение - 3 символа. Имя от расширения отделяется точкой. Как имя, так и расширение могут включать только алфавитно-цифровые символы латинского алфавита.

Соглашение 8.3 не является стандартом, и потому в ряде случаев отклонения от правильной формы записи допускаются как операционной системой, так и ее приложениями(например, в большинстве случаев система «не возражает» против использования некоторых специальных символов, а некоторые версии MS-DOS даже допускают использование в именах файлов символов русского и других алфавитов). Сегодня имена файлов, записанные в соответствии с соглашением 8.3, считаются «короткими».

Основным недостатком «коротких» имен является их низкая содержательность. С появлением операционной системы Windows 95 было введено понятие «длинного» имени. Такое имя может содержать до 256 символов. «Длинное» имя может содержать любые символы, кроме девяти специальных: \ / : * ? " < > |.В имени разрешается использовать пробелы и несколько точек. Расширением имени считаются все символы, идущие после последней точки.

Наряду с «длинным» именем операционные системы Windows 95,98,2000 создают также и короткое имя файла - оно необходимо для возможности работы с данным файлом на рабочих местах с устаревшими операционными системами.

Использование «длинных» имен файлов в операционных системах Windows имеет ряд особенностей.

1. Если «длинное» имя файла включает пробелы, то в служебных операциях его надо заключать в кавычки. Рекомендуется не использовать пробелы, а заменять их символами подчеркивания.

2. В корневой папке диска нежелательно хранить файлы с длинными именами - в отличие от прочих папок в ней ограничено количество единиц хранения, причем, чем длиннее имена, тем меньше файлов можно разместить в корневой папке.

3. Кроме ограничения на длину имени файла (256 символов) существует гораздо более жесткое ограничение на длину полного имени файла (в него входит путь доступа к файлу, начиная от вершины иерархической структуры). Полное имя не может быть длиннее 260 символов.

4. Разрешается использовать символы любых алфавитов, в том числе и русского.

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

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

2.4. Создание каталогов (папок)

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

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

2.4.1.Особенности Windows

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

2.5.Копирование и перемещение файлов.

В неграфических операционных системах операции копирования и перемещения файлов выполняются вводом прямой команды в поле командной строки.

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

2.6.Навигация по файловой структуре

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

Как и операционные системы, файловые оболочки бывают неграфическими и графическими. Наиболее известная неграфическая файловая оболочка для MS-DOS -диспетчер файлов Norton Commander , а роль графической файловой оболочки для MS-DOS в свое время исполняли программы Windows 1.0 и Windows 2.0, которые постепенно развились до понятия операционной среды (в версиях Windows 3.x) и далее до самостоятельной операционной системы (Windows 95/98).

3. УПРАВЛЕНИЕ УСТАНОВКОЙ, ИСПОЛНЕНИЕМ И УДАЛЕНИЕМ ПРИЛОЖЕНИЙ

3.1.Понятие многозадачности

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

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

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

§ возможность одновременной или поочередной работы нескольких приложений;

§ возможность обмена данными между приложениями;

§ возможность совместного использования программных, аппаратных, сетевых и прочих ресурсов вычислительной системы несколькими приложениями.

3.2.Вопросы надежности

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

Так, например, наиболее универсальные операционные системы Windows 95,98,2000 могут испытывать общесистемные сбои из-за работы с приложениями, недостаточно четко соблюдающими спецификацию операционной системы. Операционные системы Windows NT , OS/2 и XP обладают повышенной устойчивостью и не выходят из строя при сбое приложений, но имеют меньшую универсальность, и, соответственно, парк доступных приложений для них ограничен.

Поэтому общепринятой является практика, когда программа разрабатывается и отлаживается в операционной системе Windows NT,XP, а ее окончательная сборка и компиляция выполняются в Windows 95/98, 2000.

3.3.Установка приложений

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

Устаревшие операционные системы (например, MS-DOS) не имеют средств для управления установкой приложений.

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

3.4.Удаление приложений

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

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

4. ОБЕСПЕЧЕНИЕ ВЗАИМОДЕЙСТВИЯ С АППАРАТНЫМ ОБЕСПЕЧЕНИЕМ

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

Гибкость аппаратных и программных конфигураций вычислительных систем поддерживается за счет того, что каждый разработчик оборудования прикладывает к нему специальные программные средства управления - драйверы. Драйверы имеют точки входа для взаимодействия с прикладными программами, а диспетчеризация обращений прикладных программ к драйверам устройств - это одна из функций операционной системы. Строго говоря, выпуская устройство, его разработчик прикладывает к нему несколько драйверов, предназначенных для основных операционных систем, как-то: Windows 95/98, Windows NT, MS-DOS и т. п.

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

В таких операционных системах, как Windows 95/98 и Windows NT, операционная система берет на себя все функции по установке драйверов устройств и передаче им управления от приложений. Во многих случаях операционная система даже не нуждается в драйверах, полученных от разработчика устройства, а использует драйверы из собственной базы данных.

Каждое подключенное устройство может использовать до трех аппаратных ресурсов устройств материнской платы: адресов внешних портов процессора, прерываний процессора и каналов прямого доступа к памяти. Если устройство подключается к материнской плате через шину PCI, то есть техническая возможность организовать между ним и материнской платой обратную связь. Это позволяет операционной системе анализировать требования устройств о выделении им ресурсов и гибко реагировать на них, исключая захват одних и тех же ресурсов разными устройствами. Такой принцип динамического распределения ресурсов операционной системой получил название plug-and-play, а устройства, удовлетворяющие этому принципу, называются самоустанавливающимися.

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

5. ОБСЛУЖИВАНИЕ КОМПЬЮТЕРА

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

5.1.Средства проверки дисков

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

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

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

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

5.2.Средства «сжатия» дисков

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

5.3.Средства управления виртуальной памятью

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

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

5.4.Средства кэширования дисков

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

5.5.Средства резервного копирования данных

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

©2015-2019 сайт
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-02

Аннотация: Функции операционной системы. Структура операционной системы. Классификация операционных систем. Требования к операционным системам.

Операционная система (operating system ) – комплекс программ, предоставляющий пользователю удобную среду для работы с компьютерным оборудованием.

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

Для более полного понимания роли операционной системы рассмотрим составные компоненты любой вычислительной системы (рис.1.1).


Рис. 1.1.

Все компоненты можно разделить на два больших класса – программы или программное обеспечение ( ПО , software ) и оборудование или аппаратное обеспечение ( hardware ). Программное обеспечение делится на прикладное, инструментальное и системное. Рассмотрим кратко каждый вид ПО .

Цель создания вычислительной системы – решение задач пользователя. Для решения определенного круга задач создается прикладная программа ( приложение , application ). Примерами прикладных программ являются текстовые редакторы и процессоры (Блокнот, Microsoft Word ), графические редакторы ( Paint , Microsoft Visio), электронные таблицы (Microsoft Excel ), системы управления базами данных (Microsoft Access, Microsoft SQL Server ), браузеры ( Internet Explorer) и т. п. Все множество прикладных программ называется прикладным программным обеспечением ( application software ).

Создается программное обеспечение при помощи разнообразных средств программирования (среды разработки, компиляторы, отладчики и т. д.), совокупность которых называется инструментальным программным обеспечением. Представителем инструментального ПО является среда разработки Microsoft Visual Studio .

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

Взаимодействие всех программ с операционной системой осуществляется при помощи системных вызовов ( system calls) – запросов программ на выполнение операционной системой необходимых действий. Набор системных вызовов образует API – Application Programming Interface ( интерфейс прикладного программирования).

Функции операционной системы

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

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

Структура операционной системы

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

Современные процессоры имеют минимум два режима работы – привилегированный (supervisor mode) и пользовательский (user mode).

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

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

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

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

Термин "ядро" также используется в разных смыслах. Например, в Windows термин "ядро" (NTOS kernel) обозначает совокупность двух компонентов – исполнительной системы (executive layer) и собственно ядра (kernel layer) .

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

Ядра, которые занимают промежуточные положение между монолитными и микроядрами, называют гибридными (hybrid kernel).

Примеры различных типов ядер:

  • монолитное ядро – MS-DOS, Linux, FreeBSD;
  • микроядро – Mach, Symbian, MINIX 3;
  • гибридное ядро – NetWare, BeOS, Syllable.

Обсуждение того, к какому типу относится ядро Windows NT, приведено в [ ; ]. В говорится о том, что Windows NT имеет монолитное ядро, однако, поскольку в Windows NT имеется несколько ключевых компонентов, работающих в пользовательском режиме (например, подсистемы окружения и системные процессы – см. Лекцию 4 "Архитектура Windows"), то относить Windows NT к истинно монолитным ядрам нельзя, скорее к гибридным.

Кроме ядра в привилегированном режиме (в большинстве операционных систем) работают драйверы (driver) – программные модули, управляющие устройствами.

В состав операционной системы также входят:

  • системные библиотеки (system DLL – Dynamic Link Library, динамически подключаемая библиотека), преобразующие системные вызовы приложений в системные вызовы ядра;
  • пользовательские оболочки (shell), предоставляющие пользователю интерфейс – удобный способ работы с операционной системой.

Пользовательские оболочки реализуют один из двух основных видов пользовательского интерфейса:

  • текстовый интерфейс (Text User Interface, TUI), другие названия – консольный интерфейс (Console User Interface, CUI), интерфейс командной строки (Command Line Interface, CLI);
  • графический интерфейс (Graphic User Interface, GUI).

Пример реализации текстового интерфейса в Windows – интерпретатор командной строки cmd.exe; пример графического интерфейса – Проводник Windows (explorer.exe).

Классификация операционных систем

Классификацию операционных систем можно осуществлять несколькими способами.

  1. По способу организации вычислений:
    • системы пакетной обработки (batch processing operating systems) – целью является выполнение максимального количества вычислительных задач за единицу времени; при этом из нескольких задач формируется пакет, который обрабатывается системой;
    • системы разделения времени (time-sharing operating systems) – целью является возможность одновременного использования одного компьютера несколькими пользователями; реализуется посредством поочередного предоставления каждому пользователю интервала процессорного времени;
    • системы реального времени (real-time operating systems) – целью является выполнение каждой задачи за строго определённый для данной задачи интервал времени.
  2. По типу ядра:
    • системы с монолитным ядром (monolithic operating systems);
    • системы с микроядром (microkernel operating systems);
    • системы с гибридным ядром (hybrid operating systems).
  3. По количеству одновременно решаемых задач:
    • однозадачные (single-tasking operating systems);
    • многозадачные (multitasking operating systems).
  4. По количеству одновременно работающих пользователей:
    • однопользовательские (single-user operating systems);
    • многопользовательские (multi-user operating systems).
  5. По количеству поддерживаемых процессоров:
    • однопроцессорные (uniprocessor operating systems);
    • многопроцессорные (multiprocessor operating systems).
  6. По поддержке сети:
    • локальные (local operating systems) – автономные системы, не предназначенные для работы в компьютерной сети;
    • сетевые (network operating systems) – системы, имеющие компоненты, позволяющие работать с компьютерными сетями.
  7. По роли в сетевом взаимодействии:
    • серверные (server operating systems) – операционные системы, предоставляющие доступ к ресурсам сети и управляющие сетевой инфраструктурой;
    • клиентские (client operating systems) – операционные системы, которые могут получать доступ к ресурсам сети.
  8. По типу лицензии:
    • открытые (open-source operating systems) – операционные системы с открытым исходным кодом, доступным для изучения и изменения;
    • проприетарные (proprietary operating systems) – операционные системы, которые имеют конкретного правообладателя; обычно поставляются с закрытым исходным кодом.
  9. По области применения:
    • операционные системы мэйнфреймов – больших компьютеров (mainframe operating systems);
    • операционные системы серверов (server operating systems);
    • операционные системы персональных компьютеров (personal computer operating systems);
    • операционные системы мобильных устройств (mobile operating systems);
    • встроенные операционные системы (embedded operating systems);
    • операционные системы маршрутизаторов (router operating systems).

Требования к операционным системам

Основное требование, предъявляемое к современным операционным системам – выполнение функций, перечисленных выше в параграфе "Функции операционных систем". Кроме этого очевидного требования существуют другие, часто не менее важные :

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

Резюме

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

В следующей лекции будет представлен обзор операционных систем Microsoft Windows.

Контрольные вопросы

  1. Дайте определение понятию "операционная система".
  2. Назовите примеры прикладного, инструментального и системного программного обеспечения.
  3. Дайте определение понятий "системный вызов", "API", "драйвер", "ядро".
  4. Какие виды ядер вы знаете? К каким видам относятся ядра известных вам операционных систем?
  5. Чем ядро отличается от операционной системы?
  6. Приведите несколько способов классификации операционных систем.
  7. Назовите требования к современным операционным системам и объясните, что они означают.

Операционная система компьютера

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

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

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

Современные операционные системы обеспечивают:

¨ установку операционной системы на компьютере;

¨ включение и исключение функциональных компонент в составе ОС;

¨ настройку параметров операционной системы;

¨ загрузку операционной системы при включении компьютера;

¨ тестирование устройств компьютера и функциональных подсистем ОС и исправление возможных нарушений;

¨ автоматическое определение текущей конфигурации устройств компьютера (Plug And Play);

¨ управление памятью;

¨ управление выполнением программ;

¨ управление вводом-выводом;

¨ управление файловой системой;

¨ обработку прерываний;

¨ управление работой аппаратных устройств компьютера;

¨ взаимодействие с ОС пользователей и программ (пользовательский интерфейс ОС);

¨ многозадачный режим;



¨ многопользовательский режим;

¨ разделение между программами ресурсов компьютера (оперативной памяти, времени процессора, внешней памяти, периферийных устройств и др.);

¨ корректность совместного владения данными несколькими программами или пользователями;

¨ безопасность функционирования компьютера: защита памяти, используемой одной программой или пользователем, от использования другой программой или пользователем.

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

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

¨ определить номер порта ввода-вывода, соответствующего устройству;

¨ проверить физическое наличие устройства;

¨ установить, включено или выключено требуемое устройство;

¨ проверить, установлен ли на этом устройстве носитель информации (например, магнитный диск);

¨ сверить код носителя информации;

¨ найти место требуемой информации на носителе;

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

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

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

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

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

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

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

Еще одной типовой функцией при работе на компьютере служит управление различными внешними устройствами (винчестерами, гибкими дисками, мониторами, клавиатурой и т.д.). Эти устройства выпускаются самыми различными фирмами. Одинаковые по назначению устройства могут иметь различные характеристики и управляться совершенно разным способом. Для управления внешним устройством марки определенной фирмы требуется своя специальная программа, которая называется драйвером устройства. Существуют драйверы принтеров, драйверы дисководов, драйверы мыши и т.д. Если компьютер комплектуется определенным набором внешних устройств каких-то марок, то одновременно его программное обеспечение должно включать соответствующие драйверы. Современные операционные системы включают большой набор разнообразных типовых драйверов. Более того, они умеют при включении компьютера автоматически определять тип используемого устройства и подключать к работе соответствующий драйвер (эта услуга называется Plug and Play). Естественно, это возможно только в случае, если устройство «умеет» отвечать на вопрос о своей марке (основные производители компьютерной техники эту услугу предусматривают).

Все современные операционные системы (например, UNIX или Windows NT) обеспечивают многозадачный (одновременное выполнение нескольких программ) и многопользовательский (одновременная работа нескольких пользователей) режимы работы компьютера. Многозадачный режим означает одновременную работу на компьютере нескольких программ. Конечно, если компьютер содержит один центральный процессор, он может выполнять только одну программу. Однако операционная система так организует работу компьютера, что создается иллюзия одновременной работы нескольких программ.

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

¨ параллельного (псевдопараллельного) выполнения нескольких программ;

¨ постановки заданий (то есть программ) в очередь на выполнение;

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

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

¨ разделение ресурсов процессора, памяти и доступа к внешним устройствам в соответствии с запросами и приоритетами пользователей;

¨ защиту данных одного пользователя от доступа со стороны других пользователей.

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

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

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

Операционные системы очень сильно эволюционировали с момента своего возникновения. Вначале эксплуатировались несколько вариантов операционной системы на вычислительных машинах различных фирм. В силу ряда причин к середине 70-х годов в большинстве компьютеров использовалась система машинных команд и операционная система компании IBM, названная дисковой операционной системой (DOS). Эта же фирма была одним из пионеров в разработке персональных компьютеров. Те модели персональных компьютеров, которые позаимствовали архитектуру и систему команд фирмы IBM, стали называться IBM PC-совместимыми компьютерами. На основе операционной системы DOS для таких компьютеров были разработаны несколько операционных систем. В дальнейшем практически все PC-совместимые персональные компьютеры стали обслуживаться операционной системой компании MicroSoft, называемой MS DOS. С течением времени появлялись новые версии MS DOS, включающие все новые и новые услуги, однако в целом концепция операционной системы этой фирмы осталась неизменной.

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

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

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

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

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

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

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

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

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

Часть самых существенных функций операционной системы более подробно будет рассмотрена в следующих параграфах.

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

  1. Разработка программ : ОС представляет программисту разнообразные инструменты разработки приложений: редакторы, отладчики и т.п. Ему не обязательно знать, как функционируют различные электронные и электромеханические узлы и устройства компьютера. Часто пользователь не знает даже системы команд процессора, поскольку он может обойтись мощными высокоуровневыми функциями, которые представляет ОС.
  2. Исполнение программ . Для запуска программы нужно выполнить ряд действий: загрузить в основную память программу и данные, инициализировать устройства ввода-вывода и файлы, подготовить другие ресурсы. ОС выполняет всю эту рутинную работу вместо пользователя.
  3. Доступ к устройствам ввода-вывода . Для управления каждым устройством используется свой набор команд. ОС предоставляет пользователю единообразный интерфейс, который скрывает все эти детали и обеспечивает программисту доступ к устройствам ввода-вывода с помощью простых команд чтения и записи. Если бы программист работал непосредственно с аппаратурой компьютера, то для организации, например, чтения блока данных с диска ему пришлось бы использовать более десятка команд с указанием множества параметров. После завершения обмена программист должен был бы предусмотреть еще более сложный анализ результата выполненной операции.
  4. Контролируемый доступ к файлам . При работе с файлами управление со стороны ОС предполагает не только глубокий учет природы устройства ввода-вывода, но и знание структур данных, записанных в файлах. Многопользовательские ОС, кроме того, обеспечивают механизм защиты при обращении к файлам.
  5. Системный доступ . ОС управляет доступом к совместно используемой или общедоступной вычислительной системе в целом, а также к отдельным системным ресурсам. Она обеспечивает защиту ресурсов и данных от несанкционированного использования и разрешает конфликтные ситуации.
  6. Обнаружение ошибок и их обработка . При работе компьютерной системы могут происходить разнообразные сбои за счет внутренних и внешних ошибок в аппаратном обеспечении, различного рода программных ошибок (переполнение, попытка обращения к ячейке памяти, доступ к которой запрещен и др.). В каждом случае ОС выполняет действия, минимизирующие влияние ошибки на работу приложения (от простого сообщения об ошибке до аварийной остановки программы).
  7. Учет использования ресурсов . Хорошая ОС имеет средства учета использования различных ресурсов и отображения параметров производительности вычислительной системы. Эта информация важна для настройки (оптимизации) вычислительной системы с целью повышения ее производительности.

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

2. Организация эффективного использования ресурсов компьютера. ОС не только представляет пользователям и программистам удобный интерфейс к аппаратным средствам компьютера, но и является своеобразным диспетчером ресурсов компьютера. К числу основных ресурсов современных вычислительных систем относятся процессоры, основная память , таймеры, наборы данных, диски, накопители на магнитных лентах (МЛ), внешние накопители памяти(CD/DVD/Blu-Ray/ USB ), принтеры, сетевые устройства и др. Эти ресурсы распределяются операционной системой между выполняемыми программами. В отличие от программы, которая является статическим объектом , выполняемая программа – это динамический объект , он называется процессом и является базовым понятием современных ОС.

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

Управление ресурсами включает решение ряда общих, не зависящих от типа ресурса задач:

  1. планирование ресурса – определение, какому процессу, когда и в каком качестве (если ресурс может выделяться частями) следует выделить данный ресурс;
  2. удовлетворение запросов на ресурсы – выделение ресурса процессам;
  3. отслеживание состояния и учет использования ресурса – поддержание оперативной информации о занятости ресурса и распределенной его доли;
  4. разрешение конфликтов между процессами , претендующими на один и тот же ресурс.

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

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

Кроме того, современные ОС имеют достаточно большой набор средств и способов диагностики и восстановления работоспособности системы. Сюда относятся:

  • диагностические программы для выявления ошибок в конфигурации ОС;
  • средства восстановления последней работоспособной конфигурации;
  • средства восстановления поврежденных и пропавших системных файлов и др.

Следует отметить еще одно назначение ОС.

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

  1. Обновление и возникновение новых видов аппаратного обеспечения . Например, ранние версии ОС UNIX и OS/2 не использовали механизмы страничной организации памяти (что это такое, мы рассмотрим позже), потому, что они работали на машинах, не обеспеченных соответствующими аппаратными средствами.
  2. Новые сервисы . Для удовлетворения пользователей или нужд системных администраторов ОС должны постоянно предоставлять новые возможности. Например, может потребоваться добавить новые инструменты для контроля или оценки производительности, новые средства ввода-вывода данных (речевой ввод). Другой пример – поддержка новых приложений, использующих окна на экране дисплея.
  3. Исправления . В каждой ОС есть ошибки. Время от времени они обнаруживаются и исправляются. Отсюда постоянные появления новых версий и редакций ОС. Необходимость регулярных изменений накладывает определенные требования на организацию операционных систем. Очевидно, что эти системы (как, впрочем, и другие сложные программы системы) должны иметь модульную структуру с четко определенными межмодульными связями (интерфейсами). Важную роль играет хорошая и полная документированность системы.

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

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

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

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

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

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

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

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

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

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

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

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

Операционные системы: назначение и основные функции

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

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

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

Состав ОС

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

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

т .е. переводит команды с языка программ на язык «машинных кодов», понятый компьютеру

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

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

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

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

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

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

Назначение Операционной системы

ОС предназначена для решения следующих задач:

    обслуживания аппаратуры компьютера;

    создания рабочей среды и интерфейса пользователя;

    выполнения команд пользователя и программных инструкций;

    организации ввода/вывода, хранения информации и

    управления файлами и данными.

Согласно определению, все задачи, решаемые ОС, можно разбить на две группы:

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

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

Функции Операционной системы

Основные функции:

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

    Стандартизованный доступ к периферийным устройствам (устройства ввода-вывода).

    Управление оперативной памятью (распределение между процессами, организация виртуальной памяти).

    Управление доступом к данным на энергонезависимых носителях (таких как жёсткий диск, оптические диски и др.), организованным в той или иной файловой системе.

    Обеспечение пользовательского интерфейса.

    Сетевые операции, поддержка стека сетевых протоколов.

Дополнительные функции:

    Параллельное или псевдопараллельное выполнение задач (многозадачность).

    Эффективное распределение ресурсов вычислительной системы между процессами.

    Разграничение доступа различных процессов к ресурсам.

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

    Взаимодействие между процессами: обмен данными, взаимная синхронизация.

    Защита самой системы, а также пользовательских данных и программ от действий пользователей (злонамеренных или по незнанию) или приложений.

    Многопользовательский режим работы и разграничение прав доступа.

Эволюция операционных систем и основные идеи

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

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

Операционная система DOS

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

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

Оболочка – это программа, которая запускается под управлением ОС и помогает пользователю работать с ОС. Программа-оболочка наглядно показывает всю файловую структуру компьютера: диски, каталоги, файлы. Файлы можно искать, копировать, перемещать, удалять сортировать, изменять и запускать всего несколькими клавишами. Одна из самых распространенных – Norton Commander(NC). В графических оболочках Windows 3.1 и Windows 3.11 применяется концепция так называемых «окон», которые можно открывать, перемещать по экрану, закрывать. Эти окна «принадлежат» различным программам и отражают их работу.

В DOS используется файловая система FAT. Одним из ее недостатков являются ограничения на имена файлов и каталогов. Имя может содержать не более 8 символов. Кроме того DOS не делает различий между одноименными строчными и прописными буквами.

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

Операционная система MICROSOFT WINDOWS

Графические оболочки Widows 1.0, Widows 2.0, Widows 3.0, Widows 3.1 и Widows 3.11 запускались под управлением MS DOS, то есть не были самостоятельными операционными системами. Но поскольку с появлением Windows открылись новые возможности, Windows называют не оболочкой, а средой.

Среда Windows характеризуется следующими особенностями, отличающими ее от других программ-оболочек:

    Многозадачность;

    Единый программный интерфейс;

    Единый интерфейс пользователя;

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

    Единый аппаратно-программный интерфейс.

На смену операционной системе DOS с ее графическими оболочками Windows 3.1 и Windows 3.11 пришли полноценные операционные системы семейства MS Windows (сначала Windows 95, затем Windows 98, Windows 2000, Windows XP). В отличие от Windows 3.1 и Windows 3.11, они запускаются автоматически после включения компьютера.

В MS Windows для хранения файлов используется файловая модификация FAT–VFAT. В ней длина имен файлов и каталогов может достигать 256 символов.

В ОС Windows при работе с окнами и приложениями широко применяется манипулятор «мышь», в MS DOS используется только клавиатура.

Также в MSWindowsприсутствует панель задач (Taskbar). Она делает нагляднвм механизм многозадачности и намного ускоряет процесс переключения между приложениями.

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

Операционная система LINUX

Linux – это операционная система для IBM-совместимых персональных компьютеров и рабочих станций. Это многопользовательская операционная система с сетевой оконной графической системой X Window System. Операционная система Linux поддерживает стандарты открытых систем и протоколы сети Интернет и совместима с системами Unix, DOS, MS Windows.

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

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

Операционные системы UNI X

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

Первая система UNIX была разработана в 1969 г. в подразделении Bell Labs компании AT&T. С тех пор было создано большое количество различных UNIX-систем.

Некоторые отличительные признаки UNIX-систем включают в себя:

    использование простых текстовых файлов для настройки и управления системой;

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

    взаимодействие с пользователем посредством виртуального устройства - терминала;

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

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

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

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

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

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



Эта статья также доступна на следующих языках: Тайский

  • Next

    Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

    • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

      • Next

        В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

  • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
    https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png