Главная страница
Навигация по странице:

  • Прикладные программы

  • Системное программное обеспечение (СПО)

  • Аппаратное обеспечение ВС

  • Программное обеспечение ВС

  • Операционная система (ОС)

  • Классификация системного программного обеспечения В СПО традиционно включают  системные управляющие и  системные обрабатывающие программы. Управляющие системные программы

  • Обрабатывающие системные программы

  • Системы управления файлами

  • Редактор текста

  • Компоновщик, или редактор связей

  • Загрузчик - системная обрабатывающая программа

  • Средства сетевого доступа

  • Требования к системному программному обеспечению

  • Лекция системное программирование. Лекция 1. Задачи, архитектуры, виды


    Скачать 0.64 Mb.
    НазваниеЗадачи, архитектуры, виды
    АнкорЛекция системное программирование
    Дата10.01.2022
    Размер0.64 Mb.
    Формат файлаpdf
    Имя файлаЛекция 1.pdf
    ТипДокументы
    #327386

    1
    Введение в системное программирование
    Системное ПО: понятие, состав. Операционная система:
    задачи, архитектуры, виды.
    Цель:
    изучение основ системного программного обеспечения, средств современного системного программирования на примере операционной системе Windows, приемов системного программирования для решения широкого круга задач.
    Задачи:
     изучить основные понятия вычислительная машина, вычислительная система, информационная система;
     познакомиться с системным программным обеспечением;
     познакомиться с назначением и основными задачами операционных систем.
    Традиционно, программы, работающие на компьютере, можно разделить на следующие категории:

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

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

    инструментальные системы (системы программирования), обеспечивающие создание новых программ для компьютера.
    Однако последнюю категорию зачастую также относят к классу системных программ.
    Прикладные
    программы
    предназначены для решения функциональных задач, они выполняют обработку информации различных предметных областей.
    Это самый многочисленный класс программных продуктов.
    Системное программное обеспечение (СПО) – совокупность служебных программ, предназначенных для выполнения следующих задач:
     общего управления системой на всех этапах вычислительного процесса;
     предоставления унифицированного доступа прикладных программ к ресурсам ВС;
     написания программ как таковых, представления их в виде загружаемых и исполняемых кодов;

    2
     предоставления специализированных сервисов общего назначения;
     обеспечения защиты ВС, конфиденциальности и сохранности пользовательских данных;
     предоставления доступа к внешним ресурсам, в т.ч. других ВС.
    Рассмотрение СПО неразрывно связано с понятием вычислительной системы.
    Вычислительная система – совокупность аппаратных и программных средств (рис. 1), предназначенная для решения вычислительных задач
    (выполнения вычислительных процессов).
    Аппаратное обеспечение ВС – совокупность физических устройств
    (электронных компонентов), связанная шинами передачи данных, реализующая вычислительный процесс.
    Программное обеспечение ВС – совокупность программ и данных, обеспечивающих организацию вычислительного процесса и управление им.
    Рисунок 1. Компоненты ВС и виды СПО
    Любая ВС имеет многоуровневую иерархическую структуру, подобную приведенной на рис. 2, где цветом выделены компоненты, относящиеся к системному программному обеспечению.
    Системное программное обеспечение реализует связь аппаратного и программного

    3 обеспечения, выступая как "межслойный интерфейс" с одной стороны которого аппаратура, а с другой приложения пользователя.
    Рис. 2. Иерархия компонентов ВС
    Из этой иерархии видно, что системное ПО занимает промежуточное место между аппаратной частью ВС и прикладным ПО, что и определяет функционирование СПО как «посредника» в диалоге пользователя с компьютером. Строго говоря, СПО предоставляет интерфейс к вычислительным ресурсам системы (аппаратным и программным). В числе средств, представляемых этим интерфейсом следующие виды СПО:
     драйверы устройств – библиотеки функций, предоставляющих доступ к возможностям оборудования конкретных типов (например принтеров, сетевых адаптеров и т.п.);
     операционная система (ОС) – управляющая программа (как правил, набор программ), обеспечивающая доступ пользовательских программ к аппаратным ресурсам компьютера;
     загрузчики – программы, выполняющие загрузку исполнимого кода в основную память системы;
     трансляторы – программы, предназначенные для преобразования исходных кодов в исполняемые;
     утилиты – специализированные программы служебного назначения, предназначенные, например, для повышения надежности или производительности системы в целом;
     системные сервисы
    – программы, выполняющие специализированные функции общего назначения (например, доступ к разделяемым ресурсам).
    Наиболее значимым видом системного программного обеспечения являются операционные системы.
    Операционная система (ОС) - это комплекс программ, который обеспечивает управление аппаратными средствами компьютера, организует

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

    5 вводимых пользователем команд и вывод результатов обработки этих команд.
    Операционная система предназначена для управления выполнением пользовательских программ, планирования и управления вычислительными ресурсами ЭВМ.
    Операционная система, с одной стороны, выступает как интерфейс между аппаратурой компьютера и пользователем с его задачами, с другой стороны, предназначена для эффективного использования ресурсов вычислительной системы и организации надежных вычислений.
    Помимо рассмотренных, можно выделить еще одну группу программ, занимающих промежуточное положение между СПО и прикладным программным обеспечением. Это - специальное программное обеспечение
    информационных и управляющих систем.
    К специальному программному обеспечению информационных и
    управляющих систем относятся
     программы (системы) управления базами данных;
     программы управления языком интерфейса информационных систем;
     программы сбора и предварительной обработки информации (в информационно-измерительных системах, например, бортовые системы).
    ПО этого класса часто оказывается скрытым в составе драйверов оборудования или поставляется в виде библиотек функционального расширения языков программирования.
    Поэтому часто такие ПО относят к системному программному обеспечению.
    Мы будем считать ПО такого типа отдельным классом и в курсе “СПО” рассматривать не будем.
    Что касается непосредственно СПО, то данный класс программных продуктов тесно связан с типом компьютера и является его неотъемлемой частью.
    Программные продукты данного класса в основном ориентированы на квалифицированных пользователей - профессионалов в компьютерной области: системного программиста, администратора сети, прикладного программиста, оператора.
    Однако знание базовой технологии работы с этим классом программных продуктов требуется и конечным пользователям персонального компьютера, которые самостоятельно не только работают со своими программами, но и выполняют обслуживание компьютера, программ и данных.

    6
    К системным программным продуктам предъявляются высокие требования по надежности и технологичности работы, удобству и эффективности использования.
    Классификация системного программного обеспечения
    В СПО традиционно включают
     системные управляющие и
     системные обрабатывающие программы.
    Управляющие системные программы организуют корректное функционирование всех устройств системы.
    Основные системные функции управляющих программ -
     управление вычислительными процессами и вычислительными комплексами и
     работа с внутренними данными ОС.
    Как правило, они находятся в основной памяти. Это резидентные программы, составляющие ядро ОС. Управляющие программы, которые загружаются в память непосредственно перед выполнением, называю транзитными (transitive).
    В настоящее время системные управляющие программы поставляются фирмами-разработчиками и фирмами-дистрибьюторами в виде инсталляционных пакетов операционных систем и драйверов специальных устройств.
    Обрабатывающие системные программы выполняются как специальные прикладные задачи, или приложения.
    Эти программы поставляются чаще в виде дистрибутивных пакетов, включающих ПО
    Замечание. В пакеты системных программ помимо основных программ, допускающих реконфигурацию, входят специальные настроечные
    программы, называемые программами инсталляции. МЫ будем создавать и такие программы.
    Другая классификация
    Часто Системное ПО компьютера подразделяют на БАЗОВОЕ и
    СЕРВИСНОЕ программное обеспечение.
    БАЗОВОЕ программное обеспечение (base software) - минимальный набор программных средств, обеспечивающих работу компьютера.
    К базовому программному обеспечению компьютера относятся
     операционные системы и драйверы в составе ОС;
     интерфейсные оболочки для взаимодействия пользователя с ОС
    (операционные оболочки) и программные среды;
     системы управления файлами.

    7
    Что такое ОС и для чего она предназначена мы кратко рассмотрели ранее.
    Системы управления файлами предназначены для организации более удобного доступа к данным, организованным как файлы.
    Вместо низкоуровневого доступа к данным с указанием конкретных физических адресов система управления файлами позволяет использовать логический доступ с указанием имени файла.
    Любая система управления файлами не существует сама по себе - она разработана для работы в конкретной ОС и с конкретной файловой системой.
    То есть можно было бы систему управления файлами отнести к ОС.
    Но в связи с тем, что
    1) ряд ОС позволяет работать с несколькими файловыми системами
    (либо с одной из нескольких, либо сразу с несколькими одновременно); а дополнительную файловую систему можно установить (т.е. они самостоятельны)
    2) простейшие ОС могут работать и без файловых систем;
    системы управления файлами выделяются в отдельную группу
    системных программ.
    Заметим, что часто в специальной литературе системы управления файлами относят все-таки к операционным системам.
    СЕРВИСНОЕ программное обеспечение - программы и программные комплексы, которые расширяют возможности базового программного обеспечения и организуют более удобную среду работы пользователя.
    Это набор сервисных, дополнительно устанавливаемых программ, которые можно классифицировать по функциональному признаку следующим образом:
     драйверы специфических и специальных устройств (те, которые не поставляются в составе ОС).
     программы диагностики работоспособности компьютера;
     антивирусные программы, обеспечивающие защиту компьютера, обнаружение и восстановление зараженных файлов;
     программы обслуживания дисков, обеспечивающие проверку качества поверхности магнитного диска, контроль сохранности файловой системы на логическом и физической уровнях, сжатие дисков, создание страховых копий дисков, резервирование данных на внешних носителях и др.;
     программы архивирования данных, которые обеспечивают процесс сжатия информации в файлах с целью уменьшения объема памяти для ее хранения;
     программы обслуживания сети.
    Эти программы часто называются утилитами. (Заметим, что к антивирусным средствам этот термин обычно не применяется)

    8
    Утилиты - программы, служащие для выполнения вспомогательных операций обработки данных или обслуживания компьютеров (диагностики, тестирования аппаратных и программных средств, оптимизации использования дискового пространства, восстановления разрушенной на магнитном диске информации и т.п.).
    Наибольшее распространение сегодня имеют комплекты утилит:
    Norton Utilities - фирма Symantec; Checkit PRO Deliuxe 2.0 - фирма Touch Stone;
    PC Tools for Windows 2.0; программа резервного копирования HP Colorado
    Backup for Windows 95.
    Отдельно вспомним о такой группе системного ПО как системы
    программирования.
    Это набор специализированных программных продуктов, которые являются инструментальны средствами разработчика. Программные продукты данного класса поддерживают все этапы процесса программирования, отладки и тестирования создаваемых программ.
    Система программирования включает следующие программные компоненты:
     редактор текста;
     компоновщик (редактор связей);
     отладчик;
     библиотеки подпрограмм.
    Заметим, что любая система программирования может работать только в соответствующей ОС, под которую она и создана, однако при этом она может позволять разрабатывать программное обеспечение и под другие ОС.
    Например, одна из популярных систем программирования на языке
    С/С++ от фирмы Watcom для OS/2 позволяет получать программы и для самой
    OS/2, и для DOS, и для Windows.
    Редактор текста - это программа для ввода и модификации текста.
    Трансляторы
    предназначены для преобразования программ, написанных на языках программирования, в программы на машинном языке.
    Программа, подготовленная на каком-либо языке программирования, называется исходным модулем. В качестве входной информации трансляторы применяют исходные модули и формируют в результате своей работы объектные модули, являющиеся входной информацией для редактора связей.
    Объектный модуль содержит текст программы на машинном языке и дополнительную информацию, обеспечивающую настройку модуля по месту его загрузки и объединение этого модуля с другими независимо оттранслированными модулями в единую программу.
    Трансляторы делятся на два класса: компиляторы и интерпретаторы.
    Компиляторы переводят весь исходный модуль на машинный язык.

    9
    Интерпретатор последовательно переводит на машинный язык и выполнят операторы исходного модуля
    (У интерпретаторов два основных недостатка. Первый - низкая скорость работы интерпретируемых программ.)
    Преимущество интерпретатора перед компилятором состоит в том, что программа пользователя имеет одно представление - в виде текста. При компиляции одна и та же программа имеет несколько представлений - в виде текста и в виде выполняемого файла.
    Компоновщик, или редактор связей - системная обрабатывающая программа, редактирующая и объединяющая объектные
    (ранее оттраслированные) модули в единые загрузочные, готовые к выполнению программные модули. Загрузочный модуль может быть помещен ОС в основную память и выполнен.
    Отладчик позволяет управлять процессом исполнения программы, является инструментом для поиска и исправления ошибок в программе.
    Базовый набор функций отладчика включает:
     пошаговое выполнение программы (режим трассировки) с отображением результатов,
     остановка в заранее определенных точках,
     возможность остановки в некотором месте программы при выполнении некоторого условия;
     изображение и изменение значений переменных.
    Загрузчик - системная обрабатывающая программа, объединяющая основные функции редактора связей и программы выборки в одном пункте задания. Загрузчик помещает находящиеся в его входном наборе данных объектные и загрузочные модули в оперативную память, объединяет их в единую программу, корректирует перемещаемые адресные константы с учетом фактического адреса загрузки и передает управление в точку входа созданной программы.
    Средства сетевого доступа обеспечивают обработку, передачу и хранение данных в сети.
    Заметим, что чаще говорят о сетевых операционных системах, которые предоставляют пользователям различные виды сетевых служб (управление файлами, электронная почта, процессы управления сетью и др.)
    Ключом к использованию этих ресурсов является сервер, специальная программа на компьютере, подключенному к сети, которая принимает запросы (или команды) и посылает ответы автоматически.
    Программы, предназначенные для подачи запросов серверу, называются программами-клиентами. Сервер предназначен для их обслуживания. Клиент посылает запросы пользователя на сервер, используя

    1 0 стандартизированный формат, называемый протоколом. Ответ сервера содержит информацию, представленную в виде файла, содержащего данные того или иного формата.
    Постоянно ведется разработка все новых программ-клиентов, предлагающих более удобные способы взаимодействия с сервером.
    Пример. Приложения Mozilla Fire4fox, Internet Explorer, Google Chrome
    - программы- клиенты.
    Таким образом, в системном ПО мы выделили пять групп системных
    программ:
     операционные системы;
     интерфейсные оболочки для взаимодействия пользователя с ОС
    (операционная оболочка) и программные среды;
     системы управления файлами;
     системы программирования;
     утилиты;
     средства сетевого доступа.
    Требования к системному программному обеспечению
    Системные программы должны удовлетворять следующим требованиям:
     прозрачность работы;
     гарантированная надежность выполнения в соответствии со спецификациями;
    (Функциональные требования называются спецификациями)
     максимальная скорость выполнения;
     минимальные затраты на хранение машинных кодов;
     поддержка стандартных средств связи с прикладными программами.
    Эффективность системных программ зависит от времени их создания и надежности исполняемого кода.
    Выводы:
    Требование эффективности системных программ вызывает необходимость использования специальных языков
     машинно-ориентированных типа языка Assembler и
     высокого уровня типа C или C++.
    К типам данных этих языков отнесены указатели на данные различных типов или адреса данных и программных объектов.
    Работа с большинством пакетов для разработки системного программного обеспечения предполагает знание и использование ассемблера для создания модулей и ассемблерных вставок.


    написать администратору сайта