Что относится к базовому программному обеспечению ранних компьютерных систем

Обновлено: 04.07.2024

Под программным обеспечением понимается совокупность программ, выполняемых вычислительной системой [3, 4, 12]. К программному обеспечению относится также вся область деятельности по проектированию и разработке ПО : технология проектирования программ; методы тестирования программ; методы доказательства правильности программ; анализ качества работы программ; документирование программ ; разработка и использование программных средств, облегчающих процесс проектирования программного обеспечения, и многое другое.

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

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

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


Рис. 2.1. Структура и назначение программного обеспечения

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

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

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

Для поддержки информационной технологии в этих областях выделяют соответственно три класса программных продуктов, представленных на рис.2.2:

  • системное программное обеспечение;
  • прикладное программное обеспечение;
  • инструментальное программное обеспечение.

Системное программное обеспечение ( System Software ) – совокупность программ и программных комплексов, предназначенная для обеспечения работы компьютера и сетей ЭВМ. Системное программное обеспечение выполняет следующие задачи:

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

Данный класс программных продуктов тесно связан с типом компьютера и является его неотъемлемой частью. Программные продукты в основном ориентированы на квалифицированных пользователей – профессионалов в компьютерной области: системного программиста, администратора сети, прикладного программиста, оператора. Однако знание базовой технологии работы с этим классом программных продуктов требуется и конечным пользователям персонального компьютера, которые самостоятельно не только работают со своими программами, но и выполняют обслуживание компьютера, программ и данных.

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

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

Установка пакетов прикладных программ на компьютер выполняется системными администраторами, системными программистами, а также (в некоторых случаях) квалифицированными пользователями. Непосредственную эксплуатацию программных продуктов осуществляют, как правило, конечные пользователи – потребители информации, во многих случаях деятельность которых весьма далека от компьютерной области. Данный класс программных продуктов может быть весьма специфичным для отдельных предметных областей.

Инструментарий технологии программирования представляет собой совокупность программ и программных комплексов, обеспечивающих технологию разработки, отладки и внедрения создаваемых программных продуктов [12].

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

2.2. Структура системного программного обеспечения

Системное программное обеспечение (рис.2.3) можно разделить на базовое программное обеспечение , которое, как правило, поставляется вместе с компьютером, и сервисное программное обеспечение , которое может быть приобретено дополнительно.

Базовое программное обеспечение ( base software ) – минимальный набор программных средств, обеспечивающих работу компьютера. Сервисное программное обеспечение включает программы и программные комплексы, которые расширяют возможности базового программного обеспечения и организуют более удобную среду работы пользователя.


Рис. 2.3. Структура системного программного обеспечения

В базовое программное обеспечение входят:

  • операционная система;
  • операционные оболочки (обычно текстовые и графические);
  • сетевая операционная система.

Операционная система предназначена для управления выполнением пользовательских программ, планирования и управления вычислительными ресурсами ЭВМ.

Наиболее традиционное сравнение ОС осуществляется по следующим характеристикам процесса обработки информации:

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

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

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

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

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

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

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

В современных операционных системах такие утилиты могут быть представлены, как, например, в Windows , группами программ "стандартные" и "служебные". В них входит ряд полезных программ: калькулятор, звукозапись, блокнот и др. В группе "служебные" имеется ряд программ, расширяющих возможности операционной системы: очистка и дефрагментация диска, восстановление системы и т.п.

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

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

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

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

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

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

Базовое программное обеспечение

Базовое ПО, или BIOS, представляет собой программу, которая отвечает за управление всеми компонентами, установленными на материнской плате. Фактически BIOS является неотъемлемой составляющей системной платы и поэтому может быть отнесена к особом категории компьютерных компонентов, занимая промежуточное положение между аппаратурой и программным обеспечением.

Аббревиатура BIOS расшифровывается как Basic Input/Output System – базовая система ввода/вывода. Раньше в системе IBM PC основным назначением BIOS была поддержка функций ввода-вывода за счет предоставления ОС интерфейса для взаимодействия с аппаратурой. В последнее время ее назначение и функции значительно расширились.

Второй важной функцией BIOS является процедура тестирования (POST – Power On Self Test) всего установленного на материнской плате оборудования (за исключением дополнительных плат расширения), проводимая после каждого включения компьютера. В процедуру тестирования входят:

¾ проверка работоспособности системы управления электропитанием;

¾ инициализация системных ресурсов и регистров микросхем;

¾ тестирование оперативной памяти;

¾ инициализация контроллеров, определение и подключение жестких дисков.

В процессе инициализации и тестирования оборудования BIOS сравнивает данные системной конфигурации с информацией, хранящейся в CMOS – специальной энергозависимой памяти, расположенной на системной плате. Хранение данных в CMOS поддерживается специальной батарейкой, а информация обновляется всякий раз при изменении каких-либо настроек BIOS. Таким образом, именно эта память хранит последние сведения о системных компонентах, текущую дату и время, а также пароль на вход в BIOS или загрузку операционной системы (если он установлен). При выходе из строя, повреждении или удалении батарейки все данные в CMOS-памяти обнуляются.

Третьей важной функцией, которую BIOS выполняет со времен IBM PC, является начальная загрузка ОС. Современные BIOS позволяют загружать операционную систему не только с гибкого или жесткого диска, но и с приводов CD-ROM, ZIP, LS-120, SCSI-контроллеров. Определив тип устройства загрузки, BIOS приступает к поиску программы – загрузчика ОС на носителе или переадресует запрос на загрузку на BIOS другого устройства. Когда ответ получен, программа загрузки помешается в оперативную память, откуда и происходит загрузка системной конфигурации и драйверов устройств операционной системы.

С появлением процессоров Pentium BIOS стала выполнять еще одну функцию – управление потребляемой мощностью, а с появлением материнских плат форм-фактора (стандартизированный размер) ATX (Advanced Technology extended – расширенная продвинутая технология) – и функцию включения и выключения источника питания в соответствии со спецификацией ACPI (Advanced Configuration and Power Interface — продвинутый интерфейс конфигурирования и управления потребляемой мощностью). Существует также спецификация АРМ (Advanced Power Management — продвинутое управление потребляемой мощностью). Отличие их состоит в том, что ACPI выполняется в основном средствами ОС, а АРМ — средствами BIOS.

Фирм, занимающихся разработкой программного обеспечения для BIOS, очень мало. Из наиболее известных можно выделить три: Award Software (Award BIOS)? American Megatrends, Inc. (AMI BIOS) и Microid Research (MR BIOS). Но на подавляющем большинстве компьютеров сегодня применяются различные версии BIOS компании Award Software.

Физически BIOS находится в энергонезависимой перепрограммируемой флэш-памяти, которая вставляется в специальную колодку на материнской плате (на этой микросхеме есть яркая голографическая наклейка с логотипом фирмы – разработчика ПО для BIOS).

3.2.1. Назначение операционной системы


Место операционной системы в структуре аппаратно-программных средств (АПС) компьютера показано на рис. 1. Нижний уровень структуры составляют интегральные микросхемы, источники питания, дисководы и другие физические устройства.

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

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

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

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

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

И, наконец, над системными программами (рис. 1) расположены прикладные программы. Обычно они покупаются или пишутся пользователем для решения собственных задач – обработки текста, работы с графикой, технических расчетов или создания системы управления базой данных.

Операционные системы выполняют две основные функции – расширение возможностей машины и управление ее ресурсами.

Как уже упоминалось, архитектура (система команд, организация памяти, ввод/вывод данных и структура шин) компьютера на уровне машинного языка неудобна для работы с программами, особенно при вводе/выводе данных. Так, процедура ввода/вывода данных с гибкого диска выполняется через микросхемы контроллера, используемого на большинстве ПК. Контроллер имеет 16 команд. Каждая задается передачей от 1 до 9 байт в регистр устройства. Это команды чтения и записи данных, перемещения головки диска, форматирования дорожек, инициализации, распознавания, установки в исходное положение и калибровки контроллера и приводов. Основные команды read и write (чтение и запись). Каждая из них требует 13 параметров, которые определяют адрес блока на диске, количество секторов на дорожке, физический режим записи, расстановку промежутков между секторами. Программист при работе с гибким диском должен также постоянно знать, включен двигатель или нет. Если двигатель выключен, его следует включить прежде, чем данные будут прочитаны или записаны. Двигатель не может оставаться включенным слишком долго, так как гибкий диск изнашивается. Поэтому программист вынужден выбирать между длинными задержками во время загрузки и изнашивающимися гибкими дисками.

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

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

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

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

Виды операционных систем

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

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

Уровнем ниже находятся серверные ОС. Серверы представляют собой или очень большие персональные компьютеры, или даже мэйнфреймы. Эти ОС одновременно обслуживают множество пользователей и позволяют им делить между собой программно-аппаратные ресурсы. Серверы также предоставляют возможность работы с печатающими устройствами, файлами или Internet. У Internet-провайдеров обычно работают несколько серверов для того, чтобы поддерживать одновременный доступ к сети множества клиентов. На серверах хранятся страницы web-сайтов и обрабатываются входящие запросы. UNIX и Windows 2000 являются типичными серверными ОС. Теперь для этой цели стала использоваться и операционная система Linux.

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

Следующую категорию составляют ОС для персональных компьютеров. Их работа заключается в предоставлении удобного интерфейса для одного пользователя. Такие системы широко используются в повседневной работе. Основными ОС в этой категории являются Windows 98, Windows 2000, операционная система компьютера Macintosh и Linux.

Еще один вид ОС – это системы реального времени. Главным параметром таких систем является время. Например, в системах управления производством компьютеры, работающие в режиме реального времени, собирают данные о промышленном процессе и используют их для управления оборудованием. Такие процессы должны удовлетворять жестким временным требованиям. Если, например, по конвейеру передвигается автомобиль, то каждое действие должно быть осуществлено в строго определенный момент времени. Если сварочный робот сварит шов слишком рано или слишком поздно, то нанесет непоправимый вред изделию. Системы VxWorks и QNX являются операционными системами реального времени.

Встроенные операционные системыиспользуются в карманных компьютерах и бытовой технике. Карманный компьютер — это маленький компьютер, помещающийся в кармане и выполняющий небольшой набор функций, например, телефонной книжки и блокнота. Встроенные системы, управляющие работой устройств бытовой техники, не считаются компьютерами, но обладают теми же характеристиками, что и системы реального времени, и при этом имеют, особые размер, память и ограничения мощности, что выделяет их в отдельный класс. Примерами таких операционных систем являются PalmOS и Windows СЕ (Consumer Electronics – бытовая техника).

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

Статьи к прочтению:

Операционные системы, урок 1: Что такое компьютер и операционная система


Похожие статьи:

Необходимость во внешних устройствах хранения данных возникает в двух случаях:

• когда на вычислительной системе обрабатывается больше данных, чем можно разместить на базовом жестком диске;

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

В настоящее время для внешнего хранения данных используют несколько типов устройств на основе магнитных или магнитооптических носителей, например, стриммеры – это накопители на магнитной ленте, ZIP-накопители, накопители JAZ (По своим характеристикам JAZ-носитель приближается к жестким дискам, но в отличие от них является сменным.).

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

Программное обеспечение – совокупность программ, обрабатывающих данные и управляющих работой ЭВМ.

Данные – это информация, представленная в форме, пригодной для ее передачи и обработки с помощью компьютера.

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

Команда – это элементарная инструкция, предписывающая компьютеру выполнить ту или иную операцию.

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

В зависимости от назначения все программное обеспечение (ПО) принято разделять на три основных класса (рис. 6.1):

а) системное программное обеспечение – совокупность программ и программных комплексов для обеспечения работы компьютера и сетей ЭВМ;

б) прикладное программное обеспечение (пакеты прикладных программ) – комплекс взаимосвязанных программ для решения задач в конкретной предметной области;

в) инструментальное программное обеспечение – совокупность программ и программных комплексов для разработки, отладки и внедрения создаваемых программных продуктов.

Рис. 6.1. Классификация программного обеспечения

Системное программное обеспечение предназначено для:

· обеспечения надежной и эффективной работы компьютера и вычислительной сети;

· создания операционной среды функционирования других программ;

· проведения диагностики и профилактики аппаратуры компьютера и вычислительных сетей;

· выполнения вспомогательных технологических операций (копирования, архивирования, восстановления файлов программ и баз данных и т. д.).

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

Базовое программное обеспечение – минимальный набор программных средств, обеспечивающих работу компьютера.

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

Сервисное программное обеспечение включает программы:

· диагностики работоспособности компьютера;




· обслуживания дисков и архивирования данных;

· антивирусные и др.

Компонентами базового ПО являются операционные системы, драйверы и операционные оболочки.

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

Операционная система состоит из:

· ядра, обеспечивающего важнейшие функции ОС (распределение памяти, запуск процессов и др.);

· набора драйверов (модули, управляющие каким-то определенным периферийным устройством, например, драйвер принтера или драйвер сетевой карты);

· комплекта прикладных программ (например, простейший текстовый и графический редактор).

Основными функциями ОС являются:

· загрузка программ в оперативную память и управление ходом их выполнения;

· обеспечение операций по обмену данными между выполняющейся программой и внешними устройствами;

· обслуживание нестандартных ситуаций в ходе выполнения программы;

· удаление выполненной программы из оперативной памяти и освобождение места для загрузки новой программы;

· организация хранения и поиска программ и данных на внешних носителях;

· организация взаимодействия пользователя и операционной системы – прием и выполнение команд пользователя;

· выполнение различных вспомогательных (сервисных) функций, таких как форматирование дисковых устройств, копирование информации с одного дискового устройства на другое и некоторые другие.

В настоящее время наибольшее распространение имеют следующие операционные системы:

· MS DOS (Microsoft Disk Operation System) – выпускается фирмой Microsoft с 1981 г.; она работает в текстовом режиме; известны также ее разновидности от других фирм-разработчиков: DR DOS, PC DOS;

· OS/2 – разрабатывается фирмой IBM;

· Unix – создана корпорацией Bell Laboratory;

· МасОС – выпускается фирмой Apple для компьютеров типа Macintosh;

· NetWare – сетевая операционная система, выпускается фирмой Novell;

· Windows 95/98/NT/2000/XP/2003 – разрабатываются фирмой Microsoft.

Операционная система MS DOS в настоящее время установлена на подавляющем большинстве персональных компьютеров. Сравнение системы MS DOS с широко используемыми в настоящее время операционными системами, например Windows, позволяет отметить следующие недостатки MS DOS (и DOS-приложений):

· отсутствие стандартов в интерфейсе;

· однозадачный режим работы;

· неэффективное использование оперативной памяти;

· зависимость прикладных программ от характеристик внешних устройств;

· необходимость текстового ввода команд.

Изначально система MS DOS разрабатывалась в однозадачном текстовом режиме и предусматривала ввод команд в виде текста в командной строке, что вызывало затруднения у многих пользователей.

Многочисленные приложения, разработанные в системе MS DOS (DOS-приложения), имеют разнородный интерфейс без каких-либо стандартов. Использование каждой DOS-программы или приложения требует от пользователя первоначального (иногда непростого) освоения приемов работы с этой программой.

Появление операционной оболочки Norton Commander (NC) существенно упростило использование MS DOS.

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

Большинство приложений MS DOS, кроме тех, в которых использованы какие-либо экзотические методы управления памятью или другие ухищрения, нормально работает под управлением Windows. Однако эти приложения в общем случае не могут пользоваться преимуществами Windows и работают медленнее, чем непосредственно под управлением MS DOS.

Различают однозадачные, многозадачные и многопользовательские системы.

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

Многозадачные ОС позволяют имитировать одновременное выполнение нескольких программ (задач), одна из которых называется активной, остальные – фоновыми. На самом деле, поскольку один процессор не может выполнять в один и тот же момент более одной команды, программы в такой системе выполняются не параллельно, а последовательно. Процессор выполняет небольшие фрагменты запущенных программ поочередно, переключаясь между ними несколько десятков раз в секунду. Время, отведенное для выполнения каждого фрагмента задачи, называется квантом. Поскольку каждая выполняющаяся программа занимает часть ресурсов системы, производительность программы в многозадачной системе обычно ниже, чем она была бы в однозадачной. Количество одновременно выполняющихся задач ограничивается объемом памяти и производительностью системы. Более существенно для пользователя, что для запуска новой программы нет необходимости завершать остальные и можно работать параллельно с несколькими программами (например, с текстовым ре-дактором и электронной таблицей). Многозадачными является большинство современных ОС для ПК, например, MS Windows различных версий, OS/2, Mac OS и др.

Многопользовательские ОС появились исторически раньше других типов ОС. Они были предназначены для работы на мини- и суперкомпьютерах одновременно большого числа программ различных пользователей. В настоящее время многопользовательские ОС широко используются на серверах в информационных сетях. К этому типу ОС относится большинство операционных систем, например, Unix, Linux, Solaris и их многочисленные аналоги.

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

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

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

· Norton Commander фирмы Symantic;

· Windows 3.11 – графическая оболочка фирмы Microsoft, которая кардинально изменила среду взаимодействия пользователя с компьютером, расширила набор основных и сервисных функций, обеспечила возможность использования интегрированных пакетов прикладных программ и т. п.

Для Windows 95 и последующих версий этой ОС разработаны несколько оболочек, аналогичных Norton Commander, например Windows Commander, DISCo Commander, созданная российской фирмой DISCo.

Драйверы – специальные программы, управляющие устройствами ввода-вывода и оперативной памятью, обеспечивающие подключение новых внешних устройств и нестандартное использование уже имеющихся (драйверы видеокарты, графического ускорителя, CD-ROM, клавиатуры, мыши, модема, сетевой карты и т.д.). Большинство ОС содержат в комплекте поставки многие драйверы, и программа установки ОС инсталлирует те драйверы, которые нужны для поддержки устройств и функций ОС, указанных пользователем. Драйверы для различных ОС часто появляются вместе с новыми устройствами или контроллерами.

Расширением базового ПО компьютера является набор сервисных, дополнительно устанавливаемых программ (утилитов), обеспечивающих обслуживание составных частей ПК и специальных задач. Чаще всего используются следующие типы программ-утилит:

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

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

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

русификаторы, приспосабливающие другие программы (обычно ОС) для работы с русскими буквами;

• для диагностики компьютера, проверяющие конфигурацию ПК с для выявления дефектов дисков и предотвращения потерь данных, хранящихся на дисках;

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

• программы ограничения доступа, позволяющие защитить хранящиеся на компьютере данные от нежелательных пользователей;

• программы удаления приложений, обеспечивающие корректное удаление комплексов программ.

Почепский Олег

Даже если нам кажется, что ПК намного умнее нас, он остается безжизненным «железом», пока в него не установят программы. Именно благодаря им техника начинает считать, думать и помогать в работе с любыми массивами данных. В статье мы кратко перечислим основные виды системного программного обеспечения для компьютеров и дадим каждому типу характеристику.

виды программного обеспечения

Понятие

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

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

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

Оборудование

Какие бывают типы программного обеспечения: характеристика программ

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

Однако ничего не активизируется просто так. Все действует под влиянием операционной системы. Кажется, что ОС совершенно не нужна — можно ведь запускать все напрямую. Иногда этот метод тоже применяется. Так работают станки ЧПУ, крупные автоматы производств, ЭВМ, другие серьезные механизмы, когда нужно постоянно повторять один и тот же алгоритм.

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

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

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

Какие основные виды ПО бывают по назначению

Программное обеспечение, установленное на ПК, делится на 3 разновидности:

  • прикладное;
  • системное;
  • инструментальное.

виды программного обеспечения компьютеров

Системное

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

Таким ПО считается:

  • Драйверы — утилиты небольшого размера, функционирование которых заключается в обеспечении корректной работы остальных элементов оборудования;
  • ОС;
  • Дополнения — языковые пакеты или настройки расширения экрана.

Основное отличие системной разновидности считается то, что она не рассчитана на выполнение конкретной поставленной задачи. Она необходима, чтобы обеспечивать бесперебойную работу остальных частей компьютера. Ее можно назвать посредником между оборудованием — «железом» и программным кодом.

Прикладное

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

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

Инструментальное

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

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

Постоянно пользоваться этим кодом базовым пользователям довольно сложно, поэтому были разработаны системы, которые позволяют переводить обычную речь в двоичную, привычную для ПК.

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

Читайте также: