Какие программы содержит библиотека стандартных подпрограмм кратко

Обновлено: 05.07.2024

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

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

Модуль № 6 - Основы защиты информации

Цель и задачи модуля

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

Введение к модулю

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

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

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

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

Защита информации – это комплекс мероприятий, направленных на обеспечение информационной безопасности.

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

Основные определения и критерии классификации угроз

Угроза - это потенциальная возможность определенным образом нарушить информационную безопасность.

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

Угрозы можно классифицировать по нескольким критериям:

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

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

- по способу осуществления (случайные/преднамеренные действия природного/техногенного характера);

- по расположению источника угроз (внутри/вне рассматриваемой ИС).

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

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

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

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

Модуль № 6 - Основы защиты информации

Цель и задачи модуля

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

Введение к модулю

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

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

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

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

Защита информации – это комплекс мероприятий, направленных на обеспечение информационной безопасности.

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

Основные определения и критерии классификации угроз

Угроза - это потенциальная возможность определенным образом нарушить информационную безопасность.

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

Угрозы можно классифицировать по нескольким критериям:

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

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

- по способу осуществления (случайные/преднамеренные действия природного/техногенного характера);

- по расположению источника угроз (внутри/вне рассматриваемой ИС).

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

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

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


Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого.


Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰).

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

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

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

6.19. Что такое пакеты прикладных программ?

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

В зависимости от характера решаемых задач различают следующие разновидности ППП:

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

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

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

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

    Часто пакеты прикладных программ располагают базами данных для хранения данных и передачи их прикладным программам.

    6.20. Что такое интегрированные пакеты программ?

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

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

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

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

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


      Наиболее известные интегрированные пакеты:

      Microsoft Office. В этот мощный профессиональный пакет вошли такие необходимые программы, как текстовый редактор WinWord , электронная таблица Excel, программа создания презентаций PowerPoint, СУБД Access, средство поддержки электронной почты Mail. Мало того, все части этого пакета составляют единое целое, и даже внешне все программы выглядят единообразно, что облегчает как их освоение, так и ежедневное использование.

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

      6.21. Что такое органайзеры?

      Органайзеры - это программы-электронные секретари.

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

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

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

      6.22. Что такое сетевое программное обеспечение?

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

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

      Библиотека стандартных подпрограмм может быть составлена в расчете на ее использование с помощью ССП или СИП. [3]

      Библиотека стандартных подпрограмм содержит 55 функций. [4]

      Библиотека стандартных подпрограмм для новых вычислительных машин серии ЕС содержит набор более чем 400 подпрограмм на фортране, реализующих важнейшие численные методы. Каждая подпрограмма может быть либо применена для решения небольшой прикладной задачи, либо использована как составная часть при решении более сложной задачи, программа решения которой может, вообще говоря, состоять из обращений к различным стандартным подпрограммам и небольшого количества других операторов фортрана, описывающих действия, которые не могут быть реализованы обращением к подпрограммам. [5]

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

      Библиотека стандартных подпрограмм и типовых программ со стоит из стандартных подпрограмм общего назначения и специализированных типовых программ. [8]

      Библиотека стандартных подпрограмм ( БСП), определяющая эффективность системы автоматизации программирования; набор подпрограмм БСП зависит от класса решаемых задач. [9]

      Библиотека стандартных подпрограмм содержит 55 функций. [10]

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

      Библиотека стандартных подпрограмм , имеющаяся в МО ЭВМ, является переходной ступенью к разработке системной библиотеки, ориентированной на процессы обработки информации в АСУ. [12]

      Библиотека стандартных подпрограмм , по существу, представляет собой программное расширение набора операций, выполняемых машиной. [13]

      Библиотека стандартных подпрограмм хранится во внешней памяти на магнитных барабанах, дисках или лентах. Каталог и управляющая программа обычно находятся в наиболее быстрой внешней памяти, например на магнитном барабане. [14]

      Хорошо разработанные библиотеки стандартных подпрограмм являются ярким примером преимущества модульного принципа программирования. [15]

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

      Компиля́тор—программа, предназначенная для проведения трансляции машинной программы с проблемно-ориентированного языка на машинно-ориентированный язык.

      Компоновщик (также реда́ктор свя́зей, линкер)— программа, которая производит компоновку: принимает на вход один или несколько объектных модулей и собирает по нимисполнимый модуль.

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

      1.Те́кстовый реда́ктор

      Условно выделяют два типа редакторов.

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

      Общие принципы работы текстовых редакторов

      Редактирование - это внесение изменений, исправлений и дополнений в текст.

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

      Другими словами, форматирование - изменение внешнего вида текста.

      Создание любого текстового документа можно условно разделить на три этапа.

      Первый этап - ввод текста документа, второй - форматирование документа, третий - сохранение и вывод на печать.

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

      Основные возможности текстовых редакторов

      § вставка в текст рисунков и других объектов: видеоклипов, звука;

      § создание схем и чертежей;

      § вставка символов и формул;

      § создание списков (нумерованных, маркированных, многоуровневых);

      § выполнение обтекания рисунков

      Текстовые процессоры обеспечивают пользователя ПК средствами создания, обра­ботки и хранения документов различной степени сложности. Они позволяют не только набирать текст, но и оформлять его: произвольно размещать на странице, выделять шрифтами, цветом, вставлять рисунки, давать звуковое сопровождение и т.д. В качестве примеров текстовых процес­соров назовем Microsoft Word, Word Perfect, Лексикон .[1]

      Компиляторы .

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

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

      Компиляторы, которым предстоит обеспечить значительное увеличение скорости вычислений, уже создаются в исследовательских лабораториях ряда компаний — Hewlett-Packard, Intel, MetaWare, Microsoft и других. В феврале прошлого года компания Silicon Graphics объявила о том, что ее оптимизированные компиляторы позволяют увеличить на 30-100% по сравнению с существующими продуктами производительность программ, работающих накомпьютерах с процессорами Itanium и операционной системой Linux.




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

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

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

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

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

      Создание инструментальных средств разработки
      Инструментарий Что нового Цели
      Оптимизированные компиляторы Обеспечивают высокую производительность процессорной обработки за счет распараллеливания, предсказания ветвлений и спекулятивных вычислений Помогают реализовать потенциал 64-разрядных процессоров
      JIT-компиляторы В реальном времени компилируют код Увеличивают производительность интерпретируемых языков, таких как Java
      "Выборочные" компиляторы Компилируют только часто используемый код Увеличивают производительность, не тратя понапрасну дорогостоящие ресурсы памяти

      Компоновщик

      Компоновщик собирает исполнимый модуль из нескольких.

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


      · Определённые или экспортируемые имена — функции и переменные, определённые в данном модуле и предоставляемые для использования другим модулям;

      · Неопределённые или импортируемые имена — функции и переменные, на которые ссылается модуль, но не определяет их внутри себя;

      · Локальные — могут использоваться внутри объектного файла для упрощения процесса настройки адресов [en] .

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

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

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

      Компоновщик обычно не выполняет проверку типов и количества параметров процедур и функций. Если надо объединить объектные модули программ, написанные на языках со строгой типизацией, то необходимые проверки должны быть выполнены дополнительной утилитой перед запуском редактора связей.[3]

      Библиотека стандартных подпрограмм .

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

      В качестве примера можно привести библиотеку стандартных подпрограмм по численным математическим методам решения уравнений, вычисления интегралов, нахождения экстремумов и т.п[4]

      СРЕДСТВА СОЗДАНИЯ КОМПЬЮТЕРНЫХ ПРОГРАММ

      Контрольная работа по информатике за 1 курс

      СРЕДСТВА СОЗДАНИЯ КОМПЬЮТЕРНЫХ ПРОГРАММ

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

      Компиля́тор—программа, предназначенная для проведения трансляции машинной программы с проблемно-ориентированного языка на машинно-ориентированный язык.

      Компоновщик (также реда́ктор свя́зей, линкер)— программа, которая производит компоновку: принимает на вход один или несколько объектных модулей и собирает по нимисполнимый модуль.

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

      1.Те́кстовый реда́ктор

      Условно выделяют два типа редакторов.

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

      Общие принципы работы текстовых редакторов

      Редактирование - это внесение изменений, исправлений и дополнений в текст.

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

      Другими словами, форматирование - изменение внешнего вида текста.

      Создание любого текстового документа можно условно разделить на три этапа.

      Первый этап - ввод текста документа, второй - форматирование документа, третий - сохранение и вывод на печать.

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

      Основные возможности текстовых редакторов

      § вставка в текст рисунков и других объектов: видеоклипов, звука;

      § создание схем и чертежей;

      § вставка символов и формул;

      § создание списков (нумерованных, маркированных, многоуровневых);

      § выполнение обтекания рисунков

      Текстовые процессоры обеспечивают пользователя ПК средствами создания, обра­ботки и хранения документов различной степени сложности. Они позволяют не только набирать текст, но и оформлять его: произвольно размещать на странице, выделять шрифтами, цветом, вставлять рисунки, давать звуковое сопровождение и т.д. В качестве примеров текстовых процес­соров назовем Microsoft Word, Word Perfect, Лексикон .[1]

      Компиляторы .

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

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

      Компиляторы, которым предстоит обеспечить значительное увеличение скорости вычислений, уже создаются в исследовательских лабораториях ряда компаний — Hewlett-Packard, Intel, MetaWare, Microsoft и других. В феврале прошлого года компания Silicon Graphics объявила о том, что ее оптимизированные компиляторы позволяют увеличить на 30-100% по сравнению с существующими продуктами производительность программ, работающих накомпьютерах с процессорами Itanium и операционной системой Linux.

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

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

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

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

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

      Создание инструментальных средств разработки
      Инструментарий Что нового Цели
      Оптимизированные компиляторы Обеспечивают высокую производительность процессорной обработки за счет распараллеливания, предсказания ветвлений и спекулятивных вычислений Помогают реализовать потенциал 64-разрядных процессоров
      JIT-компиляторы В реальном времени компилируют код Увеличивают производительность интерпретируемых языков, таких как Java
      "Выборочные" компиляторы Компилируют только часто используемый код Увеличивают производительность, не тратя понапрасну дорогостоящие ресурсы памяти

      Компоновщик

      Компоновщик собирает исполнимый модуль из нескольких.

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


      · Определённые или экспортируемые имена — функции и переменные, определённые в данном модуле и предоставляемые для использования другим модулям;

      · Неопределённые или импортируемые имена — функции и переменные, на которые ссылается модуль, но не определяет их внутри себя;

      · Локальные — могут использоваться внутри объектного файла для упрощения процесса настройки адресов [en] .

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

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

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

      Компоновщик обычно не выполняет проверку типов и количества параметров процедур и функций. Если надо объединить объектные модули программ, написанные на языках со строгой типизацией, то необходимые проверки должны быть выполнены дополнительной утилитой перед запуском редактора связей.[3]

      Библиотека стандартных подпрограмм .

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

      В качестве примера можно привести библиотеку стандартных подпрограмм по численным математическим методам решения уравнений, вычисления интегралов, нахождения экстремумов и т.п[4]

      Читайте также: