Основы компьютеров - Функции ОС

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

  • Essential functions - Обеспечивает оптимальное и эффективное использование ресурсов

  • Monitoring functions - Контролирует и собирает информацию, связанную с производительностью системы

  • Service functions - Предоставляет услуги пользователям

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

Управление процессором

Управление процессором компьютера для обеспечения его оптимального использования называется processor management. Управление процессором в основном включает в себя распределение процессорного времени для задач, которые необходимо выполнить. Это называетсяjob scheduling. Рабочие места должны быть запланированы таким образом, чтобы -

  • Максимальное использование ЦП
  • Срок выполнения, т.е. время, необходимое для выполнения каждой работы, минимально
  • Время ожидания минимальное
  • Каждое задание получает максимально быстрое время отклика
  • Достигается максимальная пропускная способность, где пропускная способность - это среднее время, необходимое для выполнения каждой задачи.

Есть два метода планирования заданий, выполняемых операционными системами:

  • Упреждающее планирование
  • Планирование без вытеснения

Упреждающее планирование

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

  • Round robin scheduling - Маленькая единица времени называется time sliceопределен, и каждая программа получает только один временной отрезок за раз. Если он не будет завершен в течение этого времени, он должен присоединиться к очереди заданий в конце и дождаться, пока все программы получат один временной интервал. Преимущество здесь в том, что все программы получают равные возможности. Обратной стороной является то, что если программа завершает выполнение до того, как истечет временной интервал, ЦП простаивает до конца.

  • Response ratio scheduling - Коэффициент отклика определяется как

    $$ \ frac {Прошло \: Время} {Выполнение \: время \: получено} $$

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

Непредвиденное планирование

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

  • First come first serve scheduling - Это простейший метод, при котором первая программа, создавшая запрос, завершается первой.

  • Shortest job next scheduling - Здесь следующим будет запланировано задание, для выполнения которого требуется меньше всего времени.

  • Deadline scheduling - Следующим планируется выполнение задания с самым ранним сроком.

Управление памятью

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

Как вы знаете, у компьютеров есть два типа памяти - primary и secondary. Первичная памятьfast but expensive и вторичная память cheap but slower. ОС должна найти баланс между ними, чтобы гарантировать, что производительность системы не пострадает из-за очень меньшего объема первичной памяти или затраты системы не возрастут из-за слишком большого количества первичной памяти.

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

Непрерывное выделение памяти

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

Распределение несмежных хранилищ

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

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

  • Program paging - Программа разбита на фиксированный размер pageи хранятся во вторичной памяти. Страницы даныlogical address or virtual addressот 0 до n. Аpage table сопоставляет логические адреса с физическими адресами, которые используются для получения страниц при необходимости.

  • Program segmentation - Программа разбита на логические блоки, называемые segments, присвоенный логический адрес от 0 до n и сохраненный во вторичной памяти. Аsegment table используется для загрузки сегментов из вторичной памяти в первичную память.

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

Управление файлами

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

  • Создание новых файлов для хранения данных
  • Updating
  • Sharing
  • Защита данных с помощью паролей и шифрования
  • Восстановление при сбое системы

Управление устройством

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

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