Скорость считывания информации с магнитной ленты в стримерах также невысока и обычно составляет около 100 кбайт/с. НКМЛ могут использовать локальные интерфейсы SCSI.
Лекция 3. Программное обеспечение ПЭВМ
3.1 Общая характеристика и состав программного
обеспечения
3.1.1 Состав и назначение программного обеспечения
Процесс взаимодействия человека с компьютером организуется устройством управления в соответствии с той программой, которую пользователь разработал и ввел в память компьютера. На начальном этапе развития вычислительной техники это так и было. Пользователь представлял свои программы на машинном языке в виде двоичных кодов, а устройство управления в зависимости от их содержания подключало нужные электронные цепи и схемы.
По мере усложнения задач и повышения требований к параметрам ЭВМ появилась потребность в более гибком органе управления, чем существующее электронное устройство управления. И такой орган был найден. Так называемые системные управляющие программы благодаря своей гибкости взяли на себя большую часть функций устройства управления по организации процесса обработки информации на компьютере, оставив ему прежние полномочия в рамках возможностей соответствующих электронных схем.
Для примера рассмотрим некоторые режимы, которые должны организовать управляющие программы независимо от назначения программ пользователя. В режиме разделения времени необходимо организовать работу так, чтобы одновременно работали разные устройства и несколько пользователей. Режим реального времени потребовал от компьютера мгновенной реакции на поступающие в ходе технологического процесса внешние прерывания. Разные функции ЭВМ определяют специфику работы устройств управления, но уже не как электронного устройства, а как некоего органа, состоящего из программной и электронной частей.
Такой важный момент, как создание ''дружественной'' среды общения человека и компьютера, тоже заслуга целого комплекса специально разработанных программ, которые обеспечивают, с одной стороны, управление процессом обработки информации в самом компьютере, а с другой – необходимый сервис для работы пользователя. Процесс составления программ любой сложности на символическом языке, близком к математическим и логическим выражениям, тоже стал возможным только тогда, когда была создана специальная система программирования, состоящая из взаимосвязанных отдельных программ.
Таким образом создание компьютера – только первый шаг на пути компьютеризации общества. Перед математиками и программистами стоит задача разработать комплекс разнообразных и взаимосвязанных по своим функциям программ, так называемое программное обеспечение.
Программное обеспечение – это совокупность программ, позволяющих организовать решение задач пользователя на компьютере.
До недавнего времени программное обеспечение отождествляли с понятием математического обеспечения.
Математическое обеспечение – это математические методы, алгоритмы, обеспечивающие решение поставленной задачи.
Программное обеспечение является составной частью компьютера, и некоторая его часть поставляется вместе с технической аппаратурой.
3.1.1.1 Классификация программного обеспечения
Программные продукты можно классифицировать по различным признакам. Рассмотрим классификацию, в которой основополагающим признаком является сфера (область) использования программных продуктов.
Для поддержки информационной технологии в этих областях выделим соответственно три класса программных продуктов (рис. 3.1):
− системное программное обеспечение;
− пакеты прикладных программ;
− инструментарий технологии программирования.
Системное программное обеспечение (System Software) – совокупность программ и программных комплексов для обеспечения работы компьютера и сетей ЭВМ, направленное:
- на создание операционной среды функционирования других программ;
- обеспечение надежной и эффективной работы самого компьютера и вычислительной сети;
- проведение диагностики и профилактики аппаратуры компьютера и вычислительных сетей;
- выполнение вспомогательных технологических процессов (копирование, архивирование, восстановление файлов программ и баз данных и т. д.).
Рис. 3.1. Классификация программного обеспечения по сфере
Использования
Данный класс программных продуктов тесно связан с типом компьютера и является его неотъемлемой частью. Программные продукты ориентированы в основном на квалифицированных пользователей – профессионалов в компьютерной области: системных программистов, администраторов сети, прикладных программистов, операторов. Однако знание базовой технологии работы с этим классом программных продуктов требуется и конечным пользователям персонального компьютера, которые самостоятельно не только работают со своими программами, но и выполняют обслуживание компьютеров, программ и данных.
Программные продукты данного класса носят общий характер применения независимо от специфики предметной области. К ним предъявляются высокие требования по надежности и технологичности работы, удобству и эффективности использования.
Пакет прикладных программ (application program package) – это комплекс взаимосвязанных программ для решения задач определенного класса конкретной предметной области; служит программным инструментарием решения функциональных задач и является самым многочисленным классом программных продуктов, выполняющих обработку информации различных предметных областей.
Установка программных продуктов на компьютер выполняется квалифицированными пользователями, а непосредственную их эксплуатацию осуществляют, как правило, конечные пользователи – потребители информации, деятельность которых во многих случаях весьма далека от компьютерной области. Данный класс программных продуктов может быть весьма специфичными для отдельных предметных областей.
Инструментарий технологии программирования – совокупность программ и программных комплексов, обеспечивающих технологию разработки, отладки и внедрения создаваемых программных продуктов:
Транслятор – это комплекс программ, обеспечивающих перевод программы, написанной на символическом языке, в совокупность машинных команд. В зависимости от функционального назначения транслятор может быть компилятором, интерпретатором, ассемблером или языковым процессором.
Компилятор – это транслятор, выполняющий перевод программы, написанной на алгоритмическом языке, в совокупность машинных команд без ее выполнения на компьютере.
Интерпретатор – транслятор, производящий перевод каждой конструкции алгоритмического языка в машинные команды и одновременное выполнение этих конструкций в компьютере.
Ассемблер – транслятор, переводит программы, записанные на машинно-ориентированном языке ассемблера в машинные коды.
Языковый процессор – это транслятор, объединяющий в себе функции компиляции, интерпретации и ассемблирования.
К категории инструментальных средств относятся не только трансляторы с языков высокого уровня, но и загрузчики, отладчики, иные системные программы.
Инструментарий технологии программирования обеспечивает процесс разработки программ и включает специализированные программные продукты, которые являются инструментальными средствами разработчика. Программные продукты данного класса поддерживают все технологические этапы процесса проектирования, программирования, отладки и тестирования программ. Пользователями технологии программирования являются системные и прикладные программисты.
3.1.2 Система программирования
Даже при наличии десятков тысяч программ IBM PC пользователям может потребоваться что-то такое, чего не делают (или делают, но не так) имеющиеся программы. В таких случаях следует использовать системы программирования, т. е. системы для разработки новых программ. Современные системы программирования для персональных компьютеров обычно представляют собой весьма мощные и удобные средства для разработки программ, в них входят:
- компьютер, осуществляющий электронное преобразование программ на языке программирования в программу в машинных кодах;
- библиотеки программ, содержащие заранее подготовленные подпрограммы, которыми могут пользоваться программисты;
- различные вспомогательные программы, например, отладчики, программы для получения перекрестных ссылок и др.
3.1.2.1 Языки программирования
Под языком понимают определенный набор символов и правил (соглашений), устанавливающих способы комбинации этих символов для записи осмысленных сообщений (текстов).
Все языки делят на естественные и искусственные.
Искусственный язык, предназначенный для записи программ, называется языком программирования.
В мире насчитывается несколько сотен символических языков программирования различных структур и возможностей. Но все их можно разделить на две большие группы: машинно-ориентированные и алгоритмические (рис. 3.2).
Рис. 3.2. Классификация языков программирования
Машинный язык представляет собой программу в машинных кодах. Например, машинный код для выполнения сложения C = A + B:
0011 10011010 10001001 10110011
операция адрес адрес адрес