Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
All_Questions.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
6.54 Mб
Скачать

43. Назначение и основные компоненты операционных систем. Управление памятью. Управление внешними устройствами. Защита данных. Интерфейс прикладного программирования. Пользовательский интерфейс.

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

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

С 1990-х наиболее распространенными операционными системами являются ОС семейства Microsoft Windows и UNIX-подобные системы.

Функции:

Интерфейсные функции:

  1. Управление аппаратными средствами, устройствами ввода/вывода

  2. Файловая система

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

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

  5. Сеть

Внутренние функции:

  1. Обработка прерываний

  2. Виртуальная память

  3. Планировщик задач

  4. Буферы ввода-вывода

  5. Обслуживание драйверов устройств

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

  1. Ядро занимается планировкой задач и обеспечивает доступ к оборудованию.

  2. Системные библиотеки предоставляют приложениям интерфейс к функциям ядра на более абстрактном уровне.

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

  4. Низкоуровневые системные утилиты для управления ядром и оборудованием (форматирование дисков, включение/выключение и т.д.)

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

Свойства ОС

  • Надежность (грамотно реагировать на программные и аппаратные ошибки)

  • Защита (обеспечение разного уровня доступа к информации)

  • Эффективность (должно хватать ресурсов, быстрая работа)

  • Предсказуемость (ожидаемость результата: что выдается, через какое время)

Структура ОС.

Резидентнаяпостоянно находящаяся в памяти

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

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

Динамически подгружаемые драйверы устройств:

• резидентные / нерезидентные

• работают в пользовательском режиме / в режиме супервизора

«Системный вызов» - обращение к ОС за предоставление той или иной функции (возможности, услуги, сервиса). Пример: создание/завершение процесса, создание канала взаимодействия между процессами и т.д.

При системном вызове основной исполняемый код – часть кода ядра. Вызов подпрограммы – исполняемый код не в ядре.

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

  1. объекта ядра, через который операционная система управляет процессом. Там же хранится статистическая информация о процессе;

  2. адресного пространства, в котором содержится код и данные всех EXE- и DLL модулей. Именно в нем находятся области памяти, динамически распределяемой для стеков потоков и других нужд.

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

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

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

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

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

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

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

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

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

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

Защита данных

Защита данных на примере операционной системы Windows XP реализуется с помощью применения файловой системы NTFS, которая предоставляет доступ к файлам и папкам конкретным пользователям и группам пользователей. А также с помощью EFS (Encryption File System) – файловая система, которая может использоваться на томах NTFS, позволяющая «на лету» шифровать и дешифровать файлы. Но если операционная система окажется неработоспособной или учетные данные о пользователе (ключи), зашифровавшим файлы, будут утеряны, то восстановить зашифрованные данные будет невозможно.

Интерфейс прикладного программирования

Это набор функций, с помощью которого программист может писать программы под операционную систему. Для операционных систем Microsoft Windows – это Win32Api. Это набор динамически подгружаемых библиотек (DLL), в которых содержатся функции.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]