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

56

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) определялась, как совокупность связанных между собой и образующих единое целое программных модулей и данных, требующая ресурсов вычислительной системы для своей реализации.

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

  • Определение концепции процесса преследует цель выработать механизмы распределения и управления ресурсами.

  • Другими словами, ресурсом называется всякий объект, который может распределяться внутри системы, например- процессорное время, адресное пространство оперативной памяти, переферийные устройства.

  • Ресурсы могут быть разделяемыми, когда несколько процессов могут их использовать одновременно (в один и тот же момент времени) или параллельно (в течение некоторого интервала времени процессы используют ресурс попеременно), а могут быть и неделимыми

  • При разработке первых систем ресурсами считались процессорное время, память, каналы ввода/вывода и периферийные устройства.

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

  • В первых вычислительных системах любая программа могла выполняться только после полного завершения предыдущей.

  • Центральный процессор осуществлял и выполнение вычислений, и управление операциями ввода/вывода данных. Соответственно, пока осуществлялся обмен данными между оперативной памятью и внешними устройствами, процессор не мог выполнять вычисления.

Ресурс выделяется по следующим правилам:

  1. Если ресурс свободен и нет задач с более высокими приоритетами.

  2. Когда текущий и ранее выданный запрос допускает совместное использование ресурсов.

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

Если ресурс занят, задача становится в очередь ожидания

  1. Выполняется задача и передаются ресурсы

  2. ОС может сама у задачи забрать ресурс

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

Процесс за время выполнения проходит состояния:

  1. Пассивное состояние- для ОС реального времени, процесс не участвует в конкуренции за ресурс

  2. Выполнение- процессу выделены все ресурчы, которые ему необходимы. Сколько ядер- столько процессов выполняется.

  3. Готов к выполнению- выделены все ресурсы кроме процессорного времени

  4. Состояние ожидания, когда проходят операции ввода-вывода.

4. Диаграмма состояний процесса

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

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

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

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

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

Из состояния выполнения процесс может выйти по одной из следующих причин:

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

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