Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
все ответы на билеты информатика экзамен.doc
Скачиваний:
0
Добавлен:
18.02.2024
Размер:
885.25 Кб
Скачать
  1. Назначение, функции, виды операционных систем. Назначение программ драйверов и резидентов. Plug and Play.

Операционная система (ОС) - Комплекс программ, обеспечивающий управление компьютером, как единым целым (тогда, как на самом деле компьютер состоит из многих частей), его взаимодействие с окружающей средой (человеком, прикладными программами, другими системами).ОС является главной частью системного программного обеспечения. Операционная система управляется командами. Основные функции операционных систем: ведение файловой системы, распределение оперативной памяти, динамическая компоновка выполняемых программ, обработка прерываний и обеспечение многозадачной работы. Операционные системы привязывают к процессорам, на основе которых разрабатываются компьютеры. Для IBM-совместимых компьютеров различают операционные системы: однозадачные (MS-DOS, PC-DOS, PTS-DOS, Windows 3.х), многозадачные (UNIX, OS/2, Windows 95/98), сетевые (Lan Server, Windows NT, NetWare) и операционные системы обеспечивающие режим реального времени (QNX). Иногда операционные системы делят на 16- и 32-разрядные по размеру одновременно обрабатываемого слова в микропроцессоре. Самой распространенной однозадачной ОС является дисковая операционная система фирмы Miicrosoft (MS-DOS), работающая в основном в текстовом режиме (все остальные поддерживают форматы MS-DOS и очень на нее похожи, поэтому можно просто говорить о дисковой операционной системе - ДОС). Это 16-оазрядная ОС. В графическом режиме самой популярной является Windows 95/98. UNIX - первая многопользовательская система, но она несколько устарела. Основная борьба за пользователя развертывается между OS/2 фирмы IBM и Windows 95/NT фирмы Microsoft. Windows NT, OS/2 и UNIX - 32-разрядные операционные системы.

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

Резидентная программа (или TSR-программа, от англ. Terminate and Stay Resident — «завершиться и остаться резидентной») — в операционной системе MS-DOS программа, вернувшая управление оболочке операционной системы (command.com), либо надстройке над операционной системой (Norton Commander и т. п.), но оставшаяся в оперативной памяти персонального компьютера. Резидентная программа активизируется каждый раз при возникновении прерывания, вектор которого эта программа изменила на адрес одной из своих процедур.

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

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

Plug and Play (сокр. PnP), дословно переводится как «включил и играй (работай)» — технология, предназначенная для быстрого определения и конфигурирования устройств в компьютере и других технических устройствах. Разработана фирмой Microsoft[источник не указан 571 день] при содействии других компаний. Технология PnP основана на использовании объектно-ориентированной архитектуры, ее объектами являются внешние устройства и программы. Операционная система автоматически распознает объекты и вносит изменения в конфигурацию абонентской системы.

Основные знания о PnP:

  • PNP BIOS — расширения BIOS для работы с PnP устройствами.

  • Plug and Play Device ID — идентификатор PnP устройства имеет вид PNPXXXX, где XXXX — специальный код.

  1. Языки программирования: виды, примеры. Язык программирования, оператор языка – определения. Трансляторы: виды, назначение. Преобразование текста программы в исполняемый модуль в машинных кодах. Объектный файл. Линкер.

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

  • Язык высокого уровня [high-level language] - Язык программирования, средства которого обеспечивают описание задачи в наглядном, легко воспринимаемом виде, удобном для программиста. Он не зависит от внутренних машинных кодов ЭВМ любого типа, поэтому программы, написанные на языках высокого уровня, требуют перевода в машинные коды программами транслятора либо интерпретатора. К языкам высокого уровня относят Фортран , ПЛ/1 , Бейсик , Паскаль , Си , Ада и др.

  • Язык низкого уровня , [low-level language ] - Язык программирования, предназначенный для определенного типа ЭВМ и отражающий его внутренний машинный код (см. ниже также “машинный язык “, “ машинно-ориентированный язык “ и “ язык ассемблера “).

Различают также следующие виды языков программирования:

  • Алгоритмический язык [algorithmic language ] - Совокупность символов, соглашений и правил, используемых для однозначного описания алгоритмов и обычно являющаяся часть языка программирования ;

  • Неалгоритмический язык [nonalgorithmic language] - Язык программирования, тексты которого не содержат указаний на порядок выполнения операций и служат лишь исходным материалом для синтеза алгоритма решения задачи;

  • Формальный язык [formal language] – Язык программирования, построенный по правилам некоторого логического исчисления или формальной грамматики [formal grammar ], представляющей собой систему правил построения в заданном алфавите конечных знаковых последовательностей, множество которых образует формальный язык;

  • Исходный язык [source language] - Язык программирования, на котором написана программа, в отличие от машинного языка, на котором программы выполняются компьютером. Исходные языки классифицируются на языки высокого уровня и языки низкого уровня .

  • Машинный ( абсолютный ) язык , язык ЭВМ [computer (machine) language] - Язык программирования, предназначенный для представления программ в форме, обеспечивающей возможность их выполнения техническими средствами;

  • Машинозависимый ( машинно-ориентированный ) язык , машинозависимый язык программирования [computer-sensitive (computer-oriented) language] - Язык программирования, учитывающий структуру и характеристики ЭВМ определенного типа или конкретной ЭВМ;

  • Машиннонезависимый язык [machine-independent language] - Язык программирования, структура и средства которого не связаны ни с какой конкретной ЭВМ и позволяют выполнять составленные на нем программы на любой ЭВМ, снабженной трансляторами (см. ниже) с этого языка;

  • Символический язык , язык символического кодирования [symbolic language] - Язык программирования, ориентированный на конкретные ЭВМ и основанный на кодировании машинных операций при помощи определенного набора символов;

  • Гибридный ( комбинированный ) язык [hibrid language] - Язык программирования, использующий также средства другого языка;

  • Графический язык [graphic language ] - Язык, предназначенный для написания программ машинной графики и пользования ими.

  • Базовый язык [base language] – Машинный язык , общий для семейства ЭВМ (язык программирования в СУБД с автономным языком).

  • Общий язык [common language] - Машинный язык, общий для группы ЭВМ и используемых ими внешних устройств;

Операторы языка описывают некоторые алгоритмические действия, которые необходимо выполнить для решения задачи. Тело программы можно представить как последовательность таких операторов. Идущие друг за другом операторы программы разделяются точкой с запятой.Все операторы языка Паскаль можно разбить на две группы: простые и структурированные. 5.1. Простые операторы Простыми являются те операторы, которые не содержат в себе других операторов. К ним относятся: - оператор присваивания; - обращение к процедуре; - оператор безусловного перехода GOTO; - пустой оператор.

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

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

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

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

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

· Интерпретатор - программа или устройство, осуществляющее пооператорную трансляцию и выполнение исходной программы. В отличие от компилятора, интерпретатор не порождает на выходе программу на машинном языке. Распознав команду исходного языка, он тут же выполняет ее. Как в компиляторах, так и в интерпретаторах используются одинаковые методы анализа исходного текста программы. Но интерпретатор позволяет начать обработку данных после написания даже одной команды. Это делает процесс разработки и отладки программ более гибким. Кроме того, отсутствие выходного машинного кода позволяет не "захламлять" внешние устройства дополнительными файлами, а сам интерпретатор можно достаточно легко адаптировать к любым машинным архитектурам, разработав его только один раз на широко распространенном языке программирования. Поэтому, интерпретируемые языки, типа Java Script, VB Script, получили широкое распространение. Недостатком интерпретаторов является низкая скорость выполнения программ. Обычно интерпретируемые программы выполняются в 50-100 раз медленнее программ, написанных в машинных кодах.

· Объе́ктный мо́дуль (также — объектный файл, англ. object file) — файл с промежуточным представлением отдельного модуля программы, полученный в результате обработки исходного кода компилятором. Объектный файл содержит в себе особым образом подготовленный код (часто называемый бинарным), который может быть объединён с другими объектными файлами при помощи редактора связей (компоновщика) для получения готового исполнимого модуля, либо библиотеки.

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

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

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

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

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

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

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

  1. Прикладное программное обеспечение. Группы программ. Назначение программ. Основные возможности. WYSIWYG.

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

К прикладному программному обеспечению(application software) относятся компьютерные программы, написанные для пользователей или самими пользователями, для задания компьютеру конкретной работы. Программы обработки заказов или создания списков рассылки — пример прикладного программного обеспечения. Программистов, которые пишут прикладное программное обеспечение, называют прикладными программистами.

По типу

  • программные средства общего назначения

    • Текстовые редакторы

    • Системы компьютерной вёрстки

    • Графические редакторы

    • СУБД

  • программные средства специального назначения

    • Экспертные системы

    • Мультимедиа приложения (Медиаплееры, программы для создания/редактирования видео, звука, Text-To-Speech и пр.)

    • Гипертекстовые системы (Электронные словари, энциклопедии, справочные системы)

    • Системы управления содержимым

  • программные средства профессионального уровня

    • САПР

    • АРМ

    • АСУ

    • АСУ ТП

    • АСНИ

    • Геоинформационные системы

    • Биллинговые системы

    • CRM

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

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

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

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

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

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

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

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

  • Прикладные программы для проектирования и конструирования. Используются при разработке аппаратного («Железо») и программного обеспечения. Охватывают автоматизированный дизайн (computer aided design — CAD), автоматизированное проектирование (computer aided engineering — CAE), редактирование и компилирование языков программирования, программы интегрированной среды разработки (Integrated Development Environments), интерфейсы для прикладного программирования (Application Programmer Interfaces).

WYSIWYG (произносится [ˈwɪziwɪɡ], является аббревиатурой от англ. What You See IWhat You Get, «что видишь, то и получишь») — свойство прикладных программ, в которых содержание отображается в процессе редактирования и выглядит макcимально близко похожим на конечную продукцию, которая может быть печатным документом, веб-страницей или презентацией.