Понятие об объекте управления и процессе управления.
Введение.
Процесс традиционного проектирования систем управления содержит последовательность следующих этапов.
1) Производится формирование задачи проектирования на основе возникшей производственной или социальной проблемы. (Здесь: ясное определение целей и задач будущей системы управления, определение областей применения и секторов рынка.)
2) Производится описание объекта управления и спецификации процессов управления.
- уточняются цели и задачи управления;
- определяется область применения;
- производится описание архитектуры и функциональных связей между объектом и системой управления на уровне спецификаций;
- определяются параметры реального времени.
3) Разрабатываются требования к системе управления и техническое задание на выполнение проекта, при этом:
- определяются и уточняются основные параметры и критерии системы управления;
- определяются элементы процедур управления и элементы контроля процесса управления;
- определяются требования и условия разработки аппаратного и программного обеспечения процессов управления;
- производится экономическое обоснование проекта;
- определяются условия выполнения проекта (сроки выполнения, затраты и ресурсы, особенности отношений заказчика и исполнителя проекта);
4) Вырабатывается техническое предложение на разработку системы управления.
- производится уточнение содержания и сроков выполнения проекта по этапам;
- выполняется описание связей между этапами на функциональном уровне;
- вводится единая понятийная символика, определения, стандарты.
5) Производится эскизное проектирование. К нему относятся:
- определение параметров организационного, методического (концептуального), формального, алгоритмического, программного и аппаратного видов обеспечения выполнения проекта;
- разрабатываются протоколы и циклограммы выполнения операций управления объектом;
- разрабатываются функциональные схемы аппаратных модулей системы управления;
- вводятся условия и параметры синхронизации операций управления.
6) Производится техническое проектирование процесса управления.
- производится оценка различных моделей и выбирается модель, наилучшим образом и адекватно отображающая процесс управления, при этом определяются критерии качества и способы оптимизации процессов управления;
- разрабатываются алгоритмы процедур управления с учётом выбора наиболее простых и ясных алгоритмов, определяются условия совместимости отдельных модульных алгоритмов;
- разрабатывается функциональное и прикладное программное обеспечение и аппаратные модули системы управления на уровне принципиальных схем, уточняются условия тестирования совместной проверки программных и аппаратных средств системы управления.
7) Производится разработка рабочих версий проекта после уточнений и согласований по предыдущим этапам. При этом:
- расчёт технико-экономических показателей проекта, указывается целесообразность проекта и возможные прибыли;
- производится уточнение корректировка и исправление разногласий и ошибок;
- производится оформление всей технической и рабочей документации на изготовление и тестирование программных и аппаратных модулей СУ.
8) Производится вначале изготовление экспериментального варианта СУ, его испытание, исправление ошибок и выпуск пробной промышленной серии для ввода в пробную эксплуатацию.
Принципы обеспечения процесса управления.
Рассмотренные принципы реализации процесса управления в реальном времени позволяют определить «жизненный цикл» этого процесса, условия обеспечения процесса проектирования СУ.
Процесс проектирования СУ можно представить как систему взаимодействия следующих уровней обеспечения:
v концептуальный;
v информационный;
v функциональный;
v формализации;
v алгоритмический;
v программный;
v аппаратный.
На каждом уровне свои средства реализации.
Физический уровень
На физическом уровне сигналы, как носители информации, могут быть представлены в двух видах:
§ как аналоговые;
§ как цифровые.
Сравним аналоговые и цифровые параметры по ряду параметров. С точки зрения практической реализации цифровой сигнал значительно проще и дешевле воспроизводится, чем аналоговый сигнал на уровне схем. Кроме того, формально двухуровневые цифровые сигналы представлены в виде простого аппарата алгебры логики, где логическая переменная имеет всего два значения: 1 и 0, и где процедуры анализа и создания электронных схем хорошо известны и доступны. По этим причинам вся компьютерная техника строится на базе цифровой электроники.
|
|
У аналоговых сигналов при передаче по линиям связи затухает, уменьшается только амплитуда сигнала, а форма сигнала при этом не изменяется. Это – преимущество, так как в процессе передачи достаточны только периодические усиления амплитуды сигнала.
У цифровых сигналов изменения сильнее: помимо уменьшения амплитуды сигнала искажается его форма, что требует доплнительных затрат на восстановление сигнала. По этому при передаче на небольшие расстояния (десятки метров) используют цифровые сигналы, а при передаче на значительные расстояния (сотни метров и более) используют аналоговые сигналы.
Необходимо преобразование сигнала. Это происходит дважды: на передающей стороне от компьютера, перед тем как быть переданным по телефонной линии связи. И на приёмной стороне, где происходит обратное преобразование.
Описанное двойное преобразование сигнала выполняет специальный прибор, который подключается к компьютеру как на передающей так и на принимающей стороне и который называется модемом.
Для передачи цифрового сигнала в аналоговом виде шире всего распрстронена модуляция. Т. о. модем выполняет двойную роль.
- на передающей стороне модем осуществляет модуляцию цифрового сигнала;
- на принимаемой стороне другой модем производит демодуляцию сигнала, выделяя переданный цифровой сигнал.
При передаче на небольшие расстояния цифровой сигнал может кодироваться с помощью не аналогового модулированного сигнала, а такого же цифрового сигнала, но с другими параметрами.
Кодирования – при этом напрямую, используя, например, метод NRZ –сигнала. Non-Return to Zero (без возврата к нулю).
1) Повышение помехозащищенности (помехи группируются как правило около нулевого уровня напряжения).
2) Повышается запас по мощности, что лучше при передаче на большие расстояния.
Внутри одного комплекта аппаратуры расстояние между отдельными элементами не велико и провода, соединяющие эти элементы, имеют не большуюю длину. Поэтому, не затрагивая слишком длинных проводов можно ускорить передачу сигналов, организовав передачу каждого бита информации по отдельному проводу. В этом случае образуется параллельная передача данных. При параллельной передаче информация передаётся одновременно либо по 8 бит, либо по 16 бит (2 байта).
Поскольку стоимость соединительных проводов по мере их удаления значительно возрастает и, кроме того, увеличивается разброс в скоростях передачи в отдельных жилах кабеля, то при соединении компонентов аппаратуры, удалённых на несколько и более, для передачи применяется один провод. В этом случае применяется последовательный режим передачи, когда биты каждого байта передаются последовательно друг за другом (цепочка бит).
При передаче сигналов, как аналоговых так и цифровых, необходим механизм, который фиксировал бы каждый сигнал относительно временных тактов управления процессом передачи и кроме того умел бы различать начало каждого сигнала. Таким механизмом - является синхронизация.
Различают три способа синхронизации при подаче цифрового сигнала.
I. Синхронная передача с отдельной линией синхронизации.
Она применяется тогда, когда необходимо передать большие блоки информации, которые предварительно скомпанованы и уже готовы для передачи.
При этом способе источник сигналов тактовой частоты (синхрогенератор, тактовый генератор, master clock) – общий для передатчика и приёмника. Весь блок информации передаётся как одно целое, без каких-либо задержек между байтами.
Примером применения синхронной передачи файлов является процесс передачи данных между памятью и жестким диском в компе.
Чтобы обеспечить надёжную синхронизацию при приёме цепочки бит, после их передачи по линии связи, должны быть выполнены следующие условия:
- каждому кадру (блоку) передаваемой информации должен предшедствовать один или более зарезервированных байтов или символов, благодаря которым принимающее устройство может надёжно разделить принимающую цепочку бит на блоки (режим настройки линии передачи).
- содержимое каждого блока обрамляется парой зарезевированных байтов или символов, означающих начало и конец блока.
II. Асинхронный способ передачи
Применяется в том случае, когда передаваемые данные генерируются в случайные, произвольные моменты времени. Например, пользователем, поддерживающим связь с компьютером с помощью видеосигнала. При такой передаче принимающее устройство должно востанавливать синхронизацию в начале каждого получаемого байта и при этом не требуется отдельной линии связи.
Здесь – отдельные источники синхронизации: на передающей стороне – свой тактовый генератор, на приёмной стороне тоже свой – тоже свой. (При синхронной передаче источник синхронизации является общим для передатчика и приёмника).
При асинхронном последовательном способе передачи поток передаваемых бит иформации делится на блоки одинаковой длины (кадры). Каждый кадр, помимо передаваемого одного восьмибитового информации (одного символа), содержит биты, управляющие процессом передачи. В частности, в каждом кадре есть стартовый и стоповый бит (разной полярности). Поэтому первый после периода бездействия переход 1-0 используется приёмным устройством для определения начала нового символа.
Асинхронная последовательная передача, не смотря на свой преимущества имеет один существенный недостаток – низкую скорость передачи. Это происходит по причине: для передачи одного символа используется либо 10 бит, либо 11 бит (2 стоп-бита). Т. е. скорость передачи ниже чем заданная первоночальная, примерно на 30%.
III. Для увеличения скорости передачи иногда используют другой способ последовательной передачи – передача с автоподстройкой или Манчестерский код.
Здесь тактовый генератор приёмника синхронизируется при передаче каждого бита и поэтому можно посылать последовательность бит любой длины. Синхронизация сигнала данных достигается обеспечением перехода от Н-уровня к L-уровню и наоборот в середине каждого бита по следующему правилу:
- первый бит представляется L-уровнем с переходом к Н-уровню;
- бит логической единицы наоборот: Н L.
При этом необходима предварительная синхронизация тактового генератора после каждого простоя линии передач. Это достигается посылкой специальной начальной последовательности битов, называемой преамбулой.
Более подробно о способах передачи и методах кодирования смотрите в:
[ Халсалл Ф. «Передача данных, сети компьютеров и взаимосвязь открытых систем, 1995. 408 стр.»].
Рассмотрим функции уровней
1. Прикладной уровень (7)
- это совокупность средств и понятий, обеспечивающих доступприкладных
процессовпользователей к ресурсам и сервису сети как системе передачи
информации. (т.е. главное здесь – передача информации)
Примеры прикладных процессов:
· Программа доступа к удаленной базе данных;
· Оператор, обслуживающий терминал;
· Программа управления технологическим процессом;
Помимо передачи информации прикладной уровень выполняет следующие функции:
· Идентификацию партнера по его имени и адресу;
· Установление права на связь;
· Выбор дисциплины диалога;
· Соглашение об ответственности за ошибки4
· Установление ограничений на структуру передаваемых данных.
Посылка информации на этом уровне рассматривается как сообщение (Message).
Примерами широко применяемых протоколов прикладного уровня являются FTAM, X.400, NFS.
2. Уровень представления данных (6)
выполняет следующие функции:
- преобразование форматов данных;
- кодирование-декодирование данных;
( форматы представления данных могут различаться по структуре файлов, по кодированию символов, по порядку следования бит и т. д. Могут быть разные ОС).
Например, данные в формате ОС MS DOS с работой станции РС1, перед передачей по сети преобразуются в формат системы передачи данных и далее передаются по сети.
Приемная станция РС2, работающая под ОС UNIX, преобразует полученные данные в формат ОС UNIX/
(Каждая ОС имеет свою файловую систему, свои форматы хранения и обработки данных).
Основной задачей этого уровня является преобразование данных, передаваемых в сети, в формат принятый в данной системе.
Примеры протоколов уровня: AFP, ASN1, XDR.
3. Сеансовый уровень (5)
Определяет структуру управления взаимодействием абонентов в сети, т. е. контролирует и определяет диалы между сетевыми объектами.
Основные функции:
- определяется начало и конец сеанса связи;
- определяет время, длительность и режим сеанса;
- определяются точки синхронизации для промежуточного контроля и восстановления передаваемых данных;
- восстановление соединения после ошибок во время сеанса связи, что сохраняет данные.
Установление сеанса связи между абонентами сети включает процедуру проверки имени пользователя и его сетевого пароля, а также определение прав доступа к тем или иным ресурсам сети.
Контроль за текущим сеансом связи осуществляется с помощью точек синхронизации.
Это означает, что через определенные промежутки времени каждая станция в сети передает сообщение о своем состоянии. Если от станции нет такой информации в течение заранее оговоренного времени, то сеанс связи с такой станцией прекращается.
Примеры протоколов: ISO 8327, RPS.
4. Транспортный уровень (4)
Работа транспортного уровня напоминает работу почты по доставке корреспонденции. Сеансовый уровень указывает куда и кому нужно передать данные, а транспортный уровень обеспечивает процесс самой передачи данных.
При этом выполняются следующие операции:
- устанавливается транспортное соединение между абонентами;
- осуществляется управление потоком данных;
- контролируется последовательность передачи данных;
- обеспечивается обработка ошибок при передаче данных;
- осуществляется мультиплексирование передаваемых сообщений или соединений.
Транспортный уровень обеспечивает точную адресацию абонентов.
Транспортный адрес состоит из двух частей:
- логического сетевого адреса (определяется конкретная станция);
- адреса задачи (определяет конкретную задачу, выполняющуюся на станции);
логический сетевой адрес определяется протоколами сетевого уровня, а адрес задачи – протоколами транспортного уровня или вышележащими протоколами. Последний адрес часто называют портом.
На транспортном уровне посылка данных рассматривается как сегмент.
Примеры протоколов: SPX, UDR, TCP, NSP.
5. Сетевой уровень (3)
Обеспечивает передачу данных между сетями (маршрутизация данных).
При этом выполняются следующие функции:
- устанавливается сетевое соединение;
- определяются маршруты данных в сети и связь между сетями (межсетевой протокол);
- обеспечивается независимость высших уровней от физической среды передачи.
Как и на транспортном уровне используются адреса, состоящие из двух частей:
а) сетевой адрес (адрес сети) – определяется для какой сети предназначена посылка данных или сообщение;
б) адрес абонента внутри сети.
При этом для определения адреса сети применяются специальные устройства – маршрутизаторы.
Путь передачи данных описывается в специальных таблицах маршрутов в виде последовательности передачи данных через маршрутизаторы.
Каждый маршрут содержит адрес конечной сети, адрес следующего маршрутизатора и стоимость передачи данных по этому маршруту.
На этом уровне посылка данных рассматривается как датаграмма – пакет, имеющий стандартный формат и структуру и доставляемый независимо от других посылок.
Уровень содержит средства оптимизации маршрута данных с помощью динамических и статических методов моделирования.
6. Канальный уровень (2)
(предпоследний)
Здесь данные, полученные от сетевого уровня, преобразуются в пакет или кадр, затем передаются как последовательность бит для передачи данных по линии связи (физическому уровню).
При этом выполняются следующие функции:
- определяется логическая топология сети передачи данных, метод доступа к среде передачи данных;
- реализуется физический адрес передачи;
- устанавливаются услуги по определению соединения между станциями.
При передаче данных от нижележащего физического уровня (последовательность бит), канальный уровень собирает данные в пакет и передает его сетевому уровню.
При получении посылки от верхнего, сетевого уровня, канальный уровень, для обеспечения надежности передачи очередной посылки добавляет к ней два новых поля: поле Преамбулы и поле Обнаружения ошибок.
Эти поля позволяют произвести дополнительный контроль правильности передачи данных. На этом уровне посылка данных рассматривается как кадр или пакет.
7. Физический уровень (1)
Функции уровня:
Сводятся к активизации и дезактивизации физического соединения средств передачи данных на аппаратуре и осуществления непосредственной передачи данных по линиям связи.
Здесь определяются механические и электрические характеристики передающей среды и интерфейсного оборудования. В частности, определяется количество и назначение контактов на сетевых разъемах, в каком виде передаются биты, какие типы кабелей могут использоваться и т. д.
По запросу от канального уровня обеспечивается установление, поддержка и разрыв физических и электрических соединений между узлами сети. На этом уровне посылка данных рассматривается как последовательность бит.
Примеры протоколов уровня: X.21, RS 232.
Каждый из семи уровней использует свою управляющую информацию – заголовок, добавляемый к посылке данных.
С помощью этого заголовка уровни обеспечивают взаимодействие друг с другом.
При передаче данных протоколы каждого уровня добавляют к посылке свою часть заголовка, а при приеме данных обрабатывают и распознают соответствующую часть заголовка.
На практике протоколы OSI не имеют широкого применения из-за их большого объема и сложности. Поэтому большинство распределенных систем используют оптимизированные протоколы, разработанные отдельными фирмами. Например, это протоколы Net Ware, SNA, DNA.
Однако семиуровневая модель OSI (ЭМВОС) как концептуальная модель описания систем распределенной обработки данных, остается основной в качестве понятийной основы информационных систем.
Модель клиент-сервер
Присущие локальной сети проблемы породили модель вычислений клиент-сервер.
Вычисления клиент-сервер (распределенные вычисления, кооперативная обработка приложения) дают преимущества модели сетевых вычислений с доступом к совместно используемым данным и более высокие характеристики производительности, присущие модели вычислений с хост-машиной.
Системы клиент-сервер имеют три различных компонента, каждый из которых выполняет конкретную работу:
- сервер базы данных;
- клиентские приложения;
- сеть.
1. Сервер («внутренний компонент») эффективно управляет ресурсом ( таким как информационная база данных). Основной функцией сервера является оптимальное управление ресурсом для множества клиентов, которые одновременно у него этот ресурс запрашивают.
Кроме этого, серверы баз данных выполняют такую задачу как:
- управление доступом к базе данных и другими требованиями защиты;
2. Клиентское приложение («высший интерфейс») –это часть системы, которую пользователь использует для взаимодействия с данными.
Клиентские приложения в СУБД выполняют такую задачу, как представление интерфейса, с помощью которого пользователь может выполнить свою работу.
3. Сеть – является средством передачи данных между клиентом и сервером наряду с коммуникационным программным обеспечением, работающим на клиенте и сервере и позволяющим им взаимодействовать через сеть.
Поскольку клиентское приложение и сервер базы данных работают совместно и распределяют загрузку приложения (отсюда и термин «распределенная обработка приложения») система клиент-сервер может обеспечить лучшую производительность, чем система с файловым сервером.
Сервер управляет базой данных для нескольких клиентов, а клиенты посылают, получают и анализируют полученные с сервера данные.
(* т.е. в распределенной модели клиент-сервер часть работы выполняет сервер, а часть- пользовательский компьютер (в общем случае клиентская и пользовательская части могут работать и на одном компьютере).
В приложении клиент-сервер клиентское приложение работает с небольшими специальными наборами данных, например, строками таблицы, а не с целыми файлами, как в системе с файловым сервером.
Сервер базы данных здесь является интеллектуальным. Он блокирует и возвращает строки по запросам клиентов, что обеспечивает параллельность, минимальный сетевой трафик и улучшает производительность системы.
Сложность алгоритмов.
Сложность алгоритма является основным параметром, по которому можно определить эффективен тот или иной алгоритм.
Особенно это нужно когда предоставляется возможность выбора из нескольких возможных наилучшего алгоритма.
Понятно, что при сравнении двух алгоритмов, обрабатывающих один и тот же объем данных, время обработки является достаточно точным критерием наиболее эффективного алгоритма при прочих равных условиях.
Формально сложность алгоритма определяется как порядок функции, выражающей время его работы.
Это выражается следующим образом:
Функции и считаются одного порядка, если для больших существует такая константа ,
что .
Выражение, характеризующее сложность алгоритма при этом запишется как
Определим формально сложность алгоритма для метода обменной сортировки массива данных.
Алгоритм обменной сортировки массива, состоящего из n элементов списка, можно описать следующим образом:
1) определяется наименьший элемент списка данных;
2) осуществляется обмен наименьшего элемент с первым элементом списка;
3) в полученном списке снова определяется наименьший элемент;
4) производится обмен полученного последнего наименьшего элемента списка со вторым элементом.
При этом при определении первого наименьшего элемента производится сравнений;
При определении второго элемента сравнений и т.д.
Общий объем операции сравнения определяется по формуле:
;
т.к. число сравнений выражается полиномом 2ой степени сложности этого алгоритма квадратичная и ее можно формально записать как .
Сейчас рассмотрим операцию перемножения матриц.
Каждое перемножение дает квадратичную полиномиальную сложность, равную: .
Кроме того, при построении новой матрицы, являющейся произведением двух других матриц, необходим цикл вычисления новых слов матрицы.
Процедура цикла вносит третью размерность в параметр сложности алгоритма, т.е. общее число всех операций определяется как
.
Таким образом, общая сложность алгоритма операций перемножения двух матриц может быть определена как:
.
Алгоритм с оценкой сложности равной , работает быстрее, чем алгоритм с оценкой равной .
Таким образом, выбор оптимального алгоритма прямым образом зависит от оценки его сложности.
Распространенной сложностью алгоритма является экспоненциальная сложность.
Например, задача выбора одного из двух вариантов перемещения объекта двумя исполнителями.
Исполнители получают доступ к процедуре выбора по очереди.
При этом у каждого исполнителя существует только два варианта перемещения объекта.
Если процедура заканчивается через n ходов, то это означает, что осуществлено перемещений.
Т.е. для анализа всех вариантов требуется количество времени пропорциональное вариантов или формально сложность такого алгоритма может быть оценена как: .
Т.е. сложность оценивается экспоненциальной зависимостью.
В таблице приведена сравнительная оценка различных степеней сложности алгоритмов в зависимости от числа членов n.
» 106 | |||
109 | |||
104 | 1030 |
Линейная зависимость в параметре сложность алгоритма является более предпочтительной, чем полиномиальная, а тем более - экспоненциальная.
Применение алгоритмов.
Основная сфера применения алгоритмов – это описание задач для решения их с помощью компьютеров.
Исходные задачи, прежде чем быть представленными с помощью алгоритмов, должны быть подвергнуты анализу на способ представления в алгоритмическом виде.
Здесь могут быть две ситуации:
1) задача решается однозначно прямыми методами, без дополнительной информации;
2) для решения задачи существует несколько способ решения и необходимы правила выбора наилучшего решения.
В первом случае метод решения называется детерминированным, раз и навсегда определенным, и в этом случае алгоритм имеет регулярную сущность.
Регулярная сущность, регулярный объект – это объект, существование которого не зависит от существования других объект.
Примерами таких задач являются задачи, решаемые с помощью математических уравнений, задачи вывода результатов, проверки данных и т.п.
Для детерминированных задач и их алгоритмов недопустимы такие методы как, например, метод проб и ошибок.
Во втором случае классы задач требуют выбора метода решения из нескольких существующих и называется недетерминированными.
В этом случае для описания задач применяются алгоритмы, реализующие метод проб и ошибок, метод повторов или вероятностного выбора.
К таким задачам относятся, например, задачи нахождения кратчайших путей, задачи поиска объектов при отсутствии явных параметров поиска, задачи выбора оптимума и т.п.
Уровень программного обеспечения процесса управления.
Разработка программное обеспечение систем управления в общем, функциональном и системном аспекте ничем не отличается от разработки программ в других приложениях.
Понятие программное обеспечение (ПО, Software) определяется как совокупность программ, процедур, правил и документации, входящих в состав вычислительной системы (т.е. компьютера, совокупности их, включая сети).
программное обеспечение в настоящее время прогрессирует наиболее стремительно и динамично.
Каждый год появляются новые Операционные среды, новые версии известных платформ, новые прикладные пакеты, средства интерфейса пользователя, средства управления базами данных и т.п.
Разработчики приложений разных отраслей науки и техники не успевают синхронно освоить все новые предложения в области программного обеспечения.
Не смотря на кажущуюся перегрузку в восприятии программных предложений, можно отследить общие тенденции в развитии программное обеспечение.
Выполним условную классификацию средств программного обеспечения:
Все программное обеспечение делятся на три функционально различные группы:
- системное;
- прикладное;
- средства интерфейса пользователя.
Рассмотрим каждую из групп программного обеспечения:
I. Системное программное обеспечение.
Системное ПО (System Software) – это ПО, используемое для разработки и выполнения прикладных программ.
В составе системного ПО можно выделить* три группы программ:
- системы программирования;
- операционные системы (ОС);
- сервисные программы или утилиты;
*Данное разделение весьма условно
1) Система программирования.
Система программирования (programming system) – это один или более языков программирования в совокупности со средой, необходимой для их использования на данном компьютере.
Система программирования включает в себя весь набор программ, обеспечивающий процедуру набора, отладки и трансляции программы, написанной на определенном языке программирования.
Каждый язык программирования имеет свою собственную систему программирования.
Средства системы программирования содержат следующий набор программ:
- транслятор;
- компоновщик;
- загрузчик;
- библиотеки подпрограмм;
- текстовые и графические редакторы;
- файлы описания системы;
- обучающие программные системы.
а) Программа транслятор (translator) – это программа, транслирующая (преобразующая) текст на одном из языков программирования в текст на машинном языке.
При трансляции текста программы вводится специальные процедуры синтаксического анализа каждого оператора языка программирования и в случае обнаружения ошибки в синтаксисе транслятор выдает сообщение об ошибке , препятствую дальнейшему ходу преобразования операторов программы.
Трансляторы могут быть реализованы по принципу работы в виде программ компиляторов либо программ интерпритаторов.
Компилятор (compiler) – это программа, переводящая текст программы на языке программирования высокого уровня в эквивалентную программу на машинном языке.
Интерпритатор (interpreter) – это программа, анализирующая команды и операторы программы на языке программирования и немедленно их выполняющая.
При компиляции текста программы образуется объектный модуль – он представляет собой перечень машинных кодов, не имеющих физических адресов в памяти компьютера.
б) Компоновщик (linker) – программа, строящая загрузочный модуль из объектных модулей.
Загрузочный модуль отличается от объектного только тем, что с помощью компоновщика он настраивается на конкретные адреса памяти и тем самым становится готовым к загрузке.
в) Загрузчик (loader) – программа, считывающая загрузочный модуль в оперативную память, настраивающая и выполняющая его.
Таким образом, при компиляции исходный модуль (т.е. программа на языке программирования, введенная в компьютер) претерпевает три этапа преобразования:
- компиляция в объектный модуль;
- компоновку в загрузочный модуль;
- загрузку.
При интерпретации не существует разделения на объектные и загрузочные модули: каждый оператор языка, после его анализа на правильность написания, настраивается на конкретные адреса памяти и тут же выполняется.
г) Библиотека подпрограмма (Subroutine library) – это специальным образом организованный файл, содержащий перечень наиболее часто применяемых подпрограмм, которые доступны по имени и могут быть извлечены для присоединения и некоторой программе.
д) Текстовый редактор (text editor) – программа, обеспечивающая редактирование текстов программ и документов в соответствии с задаваемыми пользователем командами.
Графический редактор или редактор изображений – программа, обеспечивающая редактирование графических элементов и изображений на экране дисплея.
Современные системы программирования могут включать и другие компоненты, например, обучающие системы.
2) Операционные системы (ОС).
Операционная система (operating system) – это совокупность программных средств, обеспечивающих управление аппаратными ресурсами вычислительной системы и взаимодействие программных процессов с аппаратурой, другими процессами и пользователем.
ОС выполняет следующие действия: управление памятью, управление вводом – выводом, управление файловой системой, управление взаимодействием процессов, диспетчеризация процессов, защиту, учет использования ресурсов, обработку командного языка.
Это определение больше относится к традиционным ОС, таким как MS DOS, т.к. с появлением ОС нового поколения (WINDOWS NT, WINDOWS 95, OS/2 WARP) появились новые функции:
- средства поддержки объектно-ориентированного программирования; сетевых протоколов, средств мультимедиа, поддержки средств удаленного доступа, в том числе протокола TCP/IP сети Internet; поддержка игровых услуг и т.д.
Любая ОС начинает свою работу с вызова в память своего ядра, которое находится в памяти резидентно, т.е. постоянно, на все время работы компьютера до выключения его из сети.
Ядро ОС (operation system kernel) – это постоянно находящаяся в памяти часть операционной системы, управляющая всем другими процессами ОС и распределяющая для них ресурсы.
Несколько отдельной группой выглядят специальные сетевые ОС, которые обслуживают вычислительные сети различного масштаба и назначения( NET WARE(Novell), IBM MANAGER и др.).
3) Сервисные програм