Функции оперативной системы компьютера. Назначение операционной системы

Операционная система и их виды. Общая характеристика и приемы работы в среде ОС

Операционная система (ОС) - это неотъемлемая часть ПО, управляющая техническими средствами компьютера (hardware). ОС - это программа, координирующая действия вычислительной машины; под ее управлением осуществляется выполнение программ.

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

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

2. Обеспечение системы организации и хранения файлов.

4. Организация диалога с пользователем.

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

Состав операционной системы.

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

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

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

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

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

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



Первый этап загрузки ОС. В системном блоке компьютера находится постоянное запоминающее устройство (ПЗУ, постоянная память, ROM-Read Only Memory - память с доступом только для чтения), в котором содержатся программы тестирования блоков компьютера и первого этапа загрузки ОС. Они начинают выполняться с первым импульсом тока при включении компьютера. На этом этапе процессор обращаются к диску и проверяет наличие на определенном месте (в начале диска) очень небольшой программы - загрузчика. Если эта программа обнаружена, то она считывается в ОЗУ и ей передается управление.

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

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

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

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

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

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

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

ОС обычно хранится во внешней памяти компьютера – на диске. При включении компьютера она считывается с дисковой памяти и размещается в ОЗУ.

Этот процесс называют загрузкой ОС.

В функции ОС входит:

Осуществление диалога с пользователем;

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

Планирование и организация процесса обработки программ;

Распределение ресурсов (оперативной памяти, процессора, внешних устройств);

Запуск программ на выполнение;

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

Передача информации между различными внутренними устройствами;

Программная поддержка работы периферийных устройств (дисплея, клавиатуры, принтера и др.).

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

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

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

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

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

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

ОС для персонального компьютера, ориентированного на профессиональное применение, должна содержать следующие основные компоненты:

Программы управления вводом/выводом;

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

Процессор командного языка, который принимает, анализирует и выполняет команды, адресованные ОС.

В каждой ОС имеется свой командный язык, который позволяет пользователю выполнять те или иные действия:

Обращаться к каталогу;

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

Запускать программы;

И другие действия.

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

Важным классом системных программ являются драйверы устройств.

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

Нередко к системным программам относят антивирусные средства, программы архивирования файлов и т.п.

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

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

В настоящий момент около 90% компьютеров используют ОС Windows. Более широкий класс ОС ориентирован для использования на серверах. К этому классу ОС относятся семейство UNIX, разработки фирмы Microsoft (MS DOS и Windows), сетевые продукты Novell и корпорации IBM.

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

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

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

В целом ОС семейства UNIX ориентированы, прежде всего, на большие локальные (корпоративные) и глобальные сети, объединяющие работу тысяч пользователей. Большое распространение UNIX и ее версия LINUX получили в сети Интернет, где важнейшее значение имеет машинонезависимость ОС.

ОС MS DOS широко использовалась для персональных компьютеров, построенных на базе процессоров Intel 8088-80486.

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

Операционная система OS/2 (Operating system/2) является однопользовательской многозадачной ОС, односторонне (MS DOS → OS/2) программно совместимой с MS DOS и предназначенной для работы с МП 80386 и выше (ПК IBM PC и PS/2). OS/2 может одновременно выполнять до 16 программ (каждая из них в своем сегменте памяти), но среди них только одну, подготовленную для MS DOS.

Важными особенностями OS/2 является наличие многооконного интерфейса пользователя; программных интерфейсов для работы с системой баз данных; эффективных программных интерфейсов для работы в локальных вычислительных сетях. К недостаткам OS/2 относится в первую очередь сравнительно небольшой объем программных приложений, наработанных к настоящему времени.

Понятие операционной системы(ОС). Назначение, основные функции и разновидности ОС

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

Назначение ОС

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Разновидности операционных систем

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

Существует несколько видов операционных систем: DOS, Windows, UNIXразных версий и др. Наиболее распространенной является операционная системаWindows. Существует несколько версий Windows: Windows-3.1, Windows-95,Windows-98, Windows-2000, Windows NT. Все они близки между собой посодержанию, поэтому в дальнейшем рассмотрим операционные системы DOS иWindows-9х

Операционная система DOS состоит из следующих частей:

Базовая система ввода-вывода (ВIOS), находящаяся в постоянной памяти (постоянном запоминающем устройстве, ПЗУ) компьютера. Эта часть операционной системы является «встроенной» в компьютер. Ее назначение состоит в выполнении наиболее простых и универсальных услуг операционнойсистемы, связанных с осуществлением ввода-вывода. Базовая система ввода-вывода содержит также тест функционирования компьютера, проверяющий работу памяти и устройств компьютера при включении его электропитания. Кроме того, базовая система ввода-вывода содержит программу вызова загрузчика операционной системы.

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

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

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

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

Windows 3.1 может работать в одном из трех режимов: Real (реальном), Standart (стандартном), 386 Enhanced (расширенном). В процессе установки Windows анализирует имеющиеся аппаратные ресурсы и автоматически устанавливает режим, наиболее полно использующий возможности имеющейся аппаратуры.

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

Windows 95 представляет собой продукт эволюционного развития системы Windows 3.1x и не означает полного разрыва с прошлым. Хотя она несет в себе много важных изменений по сравнению с 16-разрядной архитектурой Windows, в ней сохранены некоторые важнейшие свойства ее предшественницы. Результатом стало появление гибридной ОС, способной работать с 16-разрядными прикладными программами Windows, программами, унаследованными от DOS, и старыми драйверами устройств реального режима и в то же время совместимой с истинными 32-разрядными прикладными программами и 32-разрядными драйверами виртуальных устройств.

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

Windows NT по существу представляет собой операционную систему сервера, приспособленную для использования на рабочей станции. Этим обусловлена архитектура, в которой абсолютная защита прикладных программ и данных берет верх над соображениями скорости и совместимости. Чрезвычайная надежность Windows NT обеспечивается ценой высоких системных затрат, поэтому для получения приемлемой производительности необходимы быстродействующий процессор и по меньшей мере 16 Mb ОЗУ. Как и в OS/2 Warp, в системе Windows NT безопасность нижней памяти достигается за счет отказа от совместимости с драйверами устройств реального режима. В среде Windows NT работают собственные 32-разрядные NT-прикладные программы, а также большинство прикладных программ Windows 95. Так же, как OS/2 Warp и Windows 95, система Windows NT позволяет выполнять в своей среде 16-разрядные Windows- и DOS-программы.

В апреле 1987 г. компании IBM и Microsoft объявили о совместных планах по созданию новой операционной системы: OS/2. Прошло несколько лет, и мир стал свидетелем "бракоразводного процесса", в результате чего у OS/2 остался один родитель - компания IBM, а фирма Microsoft отдала все симпатии любимому детищу, имя которому Windows. Важно помнить, что OS/2 - это новая операционная система с графическим интерфейсам пользователя (ГИП), в то время как Windows представляет собой ГИП, работающий "поверх" DOS.

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

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

программа интерфейс операционный вычислительный

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

Большинство ОС состоит из следующих основных модулей: базовая система ввода-вывода (BIOS – Basic Input Output System); загрузчик операционной системы (Boot Record); ядро ОС; драйверы устройств; командный процессор; внешние команды (файлы).

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

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

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

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

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

Ядро ОС реализует основные высокоуровневые услуги, загружается в ОЗУ и остается в ней постоянно. В ядре ОС выделяют несколько подсистем, каждая из которых отвечает за выполнение той или иной задачи:

— файловая система (отвечает за размещение информации на устройствах хранения);

— система управления памятью (размещает программы в памяти);

— система управления программами (осуществляет запуск и выполнение программ);

— система связи с драйверами устройств (отвечает за взаимодействие с внешними устройствами);

— система обработки ошибок;

— служба времени (предоставляет всем программам информацию о системном времени).

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

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

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

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

Доброго времени суток уважаемый пользователь. На этой страничке мы поговорим на такие темы, как: Назначение и основные функции операционных систем. Состав операционной системы.

Операционная система (ОС) – это комплекс взаимосвязанных системных программ для организации взаимодействия пользователя с компьютером и выполнения всех других программ. ОС относятся к составу системного программного обеспечения и являются основной его частью. Операционные системы: MS DOS 7.0, Windows Vista Business, Windows 2008 Server, OS/2, UNIX, Linux.

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

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

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

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

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

В общем случае в состав ОС входят следующие модули:

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

Драйвер устройства (device driver) – специальная программа, обеспечивающая управление работой устройств и согласование информационного обмена с другими устройствами.

Командный процессор (command processor) – специальная программа, которая запрашивает у пользователя команды и выполняет их (интерпретатор программ).

Интерпретатор команд отвечает за загрузку приложений и управление информационным потоком между приложениями.

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

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

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

Примечание

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

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

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

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

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

Пример.
Базовый код API Win32 содержится в трех библиотеках динамической загрузки (Dynamic Link Library, DLL): USER32, GDI32 и KERNEL32.

Kernel — модуль Windows, который поддерживает низкоуровневые функции по работе с файлами и управлению памятью и процессами. Этот модуль обеспечивает сервис для 16- и 32-разрядных приложений.
GDI (Graphics Device Interface) — модуль Windows, обеспечивающий реализацию графических функций по работе с цветом, шрифтами и графическими примитивами для дисплея и принтеров.
User — модуль Windows, который является диспетчером окон и занимается созданием и управлением отображаемыми на экране окнами, диалоговыми окнами, кнопками и другими элементами пользовательского интерфейса.
Ядро является движущей силой всех вычислительных процессов в компьютерной системе, и крах ядра равносилен краху всей системы, без него ОС является полностью неработоспособной и не сможет выполнить ни одну из своих функций. Поэтому разработчики операционной системы уделяют особое внимание надежности кодов ядра, в результате процесс их отладки может растягиваться на многие месяцы.

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

Примеры вспомогательных модулей:

  • Программа архивирования данных.
  • Программа дефрагментации диска.
  • Текстовый редактор.

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

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

системные обрабатывающие программы – текстовые или графические редакторы, компиляторы, компоновщики, отладчики.

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

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

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

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

Примечание

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

Объектами ядра ОС являются:

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

Функции

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

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

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

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

Компоненты операционной системы:

  • Командный процессор (интерпретатор)
  • Драйверы устройств
  • Интерфейс

Понятие

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

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

Операционные системы нужны, если:

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

Таким образом, современные универсальные операционные системы можно охарактеризовать, прежде всего, как:

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

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

  • ядро , содержащее планировщик; драйверы устройств, непосредственно управляющие оборудованием; сетевая подсистема, файловая система;

Большинство программ, как системных (входящих в операционную систему), так и прикладных, исполняются в непривилегированном («пользовательском») режиме работы процессора и получают доступ к оборудованию (и, при необходимости, к другим ресурсам ядра, а также ресурсам иных программ) только посредством системных вызовов . Ядро исполняется в привилегированном режиме: именно в этом смысле говорят, что система (точнее, её ядро) управляет оборудованием.

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

Ядро

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

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

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

Пакетный режим

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

Разделение времени и многозадачность

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

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

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

Разделение полномочий

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

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

Реальный масштаб времени

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

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

Файловые системы и структуры

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

Файловая система - способ хранения данных на внешних запоминающих устройствах.

Существующие операционные системы

UNIX, стандартизация операционных систем и POSIX

Благодаря конкурентности реализаций архитектура UNIX стала вначале фактическим отраслевым стандартом, а затем обрела статус и стандарта юридического - ISO/IEC 9945 (POSIX).

Только системы, отвечающие спецификации Single UNIX Specification , имеют право носить имя UNIX. К таким системам относятся AIX , HP-UX , IRIX , Mac OS X , SCO OpenServer , Solaris , Tru64 и z/OS .

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

К UNIX-подобным относятся операционные системы, основанные на последней версии UNIX, выпущенной Bell Labs (System V), на разработках университета Беркли (FreeBSD , OpenBSD , NetBSD), на основе Solaris (OpenSolaris , BeleniX , Nexenta), а также Linux , разработанная в части утилит и библиотек проектом GNU и в части ядра - сообществом, возглавляемым Линусом Торвальдсом .

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

Самым заметным эффектом существования этого стандарта стало эффективное разворачивание Интернета в 1990-х годах .

Пост-UNIX-архитектуры

Коллектив, создавший UNIX, развил концепцию унификации объектов операционной системы, включив в исходную концепцию UNIX «устройство - это тоже файл» также и процессы, и любые другие системные, сетевые и прикладные сервисы, создав новую концепцию: «что угодно - это файл». Эта концепция стала одним из основных принципов системы Plan 9 (название было позаимствовано из фантастического триллера «План 9 из открытого космоса » Эдварда Вуда-младшего), призванной преодолеть принципиальные недостатки дизайна UNIX и сменившей «рабочую лошадку» UNIX System V на компьютерах сети Bell Labs в 1992 году .

Кроме реализации всех объектов системы в виде файлов и размещения их на едином и персональном для каждого терминала вычислительной сети пространстве (namespace), были пересмотрены другие архитектурные решения UNIX. Например, в Plan 9 отсутствует понятие «суперпользователь», и, соответственно, исключаются любые нарушения режима безопасности, связанные с нелегальным получением прав суперпользователя в системе. Для представления (хранения, обмена) информации Роб Пайк и Кен Томпсон разработали универсальную кодировку UTF-8 , на сегодняшний день ставшую стандартом де-факто. Для доступа к файлам используется единый универсальный протокол 9P, по сети работающий поверх сетевого протокола (TCP или UDP). Таким образом, для прикладного ПО сети не существует - доступ к локальным и к удалённым файлам единообразен. 9P - байт-ориентированный протокол, в отличие от других подобных протоколов, являющихся блок-ориентированными. Это также результат работы концепции: доступ побайтно - к унифицированным файлам, а не поблочно - к разнообразным и сильно изменяющимися с развитием технологий устройствам. Для контроля доступа к объектам не требуется иных решений, кроме уже существующего в операционной системе контроля доступа к файлам. Новая концепция системы хранения избавила администратора системы от изнурительного труда по сопровождению архивов и предвосхитила современные системы управления версиями файлов.

Операционные системы, созданные на базе или идеях UNIX, такие как всё семейство BSD и системы GNU/Linux, постепенно перенимают новые идеи из Bell Labs. Возможно, эти новые идеи ждёт большое будущее и признание ИТ-разработчиков.

Новые концепции были использованы Робом Пайком в Inferno .

См. также

Примечания

Литература

  • Гордеев А. В. Операционные системы: Учебник для вузов. - 2-е изд. - СПб. : Питер , 2007. - 416 с. - ISBN 978-5-94723-632-3
  • Деннинг П. Дж., Браун Р. Л. Операционные системы // Современный компьютер. - М ., 1986.
  • Иртегов Д. В. Введение в операционные системы. - 2-е изд. - СПб. : BHV-СПб, 2007. - ISBN 978-5-94157-695-1
  • Керниган Б. У. , Пайк Р. У. UNIX - универсальная среда программирования = The UNIX Programming Environment. - М ., 1992.
  • Олифер В. Г., Олифер Н. А. Сетевые операционные системы. - СПб. : Питер , 2002. - 544 с. - ISBN 5-272-00120-6
  • Столлингс У. Операционные системы = Operating Systems: Internals and Design Principles. - М .: Вильямс, 2004. - 848 с. - ISBN 0-1303-1999-6
  • Таненбаум Э. С. Многоуровневая организация ЭВМ = Structured Computer Organization. - М .: Мир, 1979. - 547 с.
  • Таненбаум Э. С. Современные операционные системы = Modern Operating Systems. - 2-е изд. - СПб. : Питер , 2005. - 1038 с. - ISBN 5-318-00299-4
  • Таненбаум Э. С. , Вудхалл А. С. Операционные системы. Разработка и реализация = Operating Systems: Design and Implementation. - 3-е изд. - СПб. : Питер , 2007. - 704 с. - ISBN 978-5-469-01403-4
  • Шоу А. Логическое проектирование операционных систем = The Logical Design of Operating Systems. - М .: Мир, 1981. - 360 с.
  • Рэймонд Э. С. Искусство программирования для UNIX = The Art of UNIX Programming. - М .: Вильямс, 2005. - 544 с. - ISBN 5-8459-0791-8
  • Mark G. Sobell. UNIX System V. A Practical Guide. - 3rd ed. - 1995.

Ссылки

  • Операционная система в каталоге ссылок Open Directory Project (dmoz).
  • Отставнов М. Е. Свободное программное обеспечение в школе . Свободное ПО для школы (2003).(недоступная ссылка - история ) Проверено 16 апреля 2010.