Тема 3. ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

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


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

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

· на обеспечение устойчивой работы компьютера и вычислительной сети;

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

· на выполнение вспомогательных операций;

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

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

Базовый подкласс ПО включает:

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

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



· сетевые операционные системы - комплекс программ, обес­печивающих обра­ботку, передачу и хранение данных в сети.

До недавнего времени на большинстве ПК была установлена операци­онная сис­тема MS DOS , которая была создана в 1981 г. фир­мой Microsoft (заметим, что она не была ори­гинальной разработкой самой Microsoft - ком­пания Билла Гейтса лишь дорабо­тала «операци­онку» под названием QDOS, созданную другой компанией ). До появления Windows дисковая операцион­ная система MS DOS была самой популярной и массовой в применении. В ее среде создано целое поколение программного продукта. На основе MS DOS в процессе развития компьютерных технологий появился Windows (с 1996 г. MS DOS включена в состав операционной среды Windows 95 ). Основные компоненты ОС, развитые в среде MS DOS, являются классикой, и орга­нично включены в Windows на новом этапе раз­вития программного обеспе­чения в целом и его сердцевины - операционных систем.

MS DOS 16-разрядная однозадачная операционная сис­тема, обладающая «интер­фейсом ко­манд­ной строки», компактна, предъяв­ляет скром­ные требо­ва­ния к аппаратуре и вы­полняет необ­ходимый мини­мум функций для поль­зователей и программ. Основ­ные недос­татки DOS:

· главным ее уяз­вимым ме­стом является работа с ограниченной оператив­ной памятью (в эпоху созда­ния MS-DOS оперативная па­мять большин­ства компьюте­ров не превышала 256 ки­лобайт. DOS мог­ла работать с 640 ки­лобай­тами ОП, и Билл Гейтс ут­верждал, что никому и никогда не понадо­бится больший объем, но время шло и появились программы, ко­то­рым требовался для работы больший объем опера­тив­ной памяти и при­ходи­лось ис­пользовать специальные про­граммы - ме­неджеры памяти, но и они не ре­шали проблему );

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

· третьим недостат­ком MS-DOS была однозадачность.

Операционные системы се­мейства DOS, несмотря на свою про­стоту и экономичность, мо­рально устарели, и на смену им пришли опе­рацион­ные системы нового поко­ления. К числу таких ОС относятся операционные сис­темы се­мейства Windows , операци­онные системы семейства Unix и др.

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

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

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

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

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

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

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

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

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

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

Локальные средства разработки про­грамм включают языки и системы про­грам­мирования, а также инструментальную среду пользователя. Сущест­вуют ма­шинные языки программирования (воспринимаемые аппаратной ча­стью компью­тера ма­шин­ные коды ), машинно-ориентированные языки (языки программирова­ния, кото­рые отражают структуру конкретного типа компью­тера – ассемб­леры ), алго­ритмические (универсальные ) языки, не зависящие от архитектуры компьютера, напри­мер, Фор­тран (Fortran ), Ко­бол (Cobol ), Алгол (Algol ), Пас­каль (Pascal ), Бейсик (Basic ), Си (C ), Си++ (C++ ) и др.; процедурно-ориентированные языки (где име­ется возмож­ность описания про­граммы как совокупности процедур – подпро­граммы ), про­блемно-ориен­тированные языки (предназначенные для решения задач оп­реде­ленного класса ), интегрирован­ные системы программирования. Заметим, что класси­фикация языков программирования не закреплена ГОСТами (в учебных це­лях обычно проводится их классификация по различным призна­кам ). Про­грамма, подго­товленная на языке программи­рования, проходит этап трансля­ции, отладки и тести­рования.

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

Кроме того, существуют средства для создания сложных информацион­ных сис­тем (CASE – технология ). Проектирование информационных систем представ­ляет собой трудоемкую и дли­тельную работу, требующую высокой ква­лификации участ­вующих в ней специалистов. В недале­ком прошлом про­ектирование нередко выпол­нялось на интуитивном уровне неформализован­ными методами, включаю­щими в себя элементы искусства, практический опыт, экспертные оценки и дорого­стоящие экспериментальные проверки ка­чества функционирования. В начале 70-х гг. в США был отмечен кризис про­граммирования (software crisis ). Это выра­жалось в том, что боль­шие проекты стали выполняться с отставанием от гра­фика или с превышением сметы рас­хо­дов, разработанный продукт не обладал тре­буемыми функцио­нальными возможностями, произ­водительность его была низка, ка­чество получаемого про­граммного обеспечения не устраивало потре­бителей. Потребность кон­тролировать процесс разработки ПО, прогнози­ровать и гаран­тировать стои­мость разработки, сроки и качество ре­зультатов привела к необ­ходимости пере­хода от кус­тарных к индустриальным способам создания ПО и по­явле­нию совокупности инже­нерных методов и средств создания ПО, объеди­нен­ных общим названием «программная инжене­рия» (software engineering ). В основе про­граммной инженерии лежит сле­дующая идея: проектиро­вание ПО является фор­мальным процессом, который можно изучать и совершенство­вать. К концу 80-х гг. было проведено много исследований в области про­грамми­рования (разработка и внедрение языков высокого уровня, мето­дов струк­турного и модульного програм­мирования, языков проектирова­ния и средств их под­держки, формальных и нефор­мальных языков описания сис­темных требований и спецификаций и т. д. ). Термин CASE (Computer Aided Software Engineering ) имеет весьма широкое толкование. Первоначально зна­чение термина CASE ограни­чива­лось вопросами автоматизации раз­работки только лишь программного обеспече­ния, а в на­стоящее вре­мя оно при­обрело новый смысл и охватывает про­цесс разра­ботки сложных инфор­мационных систем в целом. CASE-технология представляет собой совокупность методов про­ектирования информационных сис­тем, а также набор инструментальных средств, позво­ляющих в наглядной форме моделировать предметную об­ласть, ана­лизиро­вать эту модель на всех ста­диях раз­работки и со­провожде­ния, разрабатывать приложения в соответствии с информаци­он­ны­ми потреб­ностями пользователей. Большинство существующих CASE-средств осно­вано на методах структурного или объектно-ори­ентированного анализа и проек­тирования, использую­щих специфи­кации в виде диаграмм или текстов для описания внешних требова­ний, свя­зей между моделями системы, дина­мики поведе­ния сис­темы и архитектуры про­граммных средств.

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

· программы обработки текстов;

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

· программы обработки фото- и видеоизображений;

· программы подготовки презентаций;

· электронные таблицы;

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

· программы эко­номического и статистического анализа;

· сис­темы автомати­зированного проектирования (САПР);

· информационно-поисковые системы;

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

· игровые программы.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Наибольшее распространение сегодня имеют комплекты утилит: Norton Utilities - фирма Symantec; Checkit PRO Deliuxe 2.0 - фирма Touch Stone; PC Tools for Windows 2.0; программа резервного копирования HP Colorado Backup for Windows 95.

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

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

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

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

· редактор текста;

· транслятор с соответствующего языка;

· компоновщик (редактор связей);

· отладчик;

· библиотеки подпрограмм.

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

Например, одна из популярных систем программирования на языке С/С++ от фирмы Watcom для OS /2 позволяет получать программы и для самой OS /2, и для DOS , и для Windows .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

· утилиты;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Тема 1.3: Системное программное обеспечение

Тема 1.4: Сервисное программное обеспечение и основы алгоритмизации

Введение в экономическую информатику

1.3. Системное программное обеспечение ПК

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

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

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

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


Рис. 1.

Системное ПО

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

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

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

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

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

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

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

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

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

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

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

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

  1. Комплект офисных приложений MS OFFICE.
  2. Бухгалтерские системы.
  3. Финансовые аналитические системы.
  4. Интегрированные пакеты делопроизводства.
  5. CAD – системы (системы автоматизированного проектирования).
  6. Редакторы HTML или Web – редакторы.
  7. Браузеры – средства просмотра Web - страниц.
  8. Графические редакторы.
  9. Экспертные системы.

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

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

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

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

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

  1. Borland Delphi - предназначен для решения практически любых задачи прикладного программирования.
  2. Borland C++ Builder – это отличное средство для разработки DOS и Windows приложений.
  3. Microsoft Visual Basic – это популярный инструмент для создания Windows-программ.
  4. Microsoft Visual C++ - это средство позволяет разрабатывать любые приложения, выполняющиеся в среде ОС типа Microsoft Windows.
Эта статья также доступна на следующих языках: Тайский

  • Next

    Огромное Вам СПАСИБО за очень полезную информацию в статье. Очень понятно все изложено. Чувствуется, что проделана большая работа по анализу работы магазина eBay

    • Спасибо вам и другим постоянным читателям моего блога. Без вас у меня не было бы достаточной мотивации, чтобы посвящать много времени ведению этого сайта. У меня мозги так устроены: люблю копнуть вглубь, систематизировать разрозненные данные, пробовать то, что раньше до меня никто не делал, либо не смотрел под таким углом зрения. Жаль, что только нашим соотечественникам из-за кризиса в России отнюдь не до шоппинга на eBay. Покупают на Алиэкспрессе из Китая, так как там в разы дешевле товары (часто в ущерб качеству). Но онлайн-аукционы eBay, Amazon, ETSY легко дадут китайцам фору по ассортименту брендовых вещей, винтажных вещей, ручной работы и разных этнических товаров.

      • Next

        В ваших статьях ценно именно ваше личное отношение и анализ темы. Вы этот блог не бросайте, я сюда часто заглядываю. Нас таких много должно быть. Мне на эл. почту пришло недавно предложение о том, что научат торговать на Амазоне и eBay. И я вспомнила про ваши подробные статьи об этих торг. площ. Перечитала все заново и сделала вывод, что курсы- это лохотрон. Сама на eBay еще ничего не покупала. Я не из России , а из Казахстана (г. Алматы). Но нам тоже лишних трат пока не надо. Желаю вам удачи и берегите себя в азиатских краях.

  • Еще приятно, что попытки eBay по руссификации интерфейса для пользователей из России и стран СНГ, начали приносить плоды. Ведь подавляющая часть граждан стран бывшего СССР не сильна познаниями иностранных языков. Английский язык знают не более 5% населения. Среди молодежи — побольше. Поэтому хотя бы интерфейс на русском языке — это большая помощь для онлайн-шоппинга на этой торговой площадке. Ебей не пошел по пути китайского собрата Алиэкспресс, где совершается машинный (очень корявый и непонятный, местами вызывающий смех) перевод описания товаров. Надеюсь, что на более продвинутом этапе развития искусственного интеллекта станет реальностью качественный машинный перевод с любого языка на любой за считанные доли секунды. Пока имеем вот что (профиль одного из продавцов на ебей с русским интерфейсом, но англоязычным описанием):
    https://uploads.disquscdn.com/images/7a52c9a89108b922159a4fad35de0ab0bee0c8804b9731f56d8a1dc659655d60.png