Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
вопрос 2 ит.docx
Скачиваний:
1
Добавлен:
16.04.2019
Размер:
123.31 Кб
Скачать

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

В состав базового (системного) ПО входят:

• операционные системы:

• сервисные программы;

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

• программы технического обслуживания.

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

Исходя из выполняемых функции, ОС можно разбить на три группы:

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

• многозадачные (многопользовательские) - обеспечивают коллективное использование ЭВМ в мультипрограммном режиме разделения времени;

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

Однозадачные ОС предназначены для работы одного пользователя в кажды" конкретный моменте одной конкретной задачей. Типичным представителем таких операционных систем является MS-DOS (разработанная фирмой Microsoft). Многозадачные ОС обеспечивают коллективное использование ЭВМ в мультипрограммном режиме разделения времени (в памяти ЭВМ находится несколько программ — задач, — и процессор распределяет ресурсы компьютера между задачами). Типичными представителями подобного класса ОС являются: UNIX, OS 2 корпорации IBM, Microsoft Windows 95, Microsoft Windows NT и некоторые другие.

Сетевые операционные системы связаны с появлением локальных н глобальных сетей 11 предназначены для обеспечения доступа пользователя ко всем ресурсам вычислительной сети. Типичными представителями сетевых ОС являются: Novell NetWare, Microsoft Windows NT, Banyan Vines, IBM LAN, UNIX, Solaris фирмы Sun. Более подробно тины ОС и их функции описаны в специальных разделах настоящего учебника. Здесь же укажем на основные тенденции развития ОС:

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

• переход многих функций ОС, реализовывавшихся в виде программ, к реализации в виде микропрограмм, «зашитых» в аппаратную часть компьютера;

• обеспечение работы многопроцессорных компьютеров;

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

• обеспечение выполнения параллельных программ;

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

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

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

• улучшающие пользовательский интерфейс;

• защищающие данные от разрушения и несанкционированного доступа;

• восстанавливающие данные;

• ускоряющие обмен данными между диском и ОЗУ:

• архивации-разархивации;

• антивирусные средства.

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

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

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

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

• обслуживание файлов и каталогов (аналогично оболочкам);

• создание и обновление архивов;

• предоставление информации о ресурсах компьютера, о дисковом пространстве, о распределении ОЗУ между программами;

• печать текстовых и других файлов в различных режимах и форматах;

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

Из утилит, получивших наибольшую известность, можно назвать многофункциональный комплекс Norton Utilities.

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

Правила построения алгоритма

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

Первое правило — при построении алгоритма, прежде всего, необходимо задать множество объектов, с которыми будет работать алгоритм. Формализованное (закодированное) представление этих объектов носит название данных. Алгоритм приступает к работе с некоторым набором данных, которые называются входными, и в результата своей работы выдает данные, которые называются выходными. Таким образом, алгоритм преобразует входные данные в выходные. Пока мы не имеем формализованных входных данных, мы не можем построить алгоритм.

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

Третье правило — дискретность. Алгоритм строится из отдельных шагов (действий, операций, команд). Точнее — из множества шагов.

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

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

Способы записи алгоритмов:

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

  • Табличный способ. Алгоритм задается в виде таблиц и расчетных формул. Этот способ наиболее часто используется в экономических расчетах. Исходные данные и результаты вносят в заголовки столбцов таблицы.

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

  • Графический (способ блок-схем). Каждый этап отображается в виде геометрических фигур – «блоков», форма которых зависит от выполняемой операции. Блок может иметь имя (метку). Линия соединения блоков показывает направление процесса обработки данных. Каждое направление называется ветвью.

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

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

Разветвляющийся алгоритм.

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

Циклический алгоритм.

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

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

Параметр цикла- величина, с изменением значения которой связано многократное выполнение цикла;

Начальное и конечное значения параметров цикла;

Шаг цикла – значение, на которое изменяется параметр цикла при каждом повторении.

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

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

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

 

Первое поколение

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

Основная отличительная особенность: ориентирование на конкретный компьютер.

 

Второе поколение

Конец 1950-х - начало 1960-х г.г. Разработан символьный ассемблер, в котором появилось понятие переменной. Это первая полноценная язык.

Основная отличительная особенность: ориентирование на абстрактный компьютер с такой же системой команд.

 

Третье поколение

1960-е г.г. - Языки программирования высокого уровня. Их характеристики:

  • относительная простота;

  • независимость от конкретного компьютера;

  • возможность использования мощных синтаксических конструкций.

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

Основная отличительная особенность языка третьего поколения: ориентирование на алгоритм (алгоритмические языки).

Примеры: Си, Паскаль, Джава, Бейсик, и многие другие.

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

 

Четвертое поколение

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

Часто относят: SQL, SGML ( HTML, XML ), Prolog, и многие другие узкоспециализированных декларативных языков. Правда ряд языков, которые относят к четвертому поколению, не являются языками программирования как таковыми. Например SQL является языком запросов к базам данных, HTML является языком разметки гипертекста, а не полноценными языками программирования, скорее они выступают своеобразными специализированными дополнениями к языкам программирования. Тоже самое касается XML.

Основная отличительная особенность языка четвертого поколения: приближение к человеческой речи (декларативные языки).

Некоторые языки имеют черты одновременно и третьего и четвертого поколений.

 

Пятое поколение

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

Производители пропроиетарних программных продуктов часто пытаются приписать своим продуктам какие маркетинговые особенности, и порой указывают что их продукт - это «язык пятого поколения». В действительности, все эти продукты - это просто среды для ускоренного создания продуктов (Rapid Application Development - RAD), и используют языки третьего и четвертого поколений.

Речь пятого поколения вытеснит ли существенно потеснит языка третьего (напр. Java) и четвертого поколения (например SQL) за счет значительно увеличенной производительности труда программиста - в 10-1000 раз. По прогнозам, 5GL будет оперировать мета-мета-данными.

Сейчас существует единственный язык, который работает с мета-мета-данными, - это язык команд менеджеров пакетов или менеджеров зависимостей, таких как apt, yum, smart, maven, cpan и другие. Они оперируют над метаданными о метаданных о данных в пакетах. Использование apt-get, yum и smart действительно чрезвычайно повысило производительность системных администраторов - примерно в 1000-и дело. Использование менеджеров зависимостей, таких как maven, cpan, rakudo, pim, easy_install, действительно значительно повысило производительность программистов, примерно в 10-ть раз. К сожалению, эти языки являются языками командной строки и не являются языками программирования.

Для разработки Internet/Intranet-приложений используется широкий спектр языков и средств программирования:

  • язык разметки гипертекста HTML для создания и интерпретации Web-структур;

  • язык виртуальной реальности VRML для генерации и управления трехмерными сценами;

  • язык Java и средства программирования мобильных приложений;

  • языки сценариев для разработки интерактивных страниц.

Язык гипертекста HTML

Разработчики HTML пытались решить две задачи:

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

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]