Рассмотрим наиболее распространенный способ классификации программного обеспечения, который основывается на области применения программных продуктов:
· Системное программное обеспечение
· Инструментальное программное обеспечение
· Прикладное программное обеспечение
Системное ПО
Системное программное обеспечение (System Software), СПО – совокупность системных программ и программных комплексов для организации работы аппаратного обеспечения компьютера (Hardware) и сетей ЭВМ.
СПО можно разделить на две категории: базовое СПО и сервисное СПО (или утилиты).
В базовое программное обеспечение входят:
· Базовая система ввода-вывода (БСВВ, BIOS);
· Операционная система, сетевая операционная система;
· Командные процессоры, операционные оболочки (текстовые и графические).
Базовая система ввода-вывода является низшим уровнем программного обеспечения. Она отвечает за взаимодействие с базовыми аппаратными средствами. Базовое программное обеспечение содержится в составе базового аппаратного обеспечения и сохраняется в специальных микросхемах постоянного запоминающего устройства (ПЗУ), которые обычно называются BIOS – Base Input-Output System (базовая система ввода-вывода). Программы и данные записываются в ПЗУ на этапе производства и не могут быть изменены во время эксплуатации.
Виды программного обеспечения: системные(ос, утилиты, драйверы), прикладные
Примерами программ из BIOS могут служить:
· программа стартовой загрузки компьютера (запуска процессора) при включении;
· программа самотестирования аппаратных компонентов компьютера после стартовой загрузки — «POST (Power-On Self Test)»
· программа первоначальной загрузки компьютера, которая получает управление после успешного завершения тестов POST и делает первый шаг для загрузки операционной системы. Она считывает с жесткого, гибкого диска, DVD или CD программу начальной загрузки операционной системы, записанную в загрузочном секторе, и передает ей управление;
· программа установки параметров компьютера «Setup», которая предназначена для просмотра и модификации энергонезависимой CMOS-памяти, например для изменения текущего времени и даты, параметров быстродействия процессора, памяти, шин и т.п.
· программа низкоуровневого форматирования дисков, программы для автоматического определения конфигурации накопителей на жестких магнитных дисках, программы конфигурирования системных плат;
· подпрограммы обработки прерываний от различных периферийных устройств, например для отображения на экране компьютера символов, для ввода данных с клавиатуры и мыши, записи и чтения данных с магнитных дисков, для печати на принтере и т.п.
Операционная система представляет собой совокупность программных средств и предназначена для:
· Управления ресурсами ЭВМ (техническим оборудованием, аппаратурой, периферийными устройствами, памятью и т.п.);
· Управления процессами (программами, приложениями), выполняемыми на ЭВМ;
· Предоставления пользователю средств (интерфейса) по взаимодействию с ЭВМ с целью управления ресурсами и процессами.
Основные понятия системного подхода
Основные функции ОС:
· Загрузка пользовательских программ в оперативную память и их исполнение;
· Обеспечение работы с устройствами долговременной памяти, такими как магнитные диски, ленты, оптические диски и т.д. ОС управляет свободным пространством на этих носителях и структурирует пользовательские данные, организует файловую систему;
· Предоставление стандартного доступа к различным устройствам ввода/вывода, таким как терминалы, модемы, печатающие устройства и т.д.;
· Обеспечивать пользовательский интерфейс для управления любыми ресурсами;
· Параллельное (псевдопараллельное) исполнение нескольких задач;
· Распределение ресурсов компьютера между задачами;
· Организация взаимодействия задач друг с другом;
· Взаимодействие пользовательских программ с нестандартными внешними устройствами;
· Организация межмашинного взаимодействия и разделения ресурсов;
· Защита системных ресурсов, данных и программ пользователя, исполняющихся процессов и самой себя от ошибочных и зловредных действий пользователей, и их программ.
Наиболее известные ОС: MS-DOS, IBM OS/2, Unix, Free BSD, GNU/Linux, MS Windows, Apple Mac OS, Novell NetWare, SunOS, Solaris и др.
Сетевая операционная система (Network operating system) – это операционная система, которая обеспечивает обработку, хранение и передачу данных в информационной сети.
Системный администратор сетевой ОС определяет разделяемые ресурсы, задаёт пароли, определяет права доступа для каждого пользователя или группы пользователей. Таким образом, сетевые ОС делят на сетевые ОС для серверов и сетевые ОС для пользователей. Сетевая ОС для пользователей – это операционная система отдельного компьютера, обеспечивающая ему возможность работать в сети.
Основными задачами сетевой ОС являются:
· Разделение ресурсов сети (например, дисковые пространства, принтеры и т.п.);
· Сетевая ОС должна уметь обеспечивать:
· Адресацию объектов в сети;
· Функционирование сетевых служб;
· Коммуникационные функции (сообщения, почта);
· Адресацию, буферизацию, маршрутизацию информации в сети;
· Защиту от несанкционированного доступа к данным в сети;
· Ограничение доступа в определенное время, и (или) для определенных станций, и (или) определенное число раз;
· Управление пользователями и ограничение совокупности доступных конкретному пользователю каталогов и ресурсов;
· Ограничение для конкретного пользователя списка возможных действий (например, только чтение файлов);
· Все функции управление сетью и т.п.
Наиболее известные сетевые ОС: Apple Talk, LANtastic, Novell NetWare, NFS, OS/2 LAN Server/Manager, MS Windows 2003/2008 Server, POWERfusion, POWERLan, Vines, Unix, GNU/Linux и др.
Командный процессор (интерпретатор команд) – системная программа, предназначенная для интерпретации (выполнения) команд пользователя, запуска программ, выполнения скриптов (последовательности команд), заданий и некоторых других задач. Командный процессор запускается либо при входе пользователя в систему, либо из какой-то программы, например из графической оболочки (в т.ч. из другого командного процессора).
Приведем примеры командных процессоров:
· Command.com (MS-DOS и Windows 9x)
· cmd.exe (NT, 2000, 2003, XP, Vista)
· Bash, Sh, csh (Linux, Unix)
Операционные оболочки — специальные программы, предназначенные для облегчения общения пользователя с командами операционной системы. Операционные оболочки имеют текстовый и графический варианты интерфейса конечного пользователя.
Текстовые оболочки, как правило «надстраиваются» в виде дополнительной системной программы над командным процессором и усовершенствуют его командный интерфейс, делая удобным для пользователя выполнение основных операций в операционной системе, например, создание файлов, каталогов, копирование, перемещение, переименование файлов, просмотр, распечатка файлов, просмотр содержимого каталогов и т.п.
Наиболее популярны следующие виды текстовых оболочек операционной системы Windows:
· Norton Commander 5.0;
· Norton Navigator и др.
Графические оболочки являются более удобными по сравнению с текстовыми, т.к. используют встроенный графический интерфейс ОС. По функциональному назначению отличия от текстовых оболочек – минимальны. Как правило, в современных ОС графические оболочки встраиваются непосредственно в ОС и запускаются в самом конце загрузки ОС. Примером такой оболочки может служить «Проводник Windows» (Windows Explorer), который представляет собой визуальную среду управления включающую в себя Рабочий стол, Меню пуск, Панель задач, а также функции управления файлами.
Примеры графических оболочек: Windows Explorer, FreeBSD GNOME, X-Windows System, Motif, CDE, KDE, Aston shell, Geoshell, Secure Desktop и др.
Сервисное СПО или утилиты позволяют расширить набор дополнительно устанавливаемых программ для выполнения вспомогательных операций обработки данных или обслуживания компьютеров, которые можно разделить на следующие группы:
· Программы диагностики работоспособности компьютера;
· Антивирусные программы, обеспечивающие защиту компьютера, обнаружение и восстановление зараженных файлов;
· Программы обслуживания дисков, обеспечивающие проверку качества поверхности магнитного диска, контроль, сохранности файловой системы на логическом и физическом уровнях, сжатие дисков, резервное копирование данных на внешние носители и т.п.;
· Программы архивирования данных, которые обеспечивают процесс сжатия информации с целью уменьшения объема памяти для ее хранения;
· Дополнительные программы обслуживания сети и др.
Инструментальное ПО предназначено для использования в ходе проектирования, разработки и сопровождения компьютерных программ. К инструментальному ПО можно отнести следующие виды программ:
· Средства автоматизированного тестирования программ
· Комплект средств разработки (SDK)
· Системы управления версиями
· Системы программирования и интегрированные среды разработки программ
· Системы автоматизации программирования (CASE) и др.
Компилятор – это программное средство для перевода программ, написанных на каком-либо языке программирования, в программы, представленные в двоичных машинных кодах. Компиляторы делятся на три вида – трансляторы, ассемблеры и интерпретаторы.
Транслятор– это компилятор, который полностью переводит программы на каком-либо языке программирования в машинные коды или в так называемый объектный код. Полученная программа в машинных кодах может быть позже преобразована в исполнимый модуль, загружена в оперативную память и запущена на выполнение процессором. Разновидностью транслятора считается ассемблер – программа, которая переводит текст программы, написанный на машинно-ориентированном языке («мнемокоде» или «языке ассемблера») в двоичный код. Понятие ассемблера зачастую связывается непосредственно с машинно-ориентированным языком. Поэтому этот термин иногда используется в значении – язык программирования машинного уровня.
Интерпретатор– это компилятор, который построчно (или по одной команде) переводит исходную программу на языке программирования в двоичные коды и тут же передает этот двоичный код процессору на выполнение.
Компоновщик– программа, которая производит компоновку исполняемого или загрузочного кода – принимает на вход один или несколько объектных модулей и собирает по ним один исполнимый модуль, который может быть загружен в память и запущен на выполнение процессором.
Отладчик– как правило, является частью среды разработки программного обеспечения или отдельным приложением, предназначенным для поиска ошибок в программе. Отладчик позволяет выполнять пошаговую трассировку программы, отслеживать, устанавливать или изменять значения переменных в процессе выполнения программы, устанавливать и удалять контрольные точки или условия остановки и т. д.
Средства автоматизированного тестирования программ – программные модули, позволяющие создавать автоматизированные тесты с минимальным участием человека и в автоматизированном режиме выдавать на вход тестовые последовательности, отслеживать реакцию работы тестируемой программы. Как правило, такие средства тестируют программы на быстродействие, надежность при больших потоках данных, – это так называемое «нагрузочное тестирование». Например, проверка программ при большом сетевом трафике и т.п. Но существуют средства по проверке функциональных возможностей, например инструменты, предназначенные для проверки соответствия приложения предъявляемым бизнес-требованиям.
Генератор документации– программа или пакет программ, позволяющая получать документацию, предназначенную для программистов (документация на API) и/или для конечных пользователей системы, по особым образом комментированному исходному коду и, в некоторых случаях, по исполняемым модулям (полученным на выходе компилятора). Обычно, генератор анализирует исходный код программы, выделяя синтаксические конструкции, соответствующие значимым объектам программы (типам, классам и их членам/свойствам/методам, процедурам/функциям и т. п.). В ходе анализа также используется метаинформация об объектах программы, представленная в виде документирующих комментариев. На основе всей собранной информации формируется готовая документация, как правило, в одном из общепринятых форматов – HTML, HTMLHelp, PDF, RTF и других.
Комплект средств разработки (SDK, Software Development Kit) или «devkit» – набор программ и библиотек подпрограмм, позволяющий специалистам по программному обеспечению создавать приложения для определённого пакета программ, программного обеспечения базовых средств разработки, аппаратной платформы, компьютерной системы, видеоигровых консолей, операционных систем и прочих платформ. Программист, как правило, получает SDK непосредственно от разработчика целевой технологии или системы. Часто SDK распространяется через Интернет. Многие SDK распространяются бесплатно для того, чтобы поощрить разработчиков использовать данную технологию или платформу.
Система управления версиями (Version Control System, VCS или Revision Control System) — программное обеспечение для облегчения работы с изменяющейся информацией. Система управления версиями позволяет хранить несколько версий одного и того же документа, при необходимости, возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение и многое другое. Такие системы наиболее широко применяются при разработке программного обеспечения, для хранения исходных кодов разрабатываемой программы. Однако, они могут с успехом применяться и в других областях, в которых ведётся работа с большим количеством непрерывно изменяющихся электронных документов.
Интегрированная среда разработки (ИСР) (Integrated development environment, IDE) – система программных средств, используемая для разработки программного обеспечения. Обычно среда разработки включает в себя текстовый редактор, компилятор и/или интерпретатор, средства автоматизации сборки и отладчик.
Иногда также содержит средства для интеграции с системами управления версиями и разнообразные инструменты для упрощения конструирования графического интерфейса пользователя. Многие современные среды разработки также включают браузер классов, инспектор объектов и диаграмму иерархии классов — для использования при объектно-ориентированной разработке ПО. Хотя и существуют среды разработки, предназначенные для нескольких языков — такие как Eclipse, NetBeans, Embarcadero RAD Studio или Microsoft Visual Studio, обычно среда разработки предназначается для одного определённого языка программирования — как например, Visual Basic, Delphi, Dev-C++. Частный случай ИСР — среды визуальной разработки, которые включают в себя возможность визуального редактирования интерфейса программы. Иногда ИСР называют «система программирования», хотя в большинстве случаях ИСР охватывает расширенный спектр функций и возможностей.
Системы автоматизации программирования(Computer-Aided System Engineering, CASE) – программный комплекс, автоматизирующий весь технологический процесс анализа, проектирования, разработки, кодирования, отладки и сопровождения сложных программных систем. Основное достоинство CASE-технологии – это поддержка коллективной работы над проектом за счет возможности работы в локальной и глобальной сети разработчиков, экспорта(импорта) любых фрагментов проекта, организованного управления программами. Как правило, CASE-системы поддерживают автоматическую кодогенерацию программ – создание каркаса программой системы и создание полного продукта с системной документацией.
4. Задания:
Источник: helpiks.su
Лекция системное программирование. Лекция 1. Задачи, архитектуры, виды
Единственный в мире Музей Смайликов
Самая яркая достопримечательность Крыма
Скачать 0.64 Mb.
1
Введение в системное программирование
Системное ПО: понятие, состав. Операционная система:
задачи, архитектуры, виды.
Цель:
изучение основ системного программного обеспечения, средств современного системного программирования на примере операционной системе Windows, приемов системного программирования для решения широкого круга задач.
Задачи:
изучить основные понятия вычислительная машина, вычислительная система, информационная система;
познакомиться с системным программным обеспечением;
познакомиться с назначением и основными задачами операционных систем.
Традиционно, программы, работающие на компьютере, можно разделить на следующие категории:
прикладные программы, непосредственно обеспечивающие выполнение необходимых пользователям работ — редактирование текстов, рисование картинок, обработка информационных массивов и т. д.;
системные программы — служат для нормальной работы аппаратных устройств компьютера, сети, управления прикладными программами и других служебных целей.
Некоторые специалисты отдельно выделяют также и
инструментальные системы (системы программирования), обеспечивающие создание новых программ для компьютера.
Однако последнюю категорию зачастую также относят к классу системных программ.
Прикладные
программы
предназначены для решения функциональных задач, они выполняют обработку информации различных предметных областей.
Это самый многочисленный класс программных продуктов.
Системное программное обеспечение (СПО) – совокупность служебных программ, предназначенных для выполнения следующих задач:
общего управления системой на всех этапах вычислительного процесса;
предоставления унифицированного доступа прикладных программ к ресурсам ВС;
написания программ как таковых, представления их в виде загружаемых и исполняемых кодов;
2
предоставления специализированных сервисов общего назначения;
обеспечения защиты ВС, конфиденциальности и сохранности пользовательских данных;
предоставления доступа к внешним ресурсам, в т.ч. других ВС.
Рассмотрение СПО неразрывно связано с понятием вычислительной системы.
Вычислительная система – совокупность аппаратных и программных средств (рис. 1), предназначенная для решения вычислительных задач
(выполнения вычислительных процессов).
Аппаратное обеспечение ВС – совокупность физических устройств
(электронных компонентов), связанная шинами передачи данных, реализующая вычислительный процесс.
Программное обеспечение ВС – совокупность программ и данных, обеспечивающих организацию вычислительного процесса и управление им.
Рисунок 1. Компоненты ВС и виды СПО
Любая ВС имеет многоуровневую иерархическую структуру, подобную приведенной на рис. 2, где цветом выделены компоненты, относящиеся к системному программному обеспечению.
Системное программное обеспечение реализует связь аппаратного и программного
3 обеспечения, выступая как «межслойный интерфейс» с одной стороны которого аппаратура, а с другой приложения пользователя.
Рис. 2. Иерархия компонентов ВС
Из этой иерархии видно, что системное ПО занимает промежуточное место между аппаратной частью ВС и прикладным ПО, что и определяет функционирование СПО как «посредника» в диалоге пользователя с компьютером. Строго говоря, СПО предоставляет интерфейс к вычислительным ресурсам системы (аппаратным и программным). В числе средств, представляемых этим интерфейсом следующие виды СПО:
драйверы устройств – библиотеки функций, предоставляющих доступ к возможностям оборудования конкретных типов (например принтеров, сетевых адаптеров и т.п.);
операционная система (ОС) – управляющая программа (как правил, набор программ), обеспечивающая доступ пользовательских программ к аппаратным ресурсам компьютера;
загрузчики – программы, выполняющие загрузку исполнимого кода в основную память системы;
трансляторы – программы, предназначенные для преобразования исходных кодов в исполняемые;
утилиты – специализированные программы служебного назначения, предназначенные, например, для повышения надежности или производительности системы в целом;
системные сервисы
– программы, выполняющие специализированные функции общего назначения (например, доступ к разделяемым ресурсам).
Наиболее значимым видом системного программного обеспечения являются операционные системы.
Операционная система (ОС) — это комплекс программ, который обеспечивает управление аппаратными средствами компьютера, организует
4 работу с файлами (в том числе запуск и управление выполнением программ), а также реализует взаимодействие с пользователем, то есть интерпретацию
5 вводимых пользователем команд и вывод результатов обработки этих команд.
Операционная система предназначена для управления выполнением пользовательских программ, планирования и управления вычислительными ресурсами ЭВМ.
Операционная система, с одной стороны, выступает как интерфейс между аппаратурой компьютера и пользователем с его задачами, с другой стороны, предназначена для эффективного использования ресурсов вычислительной системы и организации надежных вычислений.
Помимо рассмотренных, можно выделить еще одну группу программ, занимающих промежуточное положение между СПО и прикладным программным обеспечением. Это — специальное программное обеспечение
информационных и управляющих систем.
К специальному программному обеспечению информационных и
управляющих систем относятся
программы (системы) управления базами данных;
программы управления языком интерфейса информационных систем;
программы сбора и предварительной обработки информации (в информационно-измерительных системах, например, бортовые системы).
ПО этого класса часто оказывается скрытым в составе драйверов оборудования или поставляется в виде библиотек функционального расширения языков программирования.
Поэтому часто такие ПО относят к системному программному обеспечению.
Мы будем считать ПО такого типа отдельным классом и в курсе “СПО” рассматривать не будем.
Что касается непосредственно СПО, то данный класс программных продуктов тесно связан с типом компьютера и является его неотъемлемой частью.
Программные продукты данного класса в основном ориентированы на квалифицированных пользователей — профессионалов в компьютерной области: системного программиста, администратора сети, прикладного программиста, оператора.
Однако знание базовой технологии работы с этим классом программных продуктов требуется и конечным пользователям персонального компьютера, которые самостоятельно не только работают со своими программами, но и выполняют обслуживание компьютера, программ и данных.
6
К системным программным продуктам предъявляются высокие требования по надежности и технологичности работы, удобству и эффективности использования.
Классификация системного программного обеспечения
В СПО традиционно включают
системные управляющие и
системные обрабатывающие программы.
Управляющие системные программы организуют корректное функционирование всех устройств системы.
Основные системные функции управляющих программ —
управление вычислительными процессами и вычислительными комплексами и
работа с внутренними данными ОС.
Как правило, они находятся в основной памяти. Это резидентные программы, составляющие ядро ОС. Управляющие программы, которые загружаются в память непосредственно перед выполнением, называю транзитными (transitive).
В настоящее время системные управляющие программы поставляются фирмами-разработчиками и фирмами-дистрибьюторами в виде инсталляционных пакетов операционных систем и драйверов специальных устройств.
Обрабатывающие системные программы выполняются как специальные прикладные задачи, или приложения.
Эти программы поставляются чаще в виде дистрибутивных пакетов, включающих ПО
Замечание. В пакеты системных программ помимо основных программ, допускающих реконфигурацию, входят специальные настроечные
программы, называемые программами инсталляции. МЫ будем создавать и такие программы.
Другая классификация
Часто Системное ПО компьютера подразделяют на БАЗОВОЕ и
СЕРВИСНОЕ программное обеспечение.
БАЗОВОЕ программное обеспечение (base software) — минимальный набор программных средств, обеспечивающих работу компьютера.
К базовому программному обеспечению компьютера относятся
операционные системы и драйверы в составе ОС;
интерфейсные оболочки для взаимодействия пользователя с ОС
(операционные оболочки) и программные среды;
системы управления файлами.
7
Что такое ОС и для чего она предназначена мы кратко рассмотрели ранее.
Системы управления файлами предназначены для организации более удобного доступа к данным, организованным как файлы.
Вместо низкоуровневого доступа к данным с указанием конкретных физических адресов система управления файлами позволяет использовать логический доступ с указанием имени файла.
Любая система управления файлами не существует сама по себе — она разработана для работы в конкретной ОС и с конкретной файловой системой.
То есть можно было бы систему управления файлами отнести к ОС.
Но в связи с тем, что
1) ряд ОС позволяет работать с несколькими файловыми системами
(либо с одной из нескольких, либо сразу с несколькими одновременно); а дополнительную файловую систему можно установить (т.е. они самостоятельны)
2) простейшие ОС могут работать и без файловых систем;
системы управления файлами выделяются в отдельную группу
системных программ.
Заметим, что часто в специальной литературе системы управления файлами относят все-таки к операционным системам.
СЕРВИСНОЕ программное обеспечение — программы и программные комплексы, которые расширяют возможности базового программного обеспечения и организуют более удобную среду работы пользователя.
Это набор сервисных, дополнительно устанавливаемых программ, которые можно классифицировать по функциональному признаку следующим образом:
драйверы специфических и специальных устройств (те, которые не поставляются в составе ОС).
программы диагностики работоспособности компьютера;
антивирусные программы, обеспечивающие защиту компьютера, обнаружение и восстановление зараженных файлов;
программы обслуживания дисков, обеспечивающие проверку качества поверхности магнитного диска, контроль сохранности файловой системы на логическом и физической уровнях, сжатие дисков, создание страховых копий дисков, резервирование данных на внешних носителях и др.;
программы архивирования данных, которые обеспечивают процесс сжатия информации в файлах с целью уменьшения объема памяти для ее хранения;
программы обслуживания сети.
Эти программы часто называются утилитами. (Заметим, что к антивирусным средствам этот термин обычно не применяется)
8
Утилиты — программы, служащие для выполнения вспомогательных операций обработки данных или обслуживания компьютеров (диагностики, тестирования аппаратных и программных средств, оптимизации использования дискового пространства, восстановления разрушенной на магнитном диске информации и т.п.).
Наибольшее распространение сегодня имеют комплекты утилит:
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.
Редактор текста — это программа для ввода и модификации текста.
Трансляторы
предназначены для преобразования программ, написанных на языках программирования, в программы на машинном языке.
Программа, подготовленная на каком-либо языке программирования, называется исходным модулем. В качестве входной информации трансляторы применяют исходные модули и формируют в результате своей работы объектные модули, являющиеся входной информацией для редактора связей.
Объектный модуль содержит текст программы на машинном языке и дополнительную информацию, обеспечивающую настройку модуля по месту его загрузки и объединение этого модуля с другими независимо оттранслированными модулями в единую программу.
Трансляторы делятся на два класса: компиляторы и интерпретаторы.
Компиляторы переводят весь исходный модуль на машинный язык.
9
Интерпретатор последовательно переводит на машинный язык и выполнят операторы исходного модуля
(У интерпретаторов два основных недостатка. Первый — низкая скорость работы интерпретируемых программ.)
Преимущество интерпретатора перед компилятором состоит в том, что программа пользователя имеет одно представление — в виде текста. При компиляции одна и та же программа имеет несколько представлений — в виде текста и в виде выполняемого файла.
Компоновщик, или редактор связей — системная обрабатывающая программа, редактирующая и объединяющая объектные
(ранее оттраслированные) модули в единые загрузочные, готовые к выполнению программные модули. Загрузочный модуль может быть помещен ОС в основную память и выполнен.
Отладчик позволяет управлять процессом исполнения программы, является инструментом для поиска и исправления ошибок в программе.
Базовый набор функций отладчика включает:
пошаговое выполнение программы (режим трассировки) с отображением результатов,
остановка в заранее определенных точках,
возможность остановки в некотором месте программы при выполнении некоторого условия;
изображение и изменение значений переменных.
Загрузчик — системная обрабатывающая программа, объединяющая основные функции редактора связей и программы выборки в одном пункте задания. Загрузчик помещает находящиеся в его входном наборе данных объектные и загрузочные модули в оперативную память, объединяет их в единую программу, корректирует перемещаемые адресные константы с учетом фактического адреса загрузки и передает управление в точку входа созданной программы.
Средства сетевого доступа обеспечивают обработку, передачу и хранение данных в сети.
Заметим, что чаще говорят о сетевых операционных системах, которые предоставляют пользователям различные виды сетевых служб (управление файлами, электронная почта, процессы управления сетью и др.)
Ключом к использованию этих ресурсов является сервер, специальная программа на компьютере, подключенному к сети, которая принимает запросы (или команды) и посылает ответы автоматически.
Программы, предназначенные для подачи запросов серверу, называются программами-клиентами. Сервер предназначен для их обслуживания. Клиент посылает запросы пользователя на сервер, используя
1 0 стандартизированный формат, называемый протоколом. Ответ сервера содержит информацию, представленную в виде файла, содержащего данные того или иного формата.
Постоянно ведется разработка все новых программ-клиентов, предлагающих более удобные способы взаимодействия с сервером.
Пример. Приложения Mozilla Fire4fox, Internet Explorer, Google Chrome
— программы- клиенты.
Таким образом, в системном ПО мы выделили пять групп системных
программ:
операционные системы;
интерфейсные оболочки для взаимодействия пользователя с ОС
(операционная оболочка) и программные среды;
системы управления файлами;
системы программирования;
утилиты;
средства сетевого доступа.
Требования к системному программному обеспечению
Системные программы должны удовлетворять следующим требованиям:
прозрачность работы;
гарантированная надежность выполнения в соответствии со спецификациями;
(Функциональные требования называются спецификациями)
максимальная скорость выполнения;
минимальные затраты на хранение машинных кодов;
поддержка стандартных средств связи с прикладными программами.
Эффективность системных программ зависит от времени их создания и надежности исполняемого кода.
Выводы:
Требование эффективности системных программ вызывает необходимость использования специальных языков
машинно-ориентированных типа языка Assembler и
высокого уровня типа C или C++.
К типам данных этих языков отнесены указатели на данные различных типов или адреса данных и программных объектов.
Работа с большинством пакетов для разработки системного программного обеспечения предполагает знание и использование ассемблера для создания модулей и ассемблерных вставок.
Источник: topuch.com
Программное обеспечение компьютеров
Программное обеспечение – неотъемлемая часть компьютерной системы. Оно является логическим продолжением технических средств. Сфера применения конкректного компьютера определяется созданным для него ПО.
Сам по себе компьютер не обладает знаниями ни в одной области применения. Все эти знания сосредоточены в выполняемых на компьютерах программах.
Программное обеспечение современных компьютеров включает миллионы программ – от игровых до научных.
Как классифицируется программное обеспечение?
В первом приближении все программы, работающие на компьютере, можно условно разделить на три категории:
- прикладные программы, непосредственно обеспечивающие выполнение необходимых пользователям работ;
- системные программы, выполняющие различные вспомогательные функции, например:
· управление ресурсами компьютера;
· создание копий используемой информации;
· проверка работоспособности устройств компьютера;
· выдача справочной информации о компьютере и др.;
- инструментальные программные системы, облегчающие процесс создания новых программ для компьютера.
Категории программного обеспечения
При построении классификации ПО нужно учитывать тот факт, что стремительное развитие вычислительной техники и расширение сферы приложения компьютеров резко ускорили процесс эволюции программного обеспечения.
Если раньше можно было по пальцам перечислить основные категории ПО – операционные системы, трансляторы, пакеты прикладных программ, то сейчас ситуация коренным образом изменилась.
Развитие ПО пошло как вглубь (появились новые подходы к построению операционных систем, языков программирования и т.д.), так и вширь (прикладные программы перестали быть прикладными и приобрели самостоятельную ценность).
Соотношение между требующимися программными продуктами и имеющимися на рынке меняется очень быстро. Даже классические программные продукты, такие, как операционные системы, непрерывно развиваются и наделяются интеллектуальными функциями, многие из которых ранее относились только к интеллектуальным возможностям человека.
Кроме того, появились нетрадиционные программы, классифицировать которые по устоявшимся критериям очень трудно, а то и просто невозможно, как, например, программа – электронный собеседник.
На сегодняшний день можно сказать, что более или менее определённо сложились следующие группы программного обеспечения:
- операционные системы и оболочки;
- системы программирования (трансляторы, библиотеки подпрограмм, отладчики и т.д.);
- инструментальные системы;
- интегрированные пакеты программ;
- динамические электронные таблицы;
- системы машинной графики;
- системы управления базами данных (СУБД);
- прикладное программное обеспечение.
Структура программного обеспечения показана на рисунке. Разумеется, эту классификацию нельзя считать исчерпывающей, но она более или менее наглядно отражает направления совершенствования и развития программного обеспечения.
В противоположность этому, операционная система или инструментальное ПО не вносят прямого вклада в удовлетворение конечных потребностей пользователя.
Прикладные программы могут использоваться либо автономно, то есть решать поставленную задачу без помощи других программ, либо в составе программных комплексов или пакетов.
Что такое органайзеры?
Органайзеры — это программы — электронные секретари. |
Lotus Organizer
Они позволяют эффективно распорядиться рабочим временем, финансовыми средствами и т.п. Обладают возможностью автоматизации регулярных действий, составления персональных и групповых расписаний, планирования встреч, ведения записной книжки. В их состав традиционной входят календарь, часы, калькулятор и т.п.
Lotus Organizer — блокнот, разбитый по секциям: календарь, список дел, адресная и телефонная книга, планировщик, записная книжка, список памятных дат.
Microsoft Project позволяет спланировать проведение проектов и представить расписание в графическом виде, что очень удобно для сложных проектов.
Вопросы для самоконтроля.
6.1. Что такое программа?
6.2. Что включает в себя понятие «программное обеспечение»?
6.3. Назовите и характеризуйте основные категории программного обеспечения.
6.4. В чем отличие прикладных программ от системных и инструментальных?
6.5. Что входит в системное программное обеспечение?
6.6. В чем состоит назначение операционной системы?
6.7. Характеризуйте основные классы операционных систем.
6.8. Опишите процесс начальной загрузки операционной системы в оперативную память компьютера.
6.9. Что такое файл?
6.10. Как организована файловая система?
6.11. Какой модуль операционной системы осуществляет обслуживание файлов?
6.12. Приведите пример иерархической файловой структуры.
6.13. Что такое базовая система ввода-вывода (BIOS), и в каком разделе памяти она размещается?
6.14. Из каких основных модулей состоит операционная система MS-DOS?
6.15. Назовите основные разновидности программ-утилит и дайте им краткую характеристику.
6.16. К каким категориям программного обеспечения относятся программные пакеты:
— Norton Commander;
— MS-DOS;
— Windows 3.x;
— Windows-NT, Windows 95;
— Microsoft Word;
— Adobe PageMaker;
— Turbo Bascal, Turbo Basic;
— Microsoft Excel, Lotus;
— FoxPro, Access for Windows;
— Microsoft Office, Microsoft Works?
6.17. Для чего предназначен пакет программ Norton Commander?
6.18. Какой вид интерфейса удобнее для пользователя — командный или графический?
6.19. Чем объясняется широкая популярность пакета Norton Commander?
6.20. Что такое компьютерные вирусы, в чем состоят их вредные действия?
6.21. Какие существуют средства борьбы с компьютерными вирусами?
6.22. В чем суть процесса сжатия информации?
6.23. Характеризуйте основные особенности операционных систем Windows-NT и Windows 95.
6.24. Какие языки и системы программирования вы знаете и в чем их особенности?
6.25. В чем отличие процесса интерпретации от процесса компиляции?
6.26. Назовите основные функции текстовых редакторов.
6.27. Какие дополнительные возможности редактирования текстов обеспечивают полнофункциональные издательские системы по сравнению с текстовыми редакторами?
6.28. Назовите функциональные возможности табличного процессора.
6.29. Какие виды входных данных могут быть введены в клетки электронных таблиц?
6.30. Дайте определение и опишите назначение базы данных.
6.31. Приведите пример возможного наполнения базы данных вашего учебного заведения.
6.32. Каковы основные функциональные возможности систем управления базами данных?
6.33. Что такое информационно-поисковые системы?
6.34. Дайте определение пакета прикладных программ.
6.35. Каково назначение библиотек стандартных программ?
6.36. Дайте определения интегрированного пакета программ.
6.37. Каково назначение сетевого программного обеспечения?
Программное обеспечение компьютеров
Программное обеспечение
Под программным обеспечением (Software) понимается совокупность программ, выполняемых вычислительной системой.
К программному обеспечению (ПО) относится также вся область деятельности по проектированию и разработке ПО:
- технология проектирования программ (например, нисходящее проектирование, структурное и объектно-ориентированное проектирование и др.);
- методы тестирования программ;
- методы доказательства правильности программ;
- анализ качества работы программ;
- документирование программ;
- разработка и использование программных средств, облегчающих процесс проектирования программного обеспечения, и многое другое.
Программное обеспечение – неотъемлемая часть компьютерной системы. Оно является логическим продолжением технических средств. Сфера применения конкректного компьютера определяется созданным для него ПО.
Источник: cyberpedia.su