- •1.Группы системных программ
- •5. Реализация понятия последовательного процесса в ос
- •6. Понятие процесса и потока.
- •7.Прерывания
- •9.. Обработка прерываний при участии супервизора.
- •10.Основные виды ресурсов
- •12. Функции ос по управлению задачами.
- •13. Планировщики и стратегии планирования.
- •14. Дисциплины диспетчеризации fcfs, srt, sjn.
- •15. Дисциплина диспетчеризации rr.
- •17. Качество диспетчеризации, гарантии обслуживания.
- •19. Память и отображения, виртуальное адресное пространство
- •20.Простое непрерывное распределение, оверлейные структуры
- •21. Разделы с фиксированными границами.
- •22. Разделы с подвижными границами
- •23. Сегментный способ организации виртуальной памяти
- •24. Страничный способ организации виртуальной памяти
- •25. Сегментно-страничный способ организации виртуальной памяти
- •26. Основные понятия и концепции организации ввода/вывода в ос
- •27.Режимы управления вводом/выводом
- •28. Закрепление устройств, общие устройства ввода/вывода
- •29.Синхронный и асинхронный ввод/вывод
- •30. Кэширование операций ввода/вывода при работе с накопителями на магнитных дисках
- •32. Функции файловой системы ос и иерархия данных
- •33. Трансляторы, интерпретаторы, компиляторы.
- •34. Этапы трансляции. Общая схема работы транслятора
- •35. Понятие прохода, особенности ассемблеров
- •36.Назначение и особенности построения таблиц идентификаторов
1.Группы системных программ
системное программное обеспечение может быть разделено на следующие пять групп:
Операционные системы
Системы управления файлами
Интерфейсные оболочки для взаимодействия пользователя с ОС и программные среды
Системы программирования
Утилиты
Под операционной системой (ОС) обычно понимают комплекс управляющих и обрабатывающих программ, который, с одной стороны, выступает как интерфейс между аппаратурой компьютера и пользователем с его задачами, а с другой — предназначен для наиболее эффективного использования ресурсов вычислительной системы и организации надежных вычислений. Любой из компонентов прикладного программного обеспечения обязательно работает под управлением ОС.
Основными функциями, которые выполняет ОС, являются следующие:
прием от пользователя (или от оператора системы) заданий или команд, сформулированных на соответствующем языке - в виде директив (команд) оператора или в виде указаний (своеобразных команд) с помощью соответствующего манипулятора (например, с помощью мыши), - и их обработка;
прием и исполнение программных запросов на запуск, приостановку, остановку других программ;
обеспечение работы систем управлений файлами {СУФ) и/или систем управления базами данных (СУБД), что позволяет резко увеличить эффективность всего программного обеспечения;
обеспечение режима мультипрограммирования, то есть выполнение двух или более программ на одном процессоре, создающее видимость их одновременного исполнения;
обеспечение функций по организации и управлению всеми операциями ввода/вывода;
удовлетворение жестким ограничениям на время ответа в режиме реального времени (характерно для соответствующих ОС);
распределение памяти, а в большинстве современных систем и организация виртуальной памяти;
планирование и диспетчеризация задач в соответствии с заданными стратегией и дисциплинами обслуживания;
организация механизмов обмена сообщениями и данными между выполняющимися программами;
защита одной программы от влияния другой; обеспечение сохранности данных;
предоставление услуг на случай частичного сбоя системы;
обеспечение работы систем программирования, с помощью которых пользователи готовят свои программы.
Назначение системы управления файлами — организация более удобного доступа к данным, организованным как файлы.
Это отдельная категория системного программного обеспечения, поскольку:
ряд ОС позволяет работать с несколькими файловыми системами (монтируемыми);
простейшие ОС могут работать и без файловых систем.
Интерфейсные оболочки. Их основное назначение — либо расширить возможности по управлению ОС, либо изменить встроенные в систему возможности.
Могут быть текстовыми (NC, VC для DOS, MC для UNIX/Linux) и графическими (KDE, Gnome для Linux)
Средства выполнения программ, созданных для других ОС.
VDM (Virtual DOS machine) для выполнения DOS-программ в Windows 9x/NT/2000;
WINE для выполнения Windows-программ в Linux;
Эмуляторы, позволяющие смоделировать в одной операционной системе какую-либо другую машину или операционную систему (VMWARE).
Система программирования представлена прежде всего такими компонентами, как транслятор с соответствующего языка, библиотеки подпрограмм, редакторы, компоновщики и отладчики.
Любая система программирования может работать только в соответствующей ОС, под которую она и создана, однако при этом она может позволять разрабатывать программное обеспечение и под другие ОС.
В том случае, когда создаваемые программы должны работать совсем на другой аппаратной базе, говорят о кросс-системах. Так, для ПК на базе микропроцессоров семейства i80x86 имеется большое количество кросс-систем, позволяющих создавать программное обеспечение для различных микропроцессоров и микроконтроллеров.
Под утилитами понимают специальные системные программы, с помощью которых можно как обслуживать саму операционную систему, так и подготавливать для работы носители данных, выполнять перекодирование данных, осуществлять оптимизацию размещения данных на носителе и производить некоторые другие работы, связанные с обслуживанием вычислительной системы. К утилитам следует отнести и программу разбиения накопителя на магнитных дисках на разделы, и программу форматирования, и программу переноса основных системных файлов самой ОС.
Естественно, что утилиты могут работать только в соответствующей операционной среде.
2. Операционная среда – это набор функций, сервисов и правил обращения к ним, так же набор интерфейсов, необходимый программам и пользователям для обращения к операционной системе с целью получения определенного сервиса. Операционная система в общем случае может содержать несколько операционных сред. (Windows поддерживает MS-DOS и Windows). Операционная среда может включать несколько интерфейсов. …. Пользовательские и программные.
Tермин операционная среда означает соответствующий интерфейс, необходимый программам для обращения к ОС с целью получить определенный сервис — выполнить операцию ввода/вывода, получить или освободить участок памяти и т. д.
Это программный интерфейс, API (application program interface). Интерфейс прикладного программирования (API) включает в себя управление процессами, памятью и вводом/выводом.
Это программная среда, в которой выполняются прикладные программы пользователей.
3. Понятие вычислительного процесса и ресурса
Понятие «вычислительный процесс» (или просто —«процесс») является одним из основных при рассмотрении операционных систем.
Последовательный процесс (иногда называемый «задачей») — это выполнение отдельной программы с ее данными на последовательном процессоре.
Изначально задача (task) определялась, как совокупность связанных между собой и образующих единое целое программных модулей и данных, требующая ресурсов вычислительной системы для своей реализации.
Затем задачей стали называть единицу работы, для выполнения которой предоставляется центральный процессор. Вычислительный процесс может включать в себя несколько задач.
Определение концепции процесса преследует цель выработать механизмы распределения и управления ресурсами.
Другими словами, ресурсом называется всякий объект, который может распределяться внутри системы, например- процессорное время, адресное пространство оперативной памяти, переферийные устройства.
Ресурсы могут быть разделяемыми, когда несколько процессов могут их использовать одновременно (в один и тот же момент времени) или параллельно (в течение некоторого интервала времени процессы используют ресурс попеременно), а могут быть и неделимыми
При разработке первых систем ресурсами считались процессорное время, память, каналы ввода/вывода и периферийные устройства.
Различного рода программные и информационные ресурсы также могут быть определены для системы как объекты, которые могут разделяться и распределяться, и доступ к которым необходимо соответствующим образом контролировать.
В первых вычислительных системах любая программа могла выполняться только после полного завершения предыдущей.
Центральный процессор осуществлял и выполнение вычислений, и управление операциями ввода/вывода данных. Соответственно, пока осуществлялся обмен данными между оперативной памятью и внешними устройствами, процессор не мог выполнять вычисления.
Ресурс выделяется по следующим правилам:
Если ресурс свободен и нет задач с более высокими приоритетами.
Когда текущий и ранее выданный запрос допускает совместное использование ресурсов.
Когда ресурс занят задачей с более низким приоритетом,он может быть отобран.
Если ресурс занят, задача становится в очередь ожидания
Выполняется задача и передаются ресурсы
ОС может сама у задачи забрать ресурс
Ресурс может находиться в монопольном использовании. Существуют системные процессы, сами программы ОС, они всегда имеет ресурсы и обеспечивают работу программ.
Процесс за время выполнения проходит состояния:
Пассивное состояние- для ОС реального времени, процесс не участвует в конкуренции за ресурс
Выполнение- процессу выделены все ресурчы, которые ему необходимы. Сколько ядер- столько процессов выполняется.
Готов к выполнению- выделены все ресурсы кроме процессорного времени
Состояние ожидания, когда проходят операции ввода-вывода.
4. Диаграмма состояний процесса
За время своего существования процесс может осуществить переход из одного состояния в другое. Это обусловлено обращениями к ОС с запросами ресурсов и выполнением системных функций, которые предоставляют ОС взаимодействие с другими процессами, появлением сигналов прерывания от таймера и устройств ввода/вывода. Процесс из состояния бездействия может перейти в состояние готовности в следующем случае:
1 . По команде оператора или пользователя, ОС где программа может иметь статус задачи и при этом являться пассивной, а не просто быть исполняемой файлами и только на время исполнения получать статус задачи это характерно для большинства современных ОС.
2 .При выборе из очереди на выполнение процесс может перейти от бездействия к готовности. Это характерно для ОС работающих в постоянном режиме.
3 .По вызову из другой задачи. По вызову супервизора один процесс может создать, инициировать, приостановить, остановить и уничтожить любой процесс. От прерывания от внешнего устройства. устройства называют инициатором, если по сигналу на прерывание от него должна запустится акая-то задача.
Переход в готовность при поступлении запланированного запроса программы. процесс, который может исполняться или только ему будет предоставлен процессор находится в состоянии готовности. Уже выделены все необходимые ресурсы за исключением процессора.
Из состояния выполнения процесс может выйти по одной из следующих причин:
1 . Процесс завершается, при этом он посредством обращения к супервизору передает управление ОС и сообщает ей о своем завершении. В результате их действий супервизор либо переводит его в список бездействующих процессов либо уничтожает. В состояние бездействия процесс может быть переведен принудительно по команде оператора. Действие этой команды реализуется системными процессами. которые транслируют запрос супервизору с требованием перевести соотв. процесс в состояние бездействия.
Из состояния выполнения процесс переводится в состояние готовности к выполнению в связи с появлением более приоритетной задачи или в связи с окончанием выделенного этому процессу кванта времени. Либо вследствие запроса операции ввода/вывода, который должен быть выполнен прежде чем процесс может продолжить исполнение либо в силу невозможности предоставить ему ресурс запрошенный в настоящий момент. При поступлении соответствующего сигнала о завершении операции ввода/вывода, освобождающем требуемый ресурс, в оперативную память загружается необходимая страница виртуальной памяти. Процесс деблокируется и переводится из состояния готовности к исполнению. Итак, движущей силой, меняющей состояния процессов, является механизм прерываний.