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

Информационные революции

есть две версии - 5 и три революции

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

 

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

 

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

 

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

 

Четвертая (70-е гг. XX в.) связана с изобретением микропроцессорной технологии и появлением персонального компьютера. На микропроцессорах и интегральных схемах создаются компьютеры, компьютерные сети, системы передачи данных (информационные коммуникации). Этот период характеризуют три фундаментальные инновации:

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

миниатюризация всех узлов, устройств, приборов, машин;

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

 

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

 

Три

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

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

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

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

Сегодня разворачивается третья технологическая революция - информационная. Вне всякого сомнения, сегодня мы имеем дело с новым переворотом в системе производства. Если промышленный переворот состоял в использовании машин для выполнения физической работы, а умственная деятельность полагалась незыблемой прерогативой человеческого интеллекта, то современная научно-техническая революция создает компьютеры, которые с немыслимой для человека производительностью выполняют многие элементы именно умственной работы. Имеет место точка зрения, что мы вступаем в век "промышленного производства информации". Подобно тому, как в результате промышленного переворота родилось конвейерное производство, повысившее производительность труда и подготовившее общество массового потребления, так и теперь должно возникнуть поточное производство информации, обеспечивающее соответствующее социальное развитие по всем направлениям [5, с.8].

 

Ба́за да́нных

— представленная в объективной форме совокупность самостоятельных материалов (статей, расчётов, нормативных актов, судебных решений и иных подобных материалов), систематизированных таким образом, чтобы эти материалы могли быть найдены и обработаны с помощью электронной вычислительной машины (ЭВМ) (Гражданский кодекс РФ, ст. 1260).

В определениях наиболее часто (явно или неявно) присутствуют следующие отличительные признаки[7]:

БД хранится и обрабатывается в вычислительной системе.

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

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

Структурированность подразумевает явное выделение составных частей (элементов), связей между ними, а также типизацию элементов и связей, при которой с типом элемента (связи) соотносится определённая семантика и допустимые операции.[8]

БД включает схему, или метаданные, описывающие логическую структуру БД в формальном виде (в соответствии с некоторой метамоделью).

В соответствии с ГОСТ Р ИСО МЭК ТО 10032-2007, «постоянные данные в среде базы данных включают в себя схему и базу данных. Схема включает в себя описания содержания, структуры и ограничений целостности, используемые для создания и поддержки базы данных. База данных включает в себя набор постоянных данных, определенных с помощью схемы. Система управления данными использует определения данных в схеме для обеспечения доступа и управления доступом к данным в базе данных».[2]

 

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

 

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

 

В широком аспекте понятие истории баз данных обобщается до истории любых средств, с помощью которых человечество хранило и обрабатывало данные. В таком контексте упоминаются, например, средства учёта царской казны и налогов в древнем Шумере (4000 г. до н. э.),[9] узелковая письменность инков — кипу, клинописи, содержащие документы Ассирийского царства и т. п. Следует помнить, что недостатком этого подхода является размывание понятия «база данных» и фактическое его слияние с понятиями «архив» и даже «письменность».

 

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

 

Оперативные сетевые базы данных появились в середине 1960-х. Операции над оперативными базами данных обрабатывались в интерактивном режиме с помощью терминалов. Простые индексно-последовательные организации записей быстро развились к более мощной модели записей, ориентированной на наборы. За руководство работой Data Base Task Group (DBTG), разработавшей стандартный язык описания данных и манипулирования данными, Чарльз Бахман получил Тьюринговскую премию.

 

В это же время в сообществе баз данных COBOL была проработана концепция схем баз данных и концепция независимости данных.

 

Следующий важный этап связан с появлением в начале 1970-х реляционной модели данных, благодаря работам Эдгара Ф. Кодда. Работы Кодда открыли путь к тесной связи прикладной технологии баз данных с математикой и логикой. За свой вклад в теорию и практику Эдгар Ф. Кодд также получил премию Тьюринга.

 

Сам термин database (база данных) появился в начале 1960-х годов, и был введён в употребление на симпозиумах, организованных фирмой SDC (System Development Corporation) в 1964 и 1965 годах, хотя понимался сначала в довольно узком смысле, в контексте систем искусственного интеллекта. В широкое употребление в современном понимании термин вошёл лишь в 1970-е годы.[10]

Виды баз данных

 

Существует огромное количество разновидностей баз данных, отличающихся по различным критериям. Например, в «Энциклопедии технологий баз данных»,[4] по материалам которой написан данный раздел, определяются свыше 50 видов БД.

 

Основные классификации приведены ниже.

[править]

Классификация по модели данных

 

Примеры:

Иерархическая

Сетевая

Реляционная

Объектная и объектно-ориентированная

Объектно-реляционная

Функциональная.

[править]

Классификация по среде постоянного хранения

Во вторичной памяти, или традиционная (англ. conventional database): средой постоянного хранения является периферийная энергонезависимая память (вторичная память) — как правило жёсткий диск.

В оперативную память СУБД помещает лишь кеш и данные для текущей обработки.

В оперативной памяти (англ. in-memory database, memory-resident database, main memory database): все данные на стадии исполнения находятся в оперативной памяти.

В третичной памяти (англ. tertiary database): средой постоянного хранения является отсоединяемое от сервера устройство массового хранения (третичная память), как правило на основе магнитных лент или оптических дисков.

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

[править]

Классификация по содержимому

 

Примеры:

Географическая

Историческая

Научная

Мультимедийная.

[править]

Классификация по степени распределённости

Централизованная, или сосредоточенная (англ. centralized database): БД, полностью поддерживаемая на одном компьютере.

Распределённая (англ. distributed database): БД, составные части которой размещаются в различных узлах компьютерной сети в соответствии с каким-либо критерием.

Неоднородная (англ. heterogeneous distributed database): фрагменты распределённой БД в разных узлах сети поддерживаются средствами более одной СУБД

Однородная (англ. homogeneous distributed database): фрагменты распределённой БД в разных узлах сети поддерживаются средствами одной и той же СУБД.

Фрагментированная, или секционированная (англ. partitioned database): методом распределения данных является фрагментирование (партиционирование, секционирование), вертикальное или горизонтальное.

Тиражированная (англ. replicated database): методом распределения данных является тиражирование (репликация).

[править]

Другие виды БД

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

Временная, или темпоральная (англ. temporal database): БД, в которой поддерживается какой-либо аспект времени, не считая времени, определяемого пользователем.

Пространственно-временная (англ. spatial-temporal database) БД: БД, в которой одновременно поддерживается одно или более измерений в аспектах как пространства, так и времени.

Циклическая (англ. round-robin database): БД, объём хранимых данных которой не меняется со временем, поскольку в процессе сохранения данных одни и те же записи используются циклически.

 

 

Банк данных

(БнД) является современной формой ор-ганизации хранения и доступа к информации. Существует множество определений банка данных. В «Общеотраслевых руководящих материалах по созданию банков данных» (М.: ГКНТ, 1982) дано следующее определение: «Банк данных — это система специальным образом организованных данных (баз данных), программных, технических, языковых, органи-зационно-методических средств, предназначенных для обес-печения централизованного накопления и коллективного многоцелевого использования данных».

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

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

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

Банк данных - совокупность базы данных с соответст-вующей системой управления базами данных (СУБД). База данных - централизованное хранилище в ЭВМ определенным образом организованной информации. СУБД специальный комплекс программ, осуществляющий функции создания ба-зы данных, поддержание ее в рабочем состоянии, выдача из нее информации, необходимой для обрабатывающих про-грамм и т.д. ЭВМ, родившись прежде всего как средство для выполнения сложных математических расчетов, начиная с 70-х годов стали широко применяться также для накопления и обработки больших объемов информации. В память вычис-лительных машин заносится огромное количество сведений экономических, статистических и т.п. характера. При этом выяснилось, что хранение массива данных для каждой от-дельной задачи ведет к серьезным потерям. Во-первых, нака-пливается избыточная информация, поскольку многие разные задачи требуют для своего решения одинаковых данных. На-пример, создание в ЭВМ массива характеристик всех рабо-тающих на предприятии для автоматизации управления кад-рами и создание массива сведений из бухгалтерии для авто-матизации расчета зарплаты невыгодно, поскольку эти два массива будут содержать много одинаковой информации (фамилии, занимаемые должности, оклады сотрудников и т.п.). Во-вторых, возникает проблема непротиворечивости сведений, хранящихся в различных информационных масси-вах. Любые изменения должны одновременно заноситься сразу в несколько массивов данных, что организационно трудно осуществимо. В-третьих, появление какого-либо но-вого параметра в массиве данных создает необходимость из-менения большого числа программ. Для решения этих и дру-гих вопросов, вставших в связи с необходимостью накопле-ния и обработки больших объемов информации, была разви-та концепция управления данными. Суть этого подхода за-ключается в том, что вся информация, с которой имеет дело, например, предприятие, накапливается централизованно. То есть накопление, поддержание и выдача информации выде-ляется в самостоятельную задачу. При этом структура хране-ния данных приводится в максимально возможное соответст-вие со структурой тех процессов, которые в этих данных от-ражаются. Таким образом возникли базы данных. Развитие базы данных показало, что качественное решение задачи управления большими объемами данных невозможно без ре-шения многих проблем технического, организационного, программного характера. Чтобы подчеркнуть важность всех этих компонентов, некоторые авторы характеризуют базы данных как совокупность информационных, математических, технических и организационных средств, направленных на удовлетворение информационных потребностей широкого круга пользователей. Важно подчеркнуть, что базы данных - не просто собранный в одном месте большой объем данных, а такое объединение данных, в котором выделена структура взаимосвязей для каждого отдельного элемента информации.

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

Преимущества Банка данных

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

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

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

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

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

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

 

Проектирование баз данных

— процесс создания схемы базы данных и определения необходимых ограничений целостности.

Основные задачи проектирования баз данных

Основные задачи:

Обеспечение хранения в БД всей необходимой информации.

Обеспечение возможности получения данных по всем необходимым запросам.

Сокращение избыточности и дублирования данных.

Обеспечение целостности данных (правильности их содержания): исключение противоречий в содержании данных, исключение их потери и т.д..

Основные этапы проектирования баз данных

[править]

Концептуальное (инфологическое) проектирование

 

Концептуальное (инфологическое) проектирование — построение семантической модели предметной области, то есть информационной модели наиболее высокого уровня абстракции. Такая модель создаётся без ориентации на какую-либо конкретную СУБД и модель данных. Термины «семантическая модель», «концептуальная модель» и «инфологическая модель» являются синонимами. Кроме того, в этом контексте равноправно могут использоваться слова «модель базы данных» и «модель предметной области» (например, «концептуальная модель базы данных» и «концептуальная модель предметной области»), поскольку такая модель является как образом реальности, так и образом проектируемой базы данных для этой реальности.

 

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

 

Чаще всего концептуальная модель базы данных включает в себя:

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

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

[править]

Логическое (даталогическое) проектирование

 

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

 

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

 

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

[править]

Физическое проектирование

 

Физическое проектирование — создание схемы базы данных для конкретной СУБД. Специфика конкретной СУБД может включать в себя ограничения на именование объектов базы данных, ограничения на поддерживаемые типы данных и т.п. Кроме того, специфика конкретной СУБД при физическом проектировании включает выбор решений, связанных с физической средой хранения данных (выбор методов управления дисковой памятью, разделение БД по файлам и устройствам, методов доступа к данным), создание индексов и т.д.

 

Нормализация

Основная статья: Нормальная форма

 

При проектировании реляционных баз данных обычно выполняется так называемая нормализация.

[править]

Модели «сущность-связь»

Основная статья: ER-модель данных

 

Модель «сущность-связь» (англ. “Entity-Relationship model”), или ER-модель, предложенная П. Ченом[1] в 1976 г., является наиболее известным представителем класса семантических (концептуальных, инфологических) моделей предметной области. ER-модель обычно представляется в графической форме, с использованием оригинальной нотации П. Чена, называемой ER-диаграмма, либо с использованием других графических нотаций (Crow's Foot, Information Engineering и др.).

 

Основные преимущества ER-моделей:

наглядность;

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

ER-модели реализованы во многих системах автоматизированного проектирования баз данных (например, ERWin).

 

Основные элементы ER-моделей:

объекты (сущности);

атрибуты объектов;

связи между объектами.

 

Сущность — объект предметной области, имеющий атрибуты.

 

Связь между сущностями характеризуется:

типом связи (1:1, 1:N, N:М);

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

[править]

Семантические модели

 

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

 

Дейт К. Дж. Введение в системы баз данных. — 8-е изд. — М.: «Вильямс», 2006:

 

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

[…]

Идеи семантического моделирования могут быть полезны как средство проектирования базы данных даже при отсутствии их непосредственной поддержки в СУБД.

 

Наиболее известным представителем класса семантических моделей является модель «сущность-связь» (ER-модель).

 

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

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

- системное ПО;

- прикладное ПО;

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

 

 

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

 

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

 

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

 

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

 

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

 

- системы управления базами данных (СУБД), позволяющие превратить компьютер в справочник по любой теме;

 

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

 

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

 

 

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

 

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

Вопросы и задания

 

1. Что такое программное обеспечение ЭВМ?

2. Какие задачи выполняет прикладное программное обеспечение?

3. Назовите основные виды прикладных программ общего назначения.

4. Что такое прикладные программы специального назначения?

 

О системном ПО и системах программирования

 

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

 

Для чего нужны прикладные программы, понять несложно. А что же такое системное программное обеспечение?

 

Главной частью системного программного обеспечения является операционная система (ОС).

 

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

 

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

 

Вот названия некоторых распространенных ОС для персональных компьютеров: MS-DOS, Windows, Linux.

 

Интерактивный режим

 

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

 

<приглашение> - <команда>.

 

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

 

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

 

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

 

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

 

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

 

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

 

Система программирования - инструмент для работы программиста.

 

С системами программирования работают программисты. Всякая СП ориентирована на определенный язык программирования. Существует много разных языков, например Паскаль, Бейсик, ФОРТРАН, С ("Си"), Ассемблер, ЛИСП и др. На этих языках программист пишет программы, а с помощью систем программирования заносит их в компьютер, отлаживает, тестирует, исполняет.

 

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