Определение программного обеспечения. Что такое программное обеспечение? Виды программного обеспечения

Бытовая техника 11.10.2019
Бытовая техника

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

1. Программы и программное обеспечение

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

Определения даются по: ГОСТ 19781-90. Обеспечение систем обработки информации программное. Термины и определения. - М.:Изд-во стандартов, 1990.

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

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

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

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

    Эффективность. ПО, рассчитанное на многократное использование (например, ОС, текстовый редактор и т.п.) пишется и отлаживается один раз, а выполняется многократно. Таким образом, выгодно переносить затраты на этап производства ПО и освобождать от затрат этап выполнения, чтобы избежать тиражирования затрат.

    Надежность. В том числе:

    • Тестирование программы при всех допустимых спецификациях входных данных

      Защита от неправильных действий пользователя

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

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

Системные структуры данных должны сохраняться безусловно. Сохранение целостности пользовательских данных желательно.

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

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

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

Прикладная программа - программа, предназначенная для решения задачи или класса задач в определенной области применения СОИ.

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

С другой стороны, по определению Гегеля система - единое целое, состоящее из множества компонентов и множества связей между ними . Тогда системное программирование - это разработка программ сложной структуры.

Эти два определения не противоречат друг другу, так как разработка программ сложной структуры ведется именно для обеспечения работоспособности или повышения эффективности СОИ.

Зафиксированное в ГОСТ подразделение ПО на системное и прикладное является до некоторой степени устаревшим. Сегодняшнее деление предусматривает по меньшей мере три градации ПО:

    Системное

    Промежуточное

    Прикладное

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

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

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

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

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

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

Управляющая программа совместно с набором необходимых для эксплуатации системы утилит составляют операционную систему (ОС).

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

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

Этапы подготовки программы

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

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

При выборе модульной структуры должны учитываться следующие основные соображения:

    Функциональность - модуль должен выполнять законченную функцию

    Несвязность - модуль должен иметь минимум связей с другими модулями, связь через глобальные переменные и области памяти нежелательна

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

На рисунке показаны этапы, которые проходит программа от своего написания до выполнения

П
рограмма пишется в виде исходного модуля, на рисунке - файл ИМ.

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

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

Следующим этапом является трансляция.

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

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

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

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

Автокод - символьный язык программирования, предложения которого по своей структуре в основном подобны командам и обрабатываемым данным конкретного машинного языка.

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

Язык высокого уровня - язык программирования, понятия и структура которого удобны для восприятия человеком.

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

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

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

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

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

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

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

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

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

Вариант интерпретации подразумевает прямое исполнение исходного модуля.

Интерпретация - реализация смысла некоторого синтаксически законченного текста, представленного на конкретном языке.

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

Примеры интерпретаторов: языки процедур (sell, REXX), JVM.

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

    Макрообработка и трансляция

    Редактирование связей

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

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

Что такое программное обеспечение? Примеры его практического использования мы встречаем каждый день, садясь за компьютер. Даже простое перемещение мыши по экрану - это результат работы программного обеспечения. Какие есть разновидности ПО? Как осуществляется разработка программного обеспечения?

Программное обеспечение: теория

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

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

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

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

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

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

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

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

Самые распространенные в мире ОС для ПК - Windows (самая популярная, есть очень много ее версий - 7-я, 8-я, XP и другие), Linux, MacOS.

Системное ПО: драйвера

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

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

Прикладное ПО: антивирусы, утилиты

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

Популярные Microsoft Word

Какие из конкретных образцов прикладного ПО находят наибольшую востребованность сегодня? Прежде всего, это касается программ для обработки текстов. Такого рода операции на компьютере - исторически самые первые. Одна из наиболее популярных в мире программ для обработки текстов и выполнения сопутствующих операций (рисование таблиц, графиков и т. д.) - Word. Разработала ее одна из крупнейших в мире корпораций - американская Microsoft. Допустима ее русская транскрипция, которая звучит как "программа Ворд".

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

Microsoft Word: возможности

"Программа Ворд" умеет выполнять огромное количество операций. А именно:

Форматирование букв и абзацев (подбор шрифта нужного размера и основных атрибутов - подчеркивание, написание жирным, курсив, расстояние между строк и т. д.)

Оформление внешнего вида страниц (задание цвета и рисунка на фоне, добавление графики, картинок и т. д.)

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

Научиться пользоваться Word очень просто. Многие из элементов управления программой понятны интуитивно. Также стоит отметить, что компания Microsoft, выпустившая Word, снабдила свое решение подробной справочной системой, обратиться к которой пользователь может, нажав на клавиатуре F1.

Популярные прикладные программы: Microsoft Excel

Пример другого популярного прикладного ПО - Microsoft Excel (по-русски - "программа Эксель"). Ее узкая специализация - вычисления при помощи электронных таблиц. Такого рода решения значительно упрощают работу с цифрами.

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

Microsoft Excel: возможности

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

Перечислим самые распространенные на практике типы задач, которые умеет решать "программа Эксель":

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

Применение формул для автоматизации счета;

Составление отчетов, бланков, опросников и иных документов, которые наиболее комфортно смотрятся в виде таблиц;

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

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

Популярные прикладные программы: Adobe Photoshop

Часто у пользователей возникает потребность в задействовании одной интересной программы - "Фотошопа". Для Windows 7, 8 или же XP она существует в большом количестве версий. Официально эта программа называется Adobe Photoshop. Она предназначена для рисования (такого рода решения называются "графическими редакторами"). Пользуются ей, как и в случае с Word и Excel, как начинающие пользователи, так и профессионалы: дизайнеры, веб-разработчики, создатели мультфильмов.

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

Adobe Photoshop: возможности

При помощи Photoshop можно не только создавать картинки, но также вносить изменения в уже готовые. Отсюда термин "отфотошопить". Можно, например, видоизменять объекты на фото, что-то к ним пририсовывать, ретушировать - при большом опыте работы с Photoshop все может получиться очень правдоподобно.

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

Каковы самые популярные виды операций, которые производятся в Photoshop? К ним можно отнести следующие:

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

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

Объединение содержимого двух разных изображений;

Изменение цвета картинки или ее частей;

Применение визуальных эффектов за счет встроенных в программу шаблонов и алгоритмов;

Трансформация картинок (отражение, вращение и т. д.).

Так же, как в случае с Word и Excel, элементы управления Photoshop легко осваиваются интуитивно. Так что даже неопытный пользователь сможет что-то нарисовать. Многие из версий программы оснащены справочной системой на русском языке, где в подробностях рассказывается о том, как работать с Photoshop.

Популярные виды прикладного ПО: браузеры

Браузер - это программа, с помощью которой пользователи выходят в Интернет, читают новости с сайтов, пишут сообщения в соцсетях, просматривают ролики - словом, делают все то, что характерно для "виртуального пространства". Самые популярные в мире решения такого типа - Internet Explorer, Opera, Google Chrome. Есть очень большое количество их аналогов и подтипов. Функциональность каждого из них, в целом, одинаковая. Большинство пользователей предпочитают эксплуатировать те или иные, исходя из субъективной оценки качества дизайна программ и удобства расположения элементов управления на них.

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

Браузеры: возможности

Устроены образцы такого ПО очень просто. Основные элементы браузера - строка с адресом сайта и основное поле (называемое чаще всего "веб-интерфейсом", где отображается информация из Интернета. Главная особенность такой программы - она является посредником между пользователем ПК и другими людьми, находящимися в виртуальном пространстве. То есть, при помощи браузера (точнее, "веб-интерфейса") человек, по сути, может осуществлять обмен данными, отправляя что-то от себя (текст, файлы) и получая что-то от других. Был ли Интернет до изобретения браузеров? Безусловно. Дело в том, что "веб-интерфейс" - исторически не самый первый способ коммуникации между пользователями. Он появился после долгих лет международных согласований стандартов, по которым должен осуществляться обмен "виртуальной" информацией.

ПО: платное и бесплатное

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

Что такое "облачные технологии"?

В последние годы набрал очень большую популярность термин "облачные технологии". Что это за явление? "Облачные технологии" - это, если говорить простым языком, прикладное ПО, которое можно запускать из браузера (соответственно, оно не установлено на ПК). Рассмотрим пример. Microsoft Word, о котором мы говорили выше, запускается двойным щелчком по значку на рабочем столе. Но есть такое же решение но "облачное": использование программного обеспечения такого типа осуществляется через веб-интерфейс браузера. Как правило, файлы, с которыми работает пользователь при помощи такого ПО, также хранятся в Интернете.

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

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

Существует целая отрасль экономики, в рамках которое осуществляется разработка ПО - программирование. В ней работают люди с самыми разными профилями знаний. Но их объединяет общий признак - знание языков программирования. Используя один или несколько из них, человек пишет ПО. Язык программирования - это набор команд, распознаваемых аппаратными компонентами компьютера. Написав выстроенную определенным образом "фразу", человек, создающий ПО, дает "распоряжение" процессору, или, скажем, диску ПК произвести над файлом такую-то операцию. Языков, с помощью которых осуществляется разработка программного обеспечения, сотни. В числе популярных - С ("Си"), Java, Pascal, Ruby-on-Rails.

Трудно ли научиться создавать ПО?

Совсем нет. Разработчиком программ может стать абсолютно любой желающий человек. Создание ПО - это совсем не запрещенный вид деятельности. Многие успешные предприниматели начинали с того, что разрабатывали программное обеспечение. Примеры таких людей - Билл Гейтс, Линукс Торвальдс, Евгений Касперский. Изучить языки для создания ПО можно на основе большого количества доступной литературы, видеоуроков, или посетив специализированные курсы. Разработка программного обеспечения - одна из самых динамично развивающихся отраслей, и рост ее популярности главным образом, связан с всеобщей доступностью.

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

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

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

Базовое ПО включает в себя:

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

    оболочки;

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

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

    диагностики;

    антивирусные;

    обслуживания носителей;

    архивирования;

    обслуживания сети.

Прикладное ПО – это комплекс программ для решения задач определённого класса конкретной предметной области. Прикладное ПО работает только при наличии системного ПО.

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

    текстовые процессоры;

    табличные процессоры;

    базы данных;

    интегрированные пакеты;

    системы иллюстративной и деловой графики (графические процессоры);

    экспертные системы;

    обучающие программы;

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

    коммуникационные программы.

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

    трансляторы;

    среду разработки программ;

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

    отладчики;

    редакторы связей и др.

2.Основные составляющие сист.прог.обеспеч. Операц.системы.Утилиты. системы програм.СУБД. основные функции,классификация СУБД по способу доступа.

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

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

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

    во-первых, управление всеми ресурсами компьютера;

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

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

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

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

    однозадачные и многозадачные ;

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

    сетевые и несетевые .

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

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

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

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

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

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

Существуют и другие ОС. Известная компания Apple производит компьютеры Macintosh с современной ОС MacOS . Эти компьютеры используются преимущественно издателями и художниками. Фирма IBM производит ОС OS/2 . Операционная система OS/2 такого же класса надёжности и защиты, как и Windows NT.

На смену операционной системе MS DOS с ее графическими оболочками Windows 3.1 и Windows 3.11 пришли полноценные операционные системы семейства Windows (сначала Windows 95, затем Windows 98, Windows Millennium, Windows 2000, Windows XP, Windows Vista и Windows 7). На рисунке показаны этапы развития персональных компьютеров класса РС и операционной системы Windows:

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

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

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

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

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

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

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

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

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

В Windows активно используется и правая кнопка мыши. Поместив указатель над интересующем объекте и сделав щелчок правой кнопкой мыши, можно раскрыть контекстное меню , содержащее наиболее употребительные команды, применимые к данному объекту.

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

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

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

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

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

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

    поддержка языков БД (язык определения данных,язык манипулирования данными).

    Файл-серверные

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

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

Примеры: Microsoft Access,Paradox,dBase,FoxPro,Visual FoxPro.

    Клиент-серверные

Клиент-серверная СУБД располагается на сервере вместе с БД и осуществляет доступ к БД непосредственно, в монопольном режиме. Все клиентские запросы на обработку данных обрабатываются клиент-серверной СУБД централизованно. Недостаток клиент-серверных СУБД состоит в повышенных требованиях к серверу. Достоинства: потенциально более низкая загрузка локальной сети; удобство централизованного управления; удобство обеспечения таких важных характеристик как высокая надёжность, высокая доступность и высокая безопасность.

Примеры: Oracle,Firebird,Interbase,IBM DB2,Informix,MS SQL Server,Sybase Adaptive Server Enterprise,PostgreSQL,MySQL,Caché,ЛИНТЕР.

    Встраиваемые

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

Примеры: OpenEdge,SQLite,BerkeleyDB,FirebirdEmbedded,Microsoft SQL Server Compact,ЛИНТЕР.

3. Этапы подготовки программы к выполнению. Программный модуль. Исходный модуль. Трансляция. Машинный язык. Трансляторы. Автоход. Язык ассемблера. Язык высокого уровня. Объектный модуль. Загрузочный модуль. Интерпретация.

Этапы подготовки программы

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

При выборе модульной структуры должны учитываться следующие основные соображения:

    Функциональность - модуль должен выполнять законченную функцию

    Несвязность - модуль должен иметь минимум связей с другими модулями, связь через глобальные переменные и области памяти нежелательна

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

На рисунке показаны этапы, которые проходит программа от своего написания до выполнения

Программа пишется в виде исходного модуля, на рисунке - файл ИМ.

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

Следующим этапом является трансляция.

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

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

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

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

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

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

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

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

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

Вариант интерпретации подразумевает прямое исполнение исходного модуля.

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

Примеры интерпретаторов: языки процедур (sell, REXX), JVM.

4. общая характеристика интегрированных сред разработки. Основные компоненты ИСР.

Интегри́рованная среда́ разрабо́тки, ИСР (англ. IDE, Integrated development environment) - система программных средств, используемая программистами для разработки программного обеспечения (ПО).

Обычно, среда разработки включает в себя:

текстовый редактор,

компилятор и/или интерпретатор,

средства автоматизации сборки,

отладчик.

Иногда содержит также средства для интеграции с системами управления версиями и разнообразные инструменты для упрощения конструирования графического интерфейса пользователя. Многие современные среды разработки также включают браузер классов, инспектор объектов и диаграмму иерархии классов - для использования при объектно-ориентированной разработке ПО. Хотя и существуют ИСР, предназначенные для нескольких языков программирования - такие как Eclipse, Embarcadero RAD Studio, Qt Creator, последние версии NetBeans, Xcode или Microsoft Visual Studio, но обычно ИСР предназначается для одного определённого языка программирования - как, например, Visual Basic, Delphi, Dev-C++.

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

5. программный модуль. Статическая библиотека. Динамические библиотеки. Плагины.

Программный модуль

Программный модуль - согласно ГОСТ 19781-90 - программа или функционально завершенный фрагмент программы, предназначенный для:

1- хранения;

2- трансляции;

3- объединения с другими программными модулями; и

4- загрузки в оперативную память.

Различают:

Стандартные модули, входящие в язык программирования; и

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    текстовые и графические редакторы;

    программы работы с электронными таблицами;

    системы управления базами данных;

    средства просмотра web-страниц;

    обучающие системы, электронные энциклопедии, игры;

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

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

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

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

Взаимосвязь программного обеспечения (уровни программной конфигурации)

Назначение и состав операционной системы компьютера

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

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

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

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

Структура операционной системы:

    Ядро – переводит команды с языка программ на язык «машинных кодов», понятный компьютеру.

    Драйверы – программы, управляющие устройствами.

    Интерфейс – оболочка, с помощью которой пользователь общается с компьютером.

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

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

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

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

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

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

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

Графический интерфейс

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

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

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

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

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

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

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

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

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

Назначение ПО:

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

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

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

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

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

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

Расширение существующего ПО предполагает наличие следующих возможностей:

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

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

  • модульность;
  • наращиваемость и развитие;
  • надежность;
  • предсказуемость;
  • удобство и эргономичность;
  • гибкость;
  • эффективность;
  • совместимость.

Основные принципы разработки современного программного обеспечения:

  • параметрическая универсальность;
  • функциональная избыточность;
  • функциональная избирательность.

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

  • Инсталляцией с дистрибутива
  • Простым копированием

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

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

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

Внутреннее ПО выполняет следующие основные функции:

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

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

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

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

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

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

Драйверы имеют следующие особенности:

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

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

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

ОС представляет собой набор программ управления ПЭВМ.

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

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

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

Схема общей классификации ПО

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

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

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



Рекомендуем почитать

Наверх