Программное обеспечение, его структура. Использованная литература Что такое структура программного обеспечения

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

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

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

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

· операционная система;

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

· сетевая операционная система.

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

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

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

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

· наличие компрессии диска;

· возможность архивирования файлов;

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

· поддержка сетевого программного обеспечения;

· наличие качественной документации;

· условия и сложность процесса инсталляции;

· мобильность (переносимость), безопасность, надежность и др.

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

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



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

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

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

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

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

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

· программы обслуживания сети.

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

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

12.Средство для созданий приложений.

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

Язык программирования – формализованный язык для описания алгоритма решения задачи на компьютере.

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

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

§ машинные языки (computer language) – языки программирования, воспринимаемые аппаратной частью компьютера (машинные коды);

§ машинно-ориентированные языки (computer-oriented language) – языки программирования, которые отражают структуру конкретного типа компьютера (ассемблеры);

§ алгоритмические языки (algorithmic language) – не зависящие от архитектуры компьютера языки программирования для отражения структуры алгоритма (Паскаль, Фортран, Бейсик и др.);

§ процедурно-ориентированные языки (procedure-oriented language) – языки программирования, где имеется возможность описания программы как совокупности процедур (подпрограмм);

§ проблемно-ориентированные языки (universal programming language) – языки программирования, предназначенные для решения задач определенного класса (Лисп, РПГ, Симула и др.);

§ интегрированные системы программирования.

Другой классификацией языков программирования является их деление на языки, ориентированные на реализацию основ структурного программирования, и объектно-ориентированные языки, поддерживающие понятие объектов и их свойств и методов обработки. Более подробно об этом делении см. гл. 18 и 19.

Программа, подготовленная на языке программирования, проходит этап трансляции, когда происходит преобразование исходного кода программы (source code) в объектный код (object code), который далее пригоден к обработке редактором связей. Редактор связей – специальная программа, обеспечивающая построение загрузочного модуля (load module), пригодного к выполнению (рис. 8.12).

Рис. 8.12. Схема процесса создания загрузочного модуля программы

Трансляция может выполняться с использованием средств компиляторов (compiler) или интерпретаторов (interpreter). Компиляторы транслируют всю программу, но без ее выполнения. Интерпретаторы, в отличие от компиляторов, выполняют пооператорную обработку и выполнение программы.

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

Системы программирования (programming system) включают:

§ компилятор;

§ интегрированную среду разработчика программ;

§ отладчик;

§ средства оптимизации кода программ;

§ набор библиотек (возможно с исходными текстами программ);

§ редактор связей;

§ сервисные средства (утилиты) для работы с библиотеками, текстовыми и двоичными файлами;

§ справочные системы;

§ документатор исходного кода программы;

§ систему поддержки и управления проектом программного комплекса.

Средства поддержки проектов – новый класс программного обеспечения, предназначен для:

§ отслеживания изменений, выполненных разработчиками программ;

§ поддержки версий программы с автоматической разноской изменений;

§ получения статистики о ходе работ проекта.

Инструментальная среда пользователя представлена специальными средствами, встроенными в пакеты прикладных программ, такими, как:

§ библиотека функций, процедур, объектов и методов обработки;

§ макрокоманды;

§ клавишные макросы;

§ языковые макросы;

§ программные модули-вставки;

§ конструкторы экранных форм и отчетов;

§ генераторы приложений;

§ языки запросов высокого уровня;

§ языки манипулирования данными;

§ конструкторы меню и многое другое.

Более подробно эти средства рассмотрены в гл. 19.

Средства отладки и тестирования программ предназначены для подготовки разработанной программы к промышленной эксплуатации.

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

13. Прикладное ПО.

Прикладное ПО - совокупность программ для решения прикладных задач (задач пользователя).

Прикладное ПО входит в состав программного обеспечения компьютера.

Классификация прикладного ПО:

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

№п\п Виды прикладного ПО общего назначения Назначение Примеры программ
Текстовые редакторы для создания и редактирования текста, без какого-либо оформления Notepad или Блокнот (входит в ОС MS Windows),TextPad
Текстовые процессоры для создания и редактирования текста с оформлением (задание шрифта, размера, цвета текста, выравнивания и др.) и с внедрением таблиц, графиков и формул MS Word, WordPad (входит в ОС MS Windows)
Электронные таблицы для обработки данных в табличной форме MS Excel
Графические редакторы: для создания и редактирования изображений
- растровые для работы с растровыми изображениями MS Paint (входит в ОС MS Windows), Adobe Photoshop
-векторные для работы с векотрными изображениями CorelDRAW, Adobe Illustrator
"Просмотрщики" для просмотра файлов универсальных форматов
5.1 "Просмотрщики" изображений для просмотра изображений CDSee, FastStone Image Viewer, FastPictureViewer
5.2 "Просмотрщики" HTML-страниц (браузеры, веб-обозреватели) для просмотра страниц веб-сайтов MS Internet Explorer, Mozila Firefox, Google Chrome, Opera, Safari
5.3 "Просмотрщики"медиа контента (медиаплееры, медиапроигрыватели): для воспроизведения медиа контента
-аудиоплееры для воспроизведения аудиофайлов AIMP, Foobar2000, Spider player,MusicBee, Media Monkey
-мультимедиа-центры для воспроизведения видео- и аудиофайлов Windows Media Player (WMP, входит в ОС MS Windows), QuickTime Player(входит в ОС Mac OS X), Winamp, VLC media player, Media Player Classic
5.4 "Просмотрщики" flash-контента (Flash-плееры) для воспроизведения видео и аудиофайлов на веб-сайтах, для игр он-лайн Adobe Flash Player
5.5 "Просмотрщик" pdf-файлов для просмотра и печати pdf-файлов Adobe Reader
Системы управления базами данных (СУБД) настольные (файл-серверные) для управления созданием и работой с базами данных MS Access, Paradox
Компьютерные игры для развлечения или обучения 3D-шутер,"Кот Леопольд. Учим английский язык"
Переводчики
-электронные словари для перевода отдельных слов ABBYY Lingvo, МультиЛекс
-переводчики текстов для перевода текста ПРОМТ

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

№п\п Виды прикладного ПО специального назначения Назначение Пользователи Примеры программ
Настольные издательские системы для электронной верстки газет, журналов, книг, буклетов (составление страниц определенного размера из текста и иллюстраций для получения печатной формы) работники типографий, редакций журналов и газет, издательств, а также работники рекламных агентств QuarkXPress, Adobe InDesign, Adobe FrameMaker, Corel Ventura, MS Publisher
Электронные энциклопедии, учебники, словари, справочники для получения знаний в определенной сфере школьники, студенты, научные работники, специалисты различных сфер "Энциклопедия современной техники. Сстроительство", "Справочник мастера-строителя", "Музыкальный словарь", интерактивный мультимедиа учебник "Органическая химия"
Системы автоматизированного перевода (CAT-программы) для перевода профессиональных текстов с использованием баз знаний предметных областей профессиональные переводчики Trados, Deja Vu, Star Transit
Серверные СУБД (клиент-серверные) для управления созданием и работой с базами данных информационных систем администраторы баз данных mySQL, MS SQL Server, Sybase Adaptive Server Enteprise, Oracle Database
Редакторы трехмерной (3D) графики для создания и редактирования трехмерной графики художники 3D Autodesk 3ds Max(ранее 3D Studio MAX), Autodesk Maya, Blender, Cinema 4D, ZBrush
Видеоредакторы (системы видеомонтажа): для обработки видеоматериала
-профессиональные для монтажа фильмов, телепередач работники кинематографа и телевидения Adobe Premiere Pro, Grass Valley Ediu, Sony Vegas Pro
-"домашние" для монтажа "домашних" фильмов непрофессионалы Windows Movie Maker (входит в ОС MS Windows), Corel VideoStudio Pro, Pinnacle Studio
Аудиоредакторы (системы аудиомонтажа) для обработки аудиоматериала
-профессиональные для записи музыкальных композиций, подготовки фонограмм для радио, озвучивания фильмов, компьютерных игр, реставрации старых фонограмм звукорежиссеры на радио, звукозаписывающих студиях, в киноиндустрии Adobe Audition, Steinberg WaveLab, Sony Sound Forge. Audacity
-"домашние" для записи любительских музыкальных композиций, для создания собственных рингтонов для мобильных телефонов и др. непрофессионалы CyberPower Audio Editing Lab, Akram Audio Editor
Нотные редакторы для создания и редактирования нотного текста с оформлением, а также для проигрывания набранного текста работники музыкальных издательств, музыкальных учебных заведений, музыкальных театров, филармоний; композиторы, аранжировщики, дирижеры Finale, Encore, Cakewalk Overture, Sibelius,MuseScore
Экспертные системы для решения задач некоторых предметных областей (заменяет специалиста-эксперта) работники, занимающиеся диагностикой, конструированием, планированием, управлением Медицина:MYCIN; военное дело:ACES; электроника:ACE; информатика: CODES, химия: DENDRAL; геология:PROSPECTOR торговля: РЕМОРАМА
Системы автоматизированного проектирования (САПР, CAD/CAM/CAE) для разработки на компьютере чертежей, схем, 3D-моделей, конструкторской и технологической документации инженеры-конструкторы, архитекторы Компас, AutoCAD, ZwCAD, nanoCAD Электро, BtoCAD, Стройэкспертиза BASE
Геоинформационные системы (ГИС):
-универсальные и специализированные для создания, редактирования и анализа электронных географических карт, для поиска информации об объектах карты: городах, дорогах, зданиях, улицах, реках, рельефе, среднегодовой температуре ГИС-специалисты, ГИС - операторы, инженеры-картографы, геологи, геодезисты, гидрологи,метеорологи MapInfo, CREDO_DAT, ArcGIS, Arcview, GeoServer, GRASS, gvSIG, Арго, Полигон, Панорама, ГИС Метео
-информационно-справочные -для просмотра карт города и окрестностей, для поиска организаций, маршрутов транспорта, поиска проезда по городу непрофессионалы 2ГИС
общие системы для различных предприятий и организаций:
-интегрированные системы делопроизводства для поддержки полного цикла документа в организации: создание документов (документирование), организация движения и учёта документов (документооборот), хранение документов (архивное дело) делопроизводители (работники, которые отвечают за ведение документации организации) Дело, LanDocs, Золушка, Гран-Док
-бухгалтерские системы для ведения бухгалтерского и налогового учета бухгалтеры 1С:Бухгалтерия
-финансовые аналитические системы для ведения аналитического учета финансово-хозяйственной деятельности организации (систематизация информации, расчет аналитических показателей и формирование отчетов) финансовые аналитики Альт – Финансы, Audit Expert, ИНЭК – Аналитик, ФинЭкАнализ, модуль для MS Office Excel "Excel Financial Analysis"

14.Процедурное программирование.

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

Процедурное программирование является отражением архитектуры традиционных ЭВМ, которая была предложена Фон Нейманом в 1940-х годах. Теоретической моделью процедурного программирования служит абстрактная вычислительная система под названием машина Тьюринга.

Основные сведения

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

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

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

Рисунок 1. Классификация ПО

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

    прикладное ПО, обеспечивающее выполнение необходимых работ на ПК: редактирование текстовых документов, создание рисунков или картинок, обработка информационных массивов и т.д.

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

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

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

    операционные системы (эта программа загружается в ОЗУ при включении компьютера)

    программы – оболочки (обеспечивают более удобный и наглядный способ общения с компьютером, чем с помощью командной строки DOS, например, Norton Commander)

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

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

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

К утилитам относятся:

    диспетчеры файлов или файловые менеджеры

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

    средства просмотра и воспроизведения

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

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

    средства обеспечения компьютерной безопасности (резервное копирование, антивирусное ПО).

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

Иногда утилиты относят к классу сервисного программного обеспечения

Утилиты используются для:

    Мониторинга показателей датчиков и производительности оборудования - мониторинг температур процессора, видеоадаптера; чтение S.M.A.R.T. жёстких дисков;

    Управления параметрами оборудования - ограничение максимальной скорости вращения CD-привода; изменение скорости вращения вентиляторов.

    Контроля показателей - проверка ссылочной целостности; правильности записи данных.

    Расширения возможностей - форматирование и/или переразметка диска с сохранением данных, удаление без возможности восстановления.

Типы утилит:

Дисковые утилиты

      Дефрагментаторы

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

      Очистка диска - удаление временных файлов, ненужных файлов, чистка «корзины».

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

      Резервное копирование - создание резервных копий целых дисков и отдельных файлов, а также восстановление из этих копий.

      Сжатие дисков - сжатие информации на дисках для увеличения вместимости жёстких дисков.

      • Утилиты работы с реестром

        Утилиты мониторинга оборудования

        Тесты оборудования

Рисунок 2. Место СПО в многоуровневой структуре компьютера

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

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

    Комплект офисных приложений MS OFFICE

    Бухгалтерские системы

    Финансовые аналитические системы

    Интегрированные пакеты делопроизводства

    CAD – системы (системы автоматизированного проектирования)

    Редакторы HTML или Web – редакторы

    Браузеры – средства просмотра Web - страниц

    Графические редакторы

    Экспертные системы.

          Инструментальное ПО. Инструментальное ПО или системы программирования - это системы для автоматизации разработки новых программ на языке программирования. В самом общем случае для создания программы на выбранном языке программирования (языке системного программирования) нужно иметь следующие компоненты:1. Текстовый редактор для создания файла с исходным текстом программы. 2. Компилятор или интерпретатор. Исходный текст с помощью программы-компилятора переводится в промежуточный объектный код. Исходный текст большой программы состоит из нескольких модулей (файлов с исходными текстами). Каждый модуль компилируется в отдельный файл с объектным кодом, которые затем надо объединить в одно целое.3. Редактор связей или сборщик, который выполняет связывание объектных модулей и формирует на выходе работоспособное приложение – исполнимый код. Исполнимый код – это законченная программа, которую можно запустить на любом компьютере, где установлена операционная система, для которой эта программа создавалась. Как правило, итоговый файл имеет расширение.ЕХЕ или.СОМ.4. В последнее время получили распространение визуальный методы программирования (с помощью языков описания сценариев), ориентированные на создание Windows-приложений. Этот процесс автоматизирован в средах быстрого проектирования. При этом используются готовые визуальные компоненты, которые настраиваются с помощью специальных редакторов. Наиболее популярные редакторы (системы программирования программ с использованием визуальных средств) визуального проектирования:

    Borland Delphi - предназначен для решения практически любых задачи прикладного программирования

    Borland C++ Builder – это отличное средство для разработки DOS и Windows приложений

    Microsoft Visual Basic – это популярный инструмент для создания Windows-программ

    Microsoft Visual C++ - это средство позволяет разрабатывать любые приложения, выполняющиеся в среде ОС типа Microsoft Windows

Контрольные вопросы:

    Дайте определение операционной системе.

    Какое программное обеспечение относят к системному?

    Назовите служебное программное обеспечение.

    Какое программное обеспечение относят к прикладному?

    Каково назначение программного обеспечения?

    Каковы основные классы программ? Приведите примеры программ в каждом классе по назначению.

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

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

Базовое программное обеспечение (base software) -- минимальный набор программных средств, обеспечивающих работу компьютера (как правило, поставляется вместе с компьютером). В базовое программное обеспечение входят: операционная система; операционные оболочки (текстовые и графические);сетевая операционная система.

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

Что такое операционная система

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

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

Операционная система обычно хранится во внешней памяти компьютера -- на диске. При включении компьютера она считывается с дисковой памяти и размещается в ОЗУ. Этот процесс называется загрузкой операционной системы.

В функции операционной системы входит:

осуществление диалога с пользователем;

ввод-вывод и управление данными;

планирование и организация процесса обработки программ;

распределение ресурсов (оперативной памяти и кэша, процессора, внешних устройств);

запуск программ на выполнение;

всевозможные вспомогательные операции обслуживания;

передача информации между различными внутренними устройствами;

программная поддержка работы периферийных устройств (дисплея, клавиатуры, дисковых накопителей, принтера и др.).

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

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

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

Ещё не так давно работы по настройке приходилось выполнять пользователю вручную, а сегодня производители компонентов компьютерной техники разработали протокол plug-and-play (включил - заработало). Этот протокол позволяет операционной системе в момент подключения нового компонента получить информацию о новом устройстве, достаточную для настройки ОС на работу с ним.

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

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

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

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

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

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

Обзорная лекция № 32

для студентов специальности

«Программное обеспечение информационных технологий»

доцента кафедры ИВТ, к.т.н. Ливак Е.Н.

СИСТЕМНОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

Основные понятия, факты

Назначение и классификация СПО. Требования к СПО. Базовое и сервисное СПО. Операционные системы. Системы управления файлами. Системные утилиты. Системы программирования.

Навыки и умения

Разработка системного программного обеспечения в соответствии с требованиями к СПО на языках Assembler , С++.

Установка и использование системных утилит.

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

Традиционно все программное обеспечение подразделяют на два класса:

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

2) прикладное (пользовательское)программное обеспечение (ППО)

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

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

Это самый многочисленный класс программных продуктов.

К специальному программному обеспечению информационных и управляющих систем относятся

· программы (системы) управления базами данных;

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

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

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

Поэтому часто такие ПО относят к системному программному обеспечению.

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

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

Назначение системного программного обеспечения

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

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

· автоматизации разработки (создания) новых программ;

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

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

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

Данный класс программных продуктов тесно связан с типом компьютера и является его неотъемлемой частью.

Программные продукты данного класса в основном ориентированы на квалифицированных пользователей - профессионалов в компьютерной области: системного программиста, администратора сети, прикладного программиста, оператора.

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

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

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

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

В СПО традиционно включают

· системные управляющие и

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

Управляющие системные программы организуют корректное функционирование всех устройств системы.

Основные системные функции управляющих программ -

· управление вычислительными процессами и вычислительными комплексами и

· работа с внутренними данными ОС.

Как правило, они находятся в основной памяти. Это резидентные программы, составляющие ядро ОС. Управляющие программы, которые загружаются в память непосредственно перед выполнением, называю транзитными ( transitive ).

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

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

Эти программы поставляются чаще в виде дистрибутивных пакетов, включающих ПО

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

Другая классификация

Часто Системное ПО компьютера подразделяют на БАЗОВОЕ и СЕРВИСНОЕ программное обеспечение.

БАЗОВОЕ программное обеспечение (base software) - минимальный набор программных средств, обеспечивающих работу компьютера.

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

· операционные системы и драйверы в составе ОС;

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

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

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

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

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

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

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

Любая система управления файлами не существует сама по себе - она разработана для работы в конкретной ОС и с конкретной файловой системой. То есть можно было бы систему управления файлами отнести к ОС.

Но в связи с тем, что

1) ряд ОС позволяет работать с несколькими файловыми системами (либос одной из нескольких, либо сразу с несколькими одновременно); а дополнительную файловую систему можно установить (т.е. они самостоятельны)

2) простейшие ОС могут работать и без файловых систем;

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

Заметим, что часто в специальной литературе системы управления файлами относят все-таки к операционным системам.

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

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

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

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

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

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

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

· программы обслуживания сети.

Эти программы часто называются системными утилитами . (Заметим, что к антивирусным средствам этот термин обычно не применяется)

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

Наибольшее распространение сегодня имеют комплекты утилит: 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 .

Редактор текста - это программа для вводаи модификации текста.

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

Трансляторы делятся на два класса: компиляторы и интерпретаторы. Компиляторы переводят весь исходный модуль на машинный язык. Интерпретатор последовательно переводит на машинный язык и выполнят операторы исходного модуля

(У интерпретаторов два основных недостатка. Первый - низкая скорость работы интерпретируемых программ.)

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

Компоновщик, или редактор связей - системная обрабатывающая программа, редактирующая и объединяющая объектные (ранее оттраслированные) модули в единые загрузочные, готовые к выполнению программные модули. Загрузочный модуль может быть помещен ОС в основную память и выполнен.

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

· пошаговое выполнение программы (режим трассировки) с отображением результатов,

· остановка в заранее определенных точках,

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

· изображение и изменение значений переменных.

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

Средства сетевого доступа обеспечивают обработку, передачу и хранение данных в сети.

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

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

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

Постоянно ведется разработка все новых программ-клиентов, предлагающих более удобные способы взаимодействия с сервером.

Пример. Приложения Netscape Navigator , Internet Explorer - программы- клиенты.

Таким образом, в системном ПО мы выделили пять групп системных программ :

· операционные системы;

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

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

· системы программирования;

· утилиты;

· средства сетевого доступа.

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

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

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

Системные программы должны удовлетворять следующим требованиям:

· прозрачность работы;

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

· максимальная скорость выполнения;

· минимальные затраты на хранение машинных кодов;

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

Эффективность системных программ зависит от времени их создания и надежности исполняемого кода.

Требование эффективности системных программ вызывает необходимость использования специальных языков

· машинно-ориентированных типа языка Assembler и

· высокого уровня типа C или C ++.

К типам данных этих языков отнесены указатели на данные различных типов или адреса данных и программных объектов.

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

Использованнаялитература

1.Гордеев А.В., Молчанов А.Ю. Системное программное обеспечение. - СПб.: Питер, 2001. - с. 17-21

2.Пустоваров В.И. Ассемблер: программирование и анализ корректности машинных программ: - К.: Издательская группа BHV , 2000. -с. 5-25

3. Internet- источник // iit.khsu.ru/isitc/informatika/6_2.htm

4. Internet- источник // www.stu.ru/inform/glaves2/glava8/gl_8_2.htm

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

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

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

Прикладное ПО , обеспечивающее выполнение необходимых работ на ПК: редактирование текстовых документов, создание рисунков или картинок, обработка информационных массивов и т.д.

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

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

Системное ПО

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

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

К системному ПО относятся:

операционные системы (эта программа загружается в ОЗУ при включении компьютера)

программы - оболочки (обеспечивают более удобный и наглядный способ общения с компьютером, чем с помощью командной строки DOS, например, Norton Commander)

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

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

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

К утилитам относятся:

Диспетчеры файлов или файловые менеджеры

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

Средства просмотра и воспроизведения

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

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

Средства обеспечения компьютерной безопасности (резервное копирование, антивирусное ПО).

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

Прикладное ПО

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

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

К прикладному ПО, к примеру, относятся:

Комплект офисных приложений MS OFFICE

Бухгалтерские системы

Финансовые аналитические системы

Интегрированные пакеты делопроизводства

CAD - системы (системы автоматизированного проектирования)

Редакторы HTML или Web - редакторы

Браузеры - средства просмотра Web - страниц

Графические редакторы

Экспертные системы…

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

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

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

  • 1. Текстовый редактор для создания файла с исходным текстом программы.
  • 2. Компилятор или интерпретатор. Исходный текст с помощью программы-компилятора переводится в промежуточный объектный код. Исходный текст большой программы состоит из нескольких модулей (файлов с исходными текстами). Каждый модуль компилируется в отдельный файл с объектным кодом, которые затем надо объединить в одно целое.
  • 3. Редактор связей или сборщик, который выполняет связывание объектных модулей и формирует на выходе работоспособное приложение - исполнимый код.

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

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

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

Borland Delphi - предназначен для решения практически любых задачи прикладного программирования

Borland C++ Builder - это отличное средство для разработки DOS и Windows приложений

Microsoft Visual Basic - это популярный инструмент для создания Windows-программ

Microsoft Visual C++ - это средство позволяет разрабатывать любые приложения, выполняющиеся в среде ОС типа Microsoft Windows

error: