Принципы построения интерфейсов операционной системы.
Операционная система – интерфейс между аппаратурой компьютера и пользователем с его задачей. Интерфейс операционных систем – специальные интерфейсы системного и прикладного программирования, предназначенные для выполнения следующих задач: - управление процессами, которое включает в себя следующий набор основных функций:
- запуск, приостанов и снятие задачи с выполнения; o задание или изменение приоритета задачи; o взаимодействие задач между собой (сигналы, семафоры, очереди, конвейеры, почтовые ящики); o удаленный вызов подпрограмм; - управление памятью: o запрос на выделение блока памяти; o освобождение памяти; o изменение параметров блока памяти;
- отображение файлов на память; - управление вводом/выводом: o запрос на управление виртуальными устройствами; o файловые операции.
Пользовательский интерфейс ОС реализуется с помощью специальных программных модулей, которые принимают его команды на соответствующем языке и транслируют их в обычные вызовы в соответствии с основным интерфейсом системы. Обычно эти модули называются интерпретатором команд. Имеются два основных подхода к управлению задачами:
1) порождаемая задача наследует все ресурсы задачи-родителя;
2) при порождении нового процесса ресурсы для него запрашиваются у операционной системы. Обращение к операционной системе в соответствии с имеющимися API может осуществляться: - посредством вызова подпрограммы с передачей ей необходимых параметров; - через механизм программных прерываний.
16. Мультипрограммирование.
— способ организации выполнения нескольких программ на одном компьютере.
многопрограммная работа, метод одновременного выполнения на ЦВМ нескольких программ относящихся к различным задачам. При многопрограммной работе в памяти ЦВМ одновременно находятся программы нескольких задач. Различают два основных режима многопрограммной работы ЦВМ: пакетной (групповой) обработки и разделения времени. Пакетная обработка заключается в комплектовании пакетов задач по мере поступления заявок от потребителей и в последовательной обработке каждого из этих пакетов так, чтобы обеспечить максимальную загрузку устройств. Пакет рекомендуется комплектовать из задач с различными объёмами информации и частотами обмена ею между устройствами ЦВМ. Программы задач вводят во внешнюю память и по очереди выполняют. При вынужденных прерываниях текущей программы ЦВМ переключается на выполнение очередной программы пакета, а прерванная программа после устранения причины прерывания снова ставится в очередь. Режим пакетной обработки увеличивает производительность ЦВМ, снижает до минимума простои оборудования и является типичным режимом использования ЦВМ в вычислительных центрах. Режим разделения времени создаёт у каждого потребителя впечатление, что ЦВМ обслуживает только его одного. Каждый потребитель снабжается устройством для ввода — вывода данных. Периодически каждый потребитель в отведённое для него машинное время решает свою задачу, изучает полученные результаты и готовит следующее задание для ЦВМ. При пользовании общей библиотекой диспетчер-программа планирует и осуществляет вынужденные прерывания программ в зависимости от приоритета потребителя и отведённого ему машинного времени, а также от характера решаемой задачи. Режим разделения времени позволяет потребителю вести эффективный диалог с машиной, что наиболее удобно в системах управления технологическими процессами, в автоматизированных системах управления (АСУ) предприятиями и отраслями народного хозяйства, в информационно-справочных службах, в мощных вычислительных центрах и т. д. В свободное от обслуживания потребителей время ЦВМ могут проводить пакетную обработку данных.
Понятие процесса.
Процесс - это абстракция, описывающая выполняющуюся программу. Процесс - исполнение последовательности действий в среде, включающей собственно выполняющуюся программу, а также связанных с ней данных и состояний (открытых файлов, текущего каталога и т. п.). С точки зрения операционной системы, процесс - единица работы, заявка на потребление системных ресурсов. - объект, которому выделяется процессор. Первое упоминание о процессе появилось в 60-е годы XX века в операционной системе MULTICS. Процессы образуют иерархию в операционной системе. Соответственно, будем называть порожденные процессы - потомками данного процесса, а родителя порожденного процесса - предком. При создании процесса должны быть выполнены следующие действия: присвоение процессу уникального номера (ID); добавление процесса в список процессов, известных системе; определение начального приоритета; формирование блока управления процессом; выделение необходимых ресурсов.