рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Программное обеспечение можно разделить на две группы: системное программное обеспечение СПО и прикладное программное обеспечение ППО

Программное обеспечение можно разделить на две группы: системное программное обеспечение СПО и прикладное программное обеспечение ППО - раздел Информатика, Обзор По Программное Обеспечение - Это Общий Термин Для Обозначения ...

Обзор ПО

Программное обеспечение - это общий термин для обозначения "неосязаемых" в отличие от физических, составных частей компьютерной системы. Термин охватывает как программы в символической записи, так и исполняемые формы этих программ.

Программное обеспечение можно разделить на две группы: системное программное обеспечение (СПО) и прикладное программное обеспечение (ППО)

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

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

Системное программное обеспечение

1. Операционные системы. 2. Системы управления файлами. 3. Интерфейсные оболочки для взаимодействия пользователя с ОС и программ­ные среды.

Понятие операционной среды

Любая программа имеет дело с некоторыми исходными данными, которые она обрабатывает, и порождает в конечном итоге некоторые выходные данные,… Например, в далекие пятидесятые годы, на заре развития вычислительных сис­тем,… Следующий шаг в автоматизации создания готовых к выполнению машинных двоичных программ заключался в том, что…

Понятия вычислительного процесса и ресурса

Определение концепции процесса преследует цель выработать механизмы распре­деления и управления ресурсами. Понятие ресурса, так же как и понятие… является, пожалуй, основным при рассмотрении операционных систем. Термин… Ресурсы могут быть разделяемыми, когда несколько процессов могут их исполь­зовать одновременно (в один и тот же момент…

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

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

Реализация понятия последовательного процесса в ОС

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

Процессы и треды

Когда говорят о процессах (process), то тем самым хотят отметить, что операци­онная система поддерживает их обособленность: у каждого процесса… Однако желательно иметь еще и возможность задействовать внутренний… Главное, что обеспечивает многопоточность, — это возможность параллельно вы­полнять несколько видов операций в одной…

Прерывания

Идея прерываний была предложена в середине 50-х годов и можно без преувели­чения сказать, что она внесла наиболее весомый вклад в развитие… Механизм прерываний реализуется аппаратно-программными средствами. Струк­туры… Механизм обработки прерываний независимо от архитектуры вычислительной системы включает следующие элементы:

Основные виды ресурсов

Вторым видом ресурсов вычислительной системы можно считать память. Опе­ративная память может быть разделена и одновременным способом (то есть в… Когда говорят о внешней памяти (например, память на магнитных дисках), то… Если говорить о внешних устройствах, то они, как правило, могут разделяться параллельно, если используются механизмы…

Управление задачами в операционных системах

Оперативная память — это важнейший ресурс любой вычислительной системы, поскольку без нее (как, впрочем, и без центрального процессора) невозможно… Понятие процесса (задачи) нам уже известно. Здесь мы не будем ста­раться… Итак, операционная система выполняет следующие основные функции, связан­ные с управлением задачами: создание и…

Планирование и диспетчеризация процессов и задач

Стратегии планирования

Стратегия планирования определяет, какие процессы мы планируем на выпол­нение для того, чтобы достичь поставленной цели. Известно большое количество… Когда говорят о стратегии обслуживания, всегда имеют в виду понятие процесса,…

Дисциплины диспетчеризации

Известно большое количество правил (дисциплин диспетчеризации), в соответ­ствии с которыми формируется список (очередь) готовых к выполнению задач.… Запомним о приоритетах следующее: приоритет, присвоенный задаче, может являться величиной постоянной; приоритет…

Вытесняющие и не вытесняющие алгоритмы диспетчеризации

Диспетчеризация с перераспределением процессорного времени между задача­ми, то есть вытесняющая многозадачность (preemptive multitasking) — это… сохраняет ее контекст в дескрипторе задачи, выбирает из очереди готовых задач… При не вытесняющей многозадачности механизм распределения процессорного времени распределен между системой и…

Диспетчеризация задач с использованием динамических приоритетов

Рассмотрим, например, как реализован механизм динамических приоритетов в ОС UNIX, которая, как известно, не относится к ОСРВ. Текущий приоритет… Схема нумерации (числовых значений) текущих приоритетов различна для… Процессу, ожидающему недоступного в данный момент ресурса, система опреде­ляет значение приоритета сна, выбираемое…

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

отслеживание свободной и занятой памяти; выделение памяти процессам и освобождение памяти при завершении процессов; вытеснение процессов из оперативной памяти на диск, когда размеры основной памяти не достаточны для размещения в ней…

Управление вводом/выводом

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

Основные понятия и концепции организации ввода/вывода в ОС

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

Поэтому самым главным является следующий принцип: любые операции по управлению вводом/выводом объявляются привилегированными и могут вы­полняться только кодом самой ОС. Для обеспечения этого принципа в большин­стве процессоров даже вводятся режимы пользователя и супервизора. Как пра­вило, в режиме супервизора выполнение команд ввода/вывода разрешено, а в пользовательском режиме — запрещено. Использование команд ввода/вывода в пользовательском режиме вызывает исключение и управление через механизм прерываний передается коду ОС. Хотя возможны и более сложные системы, в которых в ряде случаев пользовательским программам разрешено непосредст­венное выполнение команд ввода/вывода.

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

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

  • Необходимость разрешать возможные конфликты доступа к устройствам ввода/вывода. Например, две параллельно выполняющиеся программы пыта­ются вывести на печать результаты своей работы. Если не предусмотреть внешнее управление устройством печати, то в результате мы можем получить абсолютно нечитаемый текст, так как каждая программа будет время от вре­мени выводить свои данные, которые будут перемежаться данными другой программы. Другой пример: ситуация, когда одной программе необходимо прочитать данные с некоторого сектора магнитного диска, а другой — запи­сать результаты в другой сектор того же накопителя. Если операции вво­да/вывода не будут отслеживаться каким-то третьим (внешним) процессом-арбитром, то после позиционирования магнитной головки для первого запро­са может тут же появиться команда позиционирования головки для второй задачи, и обе операции ввода/вывода не смогут быть выполнены корректно.
  • Желание увеличить эффективность использования этих ресурсов. Например, у накопителя на магнитных дисках время подвода головки чтения/записи к необходимой дорожке и обращение к определенному сектору может значи­тельно (до тысячи раз) превышать время пересылки данных. В результате, если задачи по очереди обращаются к цилиндрам, далеко отстоящим друг от друга, то полезная работа, выполняемая накопителем, может быть существен­но снижена.
  • Ошибки в программах ввода/вывода могут привести к краху всех вычисли­тельных процессов, ибо часть операций ввода/вывода осуществляется для самой операционной системы. В ряде ОС системный ввод/вывод имеет существен­но более высокие привилегии, чем ввод/вывод задач пользователя. Поэтому системный код, управляющий операциями ввода/вывода, очень тщательно отлаживается и оптимизируется для повышения надежности вычислений и эффективности использования оборудования.

Итак, управление вводом/выводом осуществляется операционной системой, компонентом, который чаще всего называют супервизором ввода/вывода. В пере­чень основных задач, возлагаемых на супервизор, входят следующие:

  • супервизор ввода/вывода получает запросы на ввод/вывод от прикладных за­дач и от программных модулей самой операционной системы. Эти запросы проверяются на корректность, и если запрос выполнен по спецификациям и не содержит ошибок, он обрабатывается дальше, в противном случае пользо­вателю (задаче) выдается соответствующее диагностическое сообщение о не­действительности (некорректности) запроса;
  • супервизор ввода/вывода вызывает соответствующие распределители каналов и контроллеров, планирует ввод/вывод (определяет очередность предостав­ления устройств ввода/вывода задачам, затребовавшим их). Запрос на ввод/ вывод либо тут же выполняется, либо ставится в очередь на выполнение;
  • супервизор ввода/вывода инициирует операции ввода/вывода (передает управ­ление соответствующим драйверам) и в случае управления вводом/выводом с использованием прерываний предоставляет процессор диспетчеру задач с тем, чтобы передать его первой задаче, стоящей в очереди на выполнение;
  • при получении сигналов прерываний от устройств ввода/вывода супервизор идентифицирует их (рис. 4.1) и передает управление соответствующей про­грамме обработки прерывания (как правило, на секцию продолжения драйве­ра);
  • супервизор ввода/вывода осуществляет передачу сообщений об ошибках, если таковые происходят в процессе управления операциями ввода/вывода;
  • супервизор ввода/вывода посылает сообщения о завершении операции вво­да/вывода запросившему эту операцию процессу и снимает его с состояния ожидания ввода/вывода, если процесс ожидал завершения операции.

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

Таким образом, прикладные программы (а в общем случае — все обрабатываю­щие программы) не могут непосредственно связываться с устройствами ввода/ вывода независимо от использования устройств (монопольно или совместно). Установив соответствующие значения параметров в запросе на ввод/вывод, опре­деляющих требуемую операцию и количество потребляемых ресурсов, они могут передать управление супервизору ввода/вывода, который и запускает необходи­мые логические и физические операции.

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

Режимы управления вводом/выводом

Пусть для простоты управление вводом/выводом осуществляет центральный… Режим обмена с прерываниями по своей сути является режимом асинхронного управления. Для того чтобы не потерять связь с…

Закрепление устройств, общие устройства ввода/вывода

Вообще говоря, понятие виртуального устройства шире, нежели использование этого термина для обозначения спулинга (SPOOLing — simultaneous peripheral…

Основные системные таблицы ввода/вывода

Исходя из принципа управления вводом/выводом через супервизор ОС и учи­тывая, что драйверы устройств ввода/вывода используют механизм прерываний для… Первая таблица (или список) содержит информацию обо всех устройствах… Поясним перечисленное. Поскольку во многих ОС драйверы могут обладать свойством реентерабельности (напомним, это…

Синхронный и асинхронный ввод/вывод

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

Кэширование операций ввода/вывода при работе с накопителями на магнитных дисках

Для того чтобы сгладить такое сильное несоответствие в производительности основных подсистем, используется буферирование и/или кэширование данных.… Если не вдаваться в подробности, то под кэшем можно понимать некий пул… Интервал времени, после которого данные будут фактически записываться, с од­ной стороны, желательно выбрать больше,…

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

совокупность всех файлов на диске, наборы структур данных, используемых для управления файлами, такие, например,… дескрипторы файлов, таблицы распределения свободного и занятого пространства на диске,

Имена файлов

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

Типы файлов

Файлы бывают разных типов: обычные файлы, специальные файлы, файлы-каталоги.   Обычные файлы в свою очередь подразделяются на текстовые и двоичные. Текстовые файлы состоят из строк символов,…

Логическая организация файла

Программист имеет дело с логической организацией файла, представляя файл в виде определенным образом организованных логических записей. Логическая…  

Физическая организация и адрес файла

Физическая организация файла описывает правила расположения файла на устройстве внешней памяти, в частности на диске. Файл состоит из физических… Следующий способ физической организации - размещение в виде связанного списка… Популярным способом, используемым, например, в файловой системе FAT операционной системы MS-DOS, является…

Кэширование диска

В некоторых файловых системах запросы к внешним устройствам, в которых адресация осуществляется блоками (диски, ленты), перехватываются…  

Общая модель файловой системы

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

Отображаемые в память файлы

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

Современные архитектуры файловых систем

Разработчики новых операционных систем стремятся обеспечить пользователя возможностью работать сразу с несколькими файловыми системами. В новом… Новая файловая система имеет многоуровневую структуру на верхнем уровне… Каждый компонент уровня файловых систем выполнен в виде драйвера соответствующей файловой системы и поддерживает…

Принципы построения интерфейсов операционных систем

Управление процессами, которое включает в себя следующий набор основ­ных функций: запуск, приостанов и снятие задачи с выполнения; задание… Управление памятью: запрос на выделение блока памяти; освобождение… Управление вводом/выводом: запрос на управление виртуальными устройствами (напомним, что управ­ление…

Интерфейс прикладного программирования

Интерфейс прикладного программирования, как это и следует из названия, пред­назначен для использования прикладными программами системных ресурсов ОС… Итак, API представляет собой набор функций, предоставляемых системой… В принципе API используется не только прикладными, но и многими системны­ми программами как в составе ОС, так и в…

Реализация функций API на уровне ОС

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

Реализация функций API на уровне системы программирования

Очевидно, что эффективность функций API в таком варианте будет несколько ниже, чем при непосредственном обращении к функциям ОС. Так происходит,… Однако переносимость исходного кода программы в таком варианте будет самой… Единообразное выполнение функций языка обеспечивается системой программи­рования. При ориентации на различные…

Реализация функций API с помощью внешних библиотек

Система программирования ответственна только за то, чтобы подключить объ­ектный код библиотеки к результирующей программе. Причем внешняя… С точки зрения эффективности выполнения этот метод реализации API имеет самые… Если говорить о переносимости исходного кода, то здесь требование только одно — используемая внешняя библиотека должна…

Платформенно-независимый интерфейс POSIX

POSIX возник как попытка всемирно известной организации IEEE пропаганди­ровать переносимость приложений в UNIX-средах путем разработки… Этот стандарт подробно описывает VMS (virtual memory system, систему… Таким образом, программы, написанные с соблюдением данных стандартов, будут одинаково выполняться на всех…

Проектирование параллельных взаимодействующих вычислительных процессов

Операционные системы имеют в своем составе различные средства синхрониза­ции. Знание этих средств и их правильное использование позволяет создавать… В настоящем разделе рассматриваются основные понятия и проблемы, характер­ные…

Независимые и взаимодействующие вычислительные процессы

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

Средства синхронизации и связи при проектировании взаимодействующих вычислительных процессов

Использование блокировки памяти при синхронизации параллельных процессов

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

Алгоритм Деккера

  Листинг 6.4. Алгоритм Деккера label 1, 2;

Семафорные примитивы Дейкстры

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

Мьютексы

Организация последовательного (а не параллельного) доступа к ресурсам с ис­пользованием мьютексов становится несложной, поскольку в каждый… Для работы с мьютексом имеется несколько функций. Помимо уже упомянутой…

Использование семафоров при проектировании взаимодействующих вычислительных процессов

Задача «поставщик — потребитель» Решение задачи «поставщик — потребитель» является характерным примером… Использование семафоров для решения данной задачи приведено в листинге 6.11.

Мониторы Хоара

Необходимо иметь понятные, очевидные решения, которые позволят приклад­ным программистам без лишних усилий, связанных с доказательством… В параллельном программировании монитор — это пассивный набор разделяе­мых… Рассмотрим, например, некоторый ресурс, который разделяется между процесса­ми каким-либо планировщиком. Каждый раз,…

– Конец работы –

Используемые теги: программное, Обеспечение, можно, Разделить, две, группы, Системное, программное, Обеспечение, СПО, кладное, программное, Обеспечение, ппо0.157

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

Что будем делать с полученным материалом:

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

Еще рефераты, курсовые, дипломные работы на эту тему:

Программное обеспечение ПК/Построение диаграмм в текстовом редакторе Word/Классификация системного программного обеспечения
Без программного обеспечения компьютер не сможет выполнять задачи, которые мы обычно связываем с компьютерами. Функции программного обеспечения следующие: 1. управлять компьютерными… Синонимом слову «программа» является термин «приложение» (application). Для того, чтобы программа была выполнена, она…

Лекция 4 История развития вычислительной техники. Классификация компьютеров. Состав вычислительной системы. Аппаратное и программное обеспечение. Классификация служебных и прикладных программных средств
Классификация компьютеров... По назначению... суперкомпьютеры серверы встроенные компьютеры микропроцессоры...

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

Введение. Состав вычислительной системы, программного обеспечения и других программных обеспечений
КОНСПЕКТ ЛЕКЦИЙ ПО КУРСУ... quot Операционные системы и офисные приложения quot для студентов направления В...

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

Системное и программное обеспечение
Этапы и стадии 1. Первоначальное изучение конкретной предметной области с помощью научно техническоц литературы, а также с использованием… Включает ТОСТы, ОСТы, РТМы, Рмы. 2. Обследование объекта автоматизации… Код.Наименование прибора.Обозначение или маркер прибора.Паспортные данные.Характеристики.Дополнительная…

Прикладное программное обеспечение
Прикладное программное обеспечение ППО составляют программы конечного пользователя Это самый обширный класс программного обеспечения В настоящее... Классификация прикладного программного обеспечения...

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

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

Системное программное обеспечение
Для этого необходимо составить для компьютера на понятном ему языке точную и подробную последовательность инструкций, т.е. программу, как надо… Меняя программы для компьютера, можно превратить его в рабочее место… Таким образом, программное обеспечение – это совокупность программ и правил со всей относящейся к ним документацией,…

0.03
Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • По категориям
  • По работам