Тарифы Услуги Сим-карты

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

Рис. 100.

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

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

Базовый уровень

Самый низкий уровень программного обеспечения. Оно отвечает за взаимодействие с базовыми аппаратными средствами. Базовые программные средства хранятся в микросхемах ПЗУ. Программы и данные записываются в микросхемы ПЗУ на этапе производства. В тех случаях, когда изменение базовых программных средств во время эксплуатации является технически целесообразным, вместо микросхем ПЗУ применяются перепрограммируемые постоянно запоминающие устройства (ППЗУ - англ. Erasable and Programmable Read Only Memory, EPROM).

Системный уровень

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

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

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

Служебный уровень

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

Прикладной уровень

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

К прикладным программным средствам относят:

  • - текстовые редакторы - предназначены для создания и редактирования текста. Дополнительные функции состоят в автоматизации процесса ввода и редактирования. В качестве примера можно привести программу Notepad (Блокнот);
  • - текстовые процессоры. Основным отличием текстовых процессоров от текстовых редакторов в том, что они позволяют не только вводить и редактировать тексты, но и внедрять в него графики, формулы, таблицы и других объекты. Классическим примером текстового процессора является Microsoft Word;
  • - графические редакторы - предназначены для создания или обработки графических изображений.

Различают: растровые редакторы, векторные редакторы и программные средства для создания и обработки трехмерной графики (ЗО-редакторы). Самый простой пример растрового графического редактора, который присутствует на каждом компьютере - Paint. Растровые изображения имеют несколько видов расширения: jpeg или jpg, png, gif, bmp и др. Второй пример графического растрового редактора - Adobe Photoshop. Photoshop имеет огромный функционал, поддержку большого числа плагинов (программные модули, динамически подключаемые к основной программе и предназначенные для расширения и/или использования ее возможностей) и инструментов. Позволяет работать в различных цветовых моделях и с различными расширениями файлов.

Векторный графический редактор CorelDRAW из пакета CorelDRAW Graphics Suite представляет собой мощный профессиональный продукт для создания различного рода графики и анимации. Тем не менее благодаря встроенной развитой системе обучения и справки программа весьма проста для освоения даже новичками в области векторной графики.

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

Редакторы трехмерной графики служат для создания фильмов, компьютерных игр, графического дизайна, изобилующих анимацией, визуальными эффектами. Широкое распространение подобные программы нашли в области машиностроения, архитектуры, производства потребительских товаров и т.п. В качестве примера можно привести такие программные продукты, как Autodesk Maya, Autodesk 3ds Max:

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

Принято делить СУБД на настольные и промышленные. Примером настольных СУБД служат: Access, FoxPro. Промышленные СУБД ориентированы на создание информационных систем, оперирующих большим объемом информации с повышенным требованием безопасности, например: Oracle, MS SQL Server:

  • - электронные таблицы - представляют собой программный инструмент, предназначенный для хранения различных типов данных, проведения над ними расчетов. Самое популярное средство работы с электронными таблицами - программа Excel;
  • - системы автоматизированного проектирования (САПР) - предназначены для автоматизации проектно-конструкторских работ. Применяются в машиностроении, приборостроении, архитектуре.

Наиболее распространенной САПР в мире является программа AutoCAD (англ. Computer-Aided Design) - двух- и трехмерная система автоматизированного проектирования и черчения. В качестве примера российской САПР можно привести систему ADEM (англ. Automated Design Engineering Manufacturing), предназначенную для автоматизации конструкторско-технологической подготовки производства;

  • - настольные издательские системы - позволяют осуществлять электронную верстку широкого спектра основных типов документов: информационного бюллетеня, цветной брошюры, каталога, справочника. Примерами таких программ являются: Corel Ventura, Page Maker, QuarkXPress, Frame Maker, MS Publisher;
  • - экспертные системы - предназначены для анализа данных, содержащихся в базе знаний, и выдачи рекомендаций по запросу пользователя.

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

  • - web-редакторы (HTML-редакторы) - позволяют создавать с минимальными временными затратами простые и сложные, красиво оформленные Web-страницы. Одним из наиболее популярных HTML-редакторов в мире является программа Adobe Dreamweaver;
  • - браузеры (обозреватели) - программные средства, предназначенные для просмотра web-сайтов. Наиболее популярными являются программы Internet Explorer, Mozilla Firefox, Google Chrome, Opera;
  • - бухгалтерские системы (системы автоматизации бухгалтерского учета) - предназначены для автоматизации подготовки бухгалтерских документов предприятия и их учета, для подготовки регулярных отчетов по итогам производственной, хозяйственной и финансовой деятельности.

Бухгалтерский учет в крупных предприятиях ведется при помощи современных ERP (англ. Enterprise Resource Planning System - система планирования ресурсов предприятия) - систем, позволяющих автоматизировать не только бухгалтерский учет, но и управление производством. В этих целях обычно используются такие системы, как SAP, Oracle E-Business Suite, 1С:Предприятие, Microsoft Dynamics NAV (Navision), ERP «Галактика» и др.;

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

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

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

К служебным программным средствам относят:

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

Типичными представителями этого класса программ являются FAR Manager, Total Commander, FreeComander;

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

Из числа наиболее популярных программ можно выделить: ARJ, РКРАК, LHA, ICE, HYPER, ZIP, РАК, ZOO, RAR;

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

Диагностика - систематизированный способ поиска неисправностей с последующим их устранением. Среди программ диагностики можно выделить SiSoftware Sandra (англ. System ANalyser, Diagnostic and Reporting Assistant) - это информационная и диагностическая программа. Она предоставляет практически всю информацию об аппаратном и программном обеспечении компьютера. Другая программа - 3DMark, ориентированная исключительно на измерение производительности видеосистемы;

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

В качестве примера можно привести программу MB Probe, с помощью которой можно снимать температуру от нескольких термодатчиков, определить напряжения ядра процессора и материнской платы, держать под контролем обороты вентиляторов. Температура винчестера, атрибуты внутренней системы диагностики S.M.A.R.T., а также напряжения датчиков оборотов вентиляторов материнской платы могут быть представлены с помощью утилиты SpeedFan;

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

К антивирусному программному обеспечению данной категории относят Kaspersky Virus Removal Tool - программу разработанную специалистами лаборатории Касперского для сканирования компьютера на наличие вредоносных программ. Kaspersky A VP Tool находит и изолирует: вирусы, трояны, черви, шпионские и рекламные модули, все типы руткитов и тому подобные вредоносные программы. Другая популярная программа Dr.Web Curelt! - бесплатный антивирус для сканирования, обнаружения и удаления (лечения) компьютеров под управлением Windows.

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

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

Контрольные вопросы и задания

  • 1. Что называется программой? Дайте определение понятию «программная конфигурация».
  • 2. Начертите схему уровней программного обеспечения.
  • 3. Дайте характеристику базовому уровню программного обеспечения.
  • 4. Что называется драйвером устройства? Опишите назначение программ системного уровня.
  • 5. Каково назначение утилит? Поясните назначение программ системного уровня. Приведите примеры подобных программ.
  • 6. Перечислите программы, которые относят к прикладному уровню программного обеспечения.
  • 7. Какие типы программ, относящиеся к графическим редакторам, вы знаете?
  • 8. Поясните основные функции систем управления базами данных. Приведите примеры программ данного класса.
  • 9. В чем особенности экспертных систем?
  • 10. Раскройте назначение финансовых аналитических систем. Приведите примеры программ данного класса.
  • 11. Перечислите программы, относящиеся к служебным программным средствам.
  • 12. Какой класс программ позволяет выполнять основные операции над файлами? Приведите примеры.
  • 13. В чем отличие программ, предназначенных для диагностики и мониторинга компьютерных систем?
  • 14. Что относится к средствам обеспечения компьютерной безопасности? Перечислите и опишите соответствующие программы.
  • 15. Разработайте таблицу, которая содержит рассмотренные виды программного обеспечения, установленные на вашем компьютере.

по информатике

« Программное обеспечение компьютера»


Введение

2.1 ПО с открытым кодом (Open source)

3. ОС Microsoft Windows

4. ОС GNU/Linux

5. Файловая система

6. Драйверы

7. Вредоносные программы и антивирусные средства

7.1 Вирусы

7.2 Сетевые черви

7.3 Троянские программы

7.4 Административные меры борьбы с вирусами

7.5 Признаки появления вирусов

7.6 Краткий обзор антивирусных пакетов

8. Архиваторы

9. Программы обслуживания жестких дисков

Список использованной литературы

Введение

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

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

В компьютерном жаргоне часто используется слово «софт» от английского software.

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

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

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

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

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

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

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

С 1990-х наиболее распространёнными операционными системами являются ОС семейства Microsoft Windows и системы класса UNIX (особенно Linux).

Основные функции ОС:

Стандартизованный доступ к периферийным устройствам (устройствам ввода-вывода);

Управление оперативной памятью;

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

Пользовательский интерфейс.

Дополнительные функции ОС:

Параллельное или псевдопараллельное выполнение задач (многозадачность);

Взаимодействие между процессами;

Межмашинное взаимодействие (компьютерная сеть);

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

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

1. Семейства и хронология операционных систем

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

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

В 1982 г. – фирма Microsoft выпустила ставшую на долгие годы самой популярной для IBM-совместимых ПК операционную систему MS-DOS (Disc Operating System).

В 1985 г.– все та же Microsoft выпустила первую версию Windows, которая развилась и на сегодня является самой распространенной операционной системой с самыми популярными прикладными программами.

1991 г. – год рождения операционной системы Linux – основного конкурента Windows, получающего все более широкое распространение.

Кроме того, можно перечислить много названий операционных систем различных производителей, например: Netware (Novell), OS/2 (IBM), SunOS (Sun Microsystems), Java Desktop System (Sun Microsystems), FreeBSD (одно из open source ответвлений UNIX) и т.п.

2. Правовая охрана программ и GNU GPL

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

Собственническое или проприета́рное программное обеспечение (proprietary software) - это программное обеспечение, которое имеет ограничения на его использование и копирование, обычно требуемые собственником. Предотвращение использования, копирования или модификации могут быть достигнуты правовыми или техническими средствами. Технические средства включают в себя выпуск только машинно-читаемых двоичных файлов, и сокрытия читаемого человеком исходного кода. Правовые средства могут включать в себя лицензирование ПО, копирайт (copyright, ©) и патенты.

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

В семидесятых годах 20 века программное обеспечение зачастую разрабатывалось свободными объединениями программистов и бесплатно передавалось другим нуждающимся в нем пользователям. Нередко этим занимались даже крупные фирмы. К 1983 году положение изменилось - наступила эра персональных компьютеров, коммерческие программы и операционные системы (в частности, DOS от Microsoft) начали свое победное шествие по миру. Чуть позже идея коммерциализации проникла и в мир «больших» машин и «серьезного» программирования.

Ричард Столлмен, один из основателей ОС Unix в1983 году, основал проект GNU, целью которого было вернуть прежние взаимоотношения производителей и потребителей программного обеспечения. GNU (рекурсивный акроним от англ. GNU is Not Unix - «GNU - это не Unix») - проект по созданию свободной UNIX-подобной операционной системы.

В рамках проекта GNU в 1988 г Столлмен совместно с юристами разработал лицензию GNU General Public License (Открытое лицензионное соглашение GNU) для программного обеспечения. Её также сокращённо называют GNU GPL или даже просто GPL, если из контекста понятно, что речь идёт именно о данной лицензии.

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

Сколько угодно копировать, как угодно широко ее распространять;

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

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

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

Итак, свобода программного обеспечения состоит из:

Свободы писать (модифицировать) код;

Свободы распространять (публиковать, тиражировать) код.

2.1. ПО с открытым кодом (Open source)

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

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

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

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

3. ОС Microsoft Windows

MS Windows (произносится Ви́ндоуз) - семейство операционных систем компании Microsoft (Майкрософт). Глава корпорации Microsoft – Билл Гейтс.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Системное ПО можно разделить на базовое ПО, операционную систему и сервисное ПО.

Базовое системное ПО - это набор базовых программ, встроенных в элементы аппаратуры на этапе ее изготовления и хранящихся в соответствующих ПЗУ. Основная часть базового ПО - это система BIOS (Basic Input and Output System), записанная в ПЗУ на материнской плате. Можно выделить следующие основные функции BIOS.

  • 1. Поддержка аппаратных интерфейсов
  • 2. Тестирование аппаратных компонентов ПК при его включении.
  • 3. Загрузка операционной системы .

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

Настройка системы BIOS возможна через программу BIOS Setup, являющуюся частью BIOS. Для запуска этой программы необходимо нажать клавишу Delete после включения компьютера, но до начала загрузки операционной системы (в течение нескольких секунд после включения компьютера). Одна из настроек BIOS, которая используется наиболее часто, - указание загрузочного устройства операционной системы, т.е. указание, на каком носителе данных находится операционная система. Как правило, в BIOS устанавливается список из 3-х носителей, которые просматриваются по очереди, если на каком-либо из них обнаруживается установленная операционная система, то эта система загружается. Если ни на одном из устройств списка не обнаружено операционной системы, то выдается соответствующее сообщение и запрос на ввод идентификатора какого-нибудь другого устройства. Без операционной системы совершать на компьютере какие-либо программные действия, кроме настройки BIOS, невозможно. Если используемая операционная система установлена на жестком диске и нет необходимости эту систему менять, то в загрузочном списке целесообразно поставить этот жесткий диск на первое место. Если же есть необходимость загружать операционную систему с CD-привода (при установке новой операционной системы), то в загрузочном списке CD-привод должен стоять раньше жесткого диска. Многие настройки BIOS нет необходимости менять через программу BIOS Setup - их можно установить через соответствующие утилиты операционной системы. Например, системные часы можно установить через раздел Дата и время Панели управления Windows (при этом произойдет именно перенастройка соответствующего параметра BIOS). Современные ПЗУ BIOS как правило построены на основе флэш-памяти, поэтому для них возможна функция перезаписывания (прошивки) - для этого в состав BIOS входят соответствующие программы. Перезаписывание BIOS - очень критичная процедура - если на этапе перезаписывания произойдет сбой, компьютер окажется полностью неработоспособным .

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

База

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

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

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

Начнем разбор вопроса о том, что такое программное обеспечение, с его классификации.

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

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

В этом классе можно выделить два важных подраздела:

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

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

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

Для компьютера

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

В инструментальном ПО можно выделить три подгруппы:

  • языки и системы программирования;
  • интегрированные среды программирования;
  • программные комплексы.

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

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

Для пользователя

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

  • Процедурно-ориентированные языки программирования - это специализированное программное обеспечение. Примеры - Паскаль (Pascal), Бэйсик (Basic). Эти простейшие языки программирования служат для написания элементарных прикладных программ, функций и процедур. А также, для описания алгоритмов решения поставленных задач.
  • Проблемно-ориентированные языки - позволяют решать задачи в более узких конкретных областях программирования, их примерами можно назвать - Лисп, АПЛ.
  • Объектно-ориентированные языки - более современные и удобные средства для создания прикладных приложений и создающие различные виды программного обеспечения для конечного пользователя. Главной их особенностью является возможность делать готовые элементы приложения, такие как диалоговые окна, поля для заполнения, кнопки. Для иллюстрации можно назвать такие языки, как С++ и Visual Basic.

С чем мы работаем

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

  1. Пожалуй, самая распространённая категория приложений - это мультимедиа. Т. е. программы воспроизведения видео, аудио, игры. Всё то, что служит для развлечения конечного пользователя. Таким образом, одно из величайших изобретений человечества из рабочего научного инструмента превратилось в средство развлечения широкой публики.
  2. Информационно-поисковое ПО. Как понимаете, это различные браузеры и клиенты интернет-технологии, предназначенные для получения информации из мировой сети.
  3. Общего назначения. Это виды программного обеспечения, используемого в обычной жизни исключительно по необходимости. Это графические и текстовые редакторы, почтовые сервисы, базы данных.
  4. Проблемно-ориентированное. Например, экспертные системы или системы аудио- и видеоконференций.
  5. Программные среды профессионального уровня. Это бухгалтерские и педагогические системы, системы контроля управления доступа.

Наглядный пример

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

  • 1C Бухгалтерия. Яркий пример профессионального ПО, служащего для работы с бухгалтерией, правовой областью и ещё множеством поддерживаемых и смежных областей.
  • Microsof Office Word. Самый понятный и доступный пример ПО общего назначения. Практически каждый в своей жизни запускал этот пакет программ для составления резюме, реферата или отчета.
  • Microsof Office Access. Простейшая реализация базы данных, также являющееся ПО общего назначения.
  • О категории мультимедиа слышали все. Это всем известный Windows Media Player, способный проигрывать как аудио-, так и видеофайлы.
  • Photoshop - очередной пример ПО общего назначения. Являясь профессиональным графическим редактором, используемым во многих полиграфических фирмах, также относится к программной среде профессионального уровня.
  • Если говорить о ПО общего назначения, то с ним сталкивался каждый человек, хоть раз запускавший компьютер. Это всем известный Windows.

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

Инсталляция

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

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

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

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

Творение

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

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

Выводы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Системное

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

    Прикладное

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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