Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект Лекций ПСРВ.doc
Скачиваний:
142
Добавлен:
12.02.2016
Размер:
2.73 Mб
Скачать

Системные вызовы

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

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

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

Главная задача файловой системы (file system)  скрыть особенности ввода-вывода и дать программисту простую абстрактную модель файлов, независимых от устройств. Для чтения, создания, удаления, записи, открытия и закрытия файлов имеется обширная категория системных вызовов.

Процессы

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

Нити (потоки)

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

Для этих целей современные ОС предлагают использовать сравнительно новый механизм многонитевой обработки (multithreading). При этом вводится новое понятие "нить" (thread).

Нити иногда называют облегченными процессами или мини-процессами.

Понятие ресурса

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

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

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

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

1.5. Аппаратные среды срв

1.5.1. Мультипрограммная среда

Рис.3. Мультипрограммная среда

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

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