Экзаменационные билеты по дисциплине «операционные системы и среды»
Вид материала | Экзаменационные билеты |
- Ые системы", "Операционные системы, среды и оболочки" и "Операционные системы и системное, 1294.27kb.
- Рабочая программа по учебной дисциплине Операционные системы, среды и оболочки наименование, 623.3kb.
- Программа предназначена для изучения учебного курса по дисциплине "Операционные системы,, 53.62kb.
- Ответы на экзаменационные билеты по истории России (9 класс), 1163.56kb.
- Методические указания для выполнения Курсовой работы по дисциплине «Операционные системы», 72.86kb.
- Экзаменационные билеты по электробезопасности ОАО «xxx», 729.81kb.
- Программа по дисциплине «Технологии программирования и операционные системы», 42.87kb.
- Вопросы к экзамену по дисциплине «Операционные системы и среды», 34.81kb.
- Экзаменационные билеты по дисциплине "Технико-экономический анализ деятельности предприятия, 83.14kb.
- Экзаменационные билеты по дисциплине «Менеджмент», 33.35kb.
ответы на Экзаменационные билеты по дисциплине «операционные системы и среды» специальности 230105.
авторы:
студенты вгэтк
Артамонов Владимир и левен никита.
- Понятие «Программное обеспечение», «Программа», «Задача». Классы задач (технологические и функциональные). Привести примеры каждого класса задач.
Программное обеспечение — наряду с аппаратными средствами, важнейшая составляющая информационных технологий, включающая компьютерные программы и данные, предназначенные для решения определённого круга задач и хранящиеся на машинных носителях. Программное обеспечение представляет собой либо данные для использования в других программах, либо алгоритм, реализованный в виде последовательности инструкций для процессора.
Компьютерная программа — последовательность инструкций, предназначенная для исполнения устройством управления вычислительной машины. Чаще всего образ программы хранится в виде исполняемого модуля (отдельного файла или группы файлов). Из этого образа, находящегося как правило на диске, исполняемая программа в оперативной памяти может быть построена программным загрузчиком. В зависимости от контекста, рассматриваемый термин может относиться также и к исходным текстам программы.
- Классификация программ по категориям пользователя и с позиции функционального использования.
Прикладные программы предназначены для того, чтобы обеспечить применение вычислительной техники в различных сферах
деятельности человека. Помимо создания новых программных продуктов разработчики прикладных программ большие усилия тратят
на совершенствование и модернизацию популярных систем, создание их новых версий. Новые версии, как правило, поддерживают старые,
сохраняя преемственность, и включают в себя базовый минимум (стандарт) возможностей.
Один из возможных вариантов классификации программных средств (ПС), составляющих прикладное программное обеспечение (ППО).
Как и почти всякая классификация, приведенная на рисунке не является единственно возможной. В ней представлены
даже не все виды прикладных программ. Тем не менее, использование классификации полезно для создания общего представления о ППО.
- Общая классификация программ и с позиции риска использования. Привести примеры.
Системное ПО
Это совокупность программ для обеспечения работы компьютера. Системное ПО подразделяется на базовое и сервисное. Системные программы предназначены для управления работой вычислительной системы, выполняют различные вспомогательные функции (копирования, выдачи справок, тестирования, форматирования и т. д).
Базовое ПО включает в себя:
операционные системы;
оболочки;
сетевые операционные системы.
Сервисное ПО включает в себя программы (утилиты):
диагностики;
антивирусные;
обслуживания носителей;
архивирования;
обслуживания сети.
Прикладное ПО
Это комплекс программ для решения задач определённого класса конкретной предметной области. Прикладное ПО работает только при наличии системного ПО.
- Определение «Операционная система». Функции ОС (основные и дополнительные).
Операционная система – это комплект программ, правил и специальных данных, которые совместно управляют ресурсами ЭВМ и процессами, использующими эти ресурсы в своей работе.
Важнейшими функциями ОС являются:
1. Управление элементами, блоками и устройствами ПЭВМ. Выполняется с помощью набора специальных управляющих программ – драйверов устройств. Центральная часть операционной системы, так называемое ядро ОС, обязательно содержит драйверы всех основных устройств ЭВМ. Дополнительные устройства устанавливаются в вычислительную систему вместе со своим драйвером, обычно поставляемым вместе с аппаратными средствами.
2. Обеспечение хранения и доступа к информации (файловая система). Сюда входят правила организации и размещения наборов данных во внешней памяти и правила обращения к внешним устройствам, через которые производится передача данных. В основе лежит так называемая Базовая Система Ввода/Вывода (BIOS).
3. Выделение ресурсов ПЭВМ (памяти, процессорного времени, внешних устройств) для выполняемых процессов (управление ресурсами). Это наиболее сложная функция операционных систем. В зависимости от того, как распределяются ресурсы ЭВМ, определяется тип ОС и ее возможности.
4. Организация взаимодействия между выполняемыми процессами (система прерываний). Данная система позволяет с одной стороны достаточно универсально обеспечивать все виды передач управления, с другой – управлять работой компьютера в диалоговом режиме, независимо от выполняемых в текущий момент программ.
5. Выполнение команд пользователя по управлению ЭВМ. Для этих целей в составе операционной системы имеется "командный процессор" – резидентно загруженная программа, интерпретирующая указания человека, вводимые в ЭВМ в различной форме. Чаще всего эти указания являются набранной командой в виде текста, или выбором команды из предлагаемого меню (графического или текстового вида).
- Эволюция ОС и основные идеи (идеи, определяющие функциональность ОС: пакетный режим; разделение во времени и многозадачность; разделение полномочий; реальный масштаб времени).
Первые вычислители – арифмометры (Блез Паскаль 1641г – только сложение, Гельвеций Лейбниц – 1673 г – 4 действия). Этап механизации счета.
Идея программируемого вычислителя – Чарльз Бэббидж (1792-1871) – Этап автоматизации счета.
Представление программы и обрабатываемых данных как два потока информации, хранящейся в одном устройстве – ОП, предложена в начале 40-х годов 20 столетия – Джоном фон Нейманом (1903-1957). Этап разработки архитектуры современной ЭВМ.
Первая ЭВМ (ENIAC) – разработка 1943-1945 годов – в Электрической школе Мура Пенсильванского университета. Первое поколение ЭВМ, построенное на электронных лампах, не имело внешних устройств и операционных систем.
Впервые ОС разрабатываются для ЭВМ второго поколения, в связи с появлением у этих машин внешних устройств. Это были, по сути, библиотеки подпрограмм по управлению всеми устройствами ЭВМ, в первую очередь устройствами ввода и вывода. В целях снижения простоев наиболее дорогого устройства – процессора, задания складывались в виде пакета последовательно вводимых отдельных задач, набитых на перфокарты. Последовательный ввод, запуск на выполнение и завершение каждого задания выполняла специальная управляющая программа, получившая название «монитора».
Использование микросхем вместо полупроводниковых элементов в ЭВМ позволило начать выпускать новое поколение машин с большими возможностями. В ОС ЭВМ 3-го поколения, разрабатываемых в период 1965-1980 гг., постепенно были реализованы все основные моменты, присущие современным операционным системам.
От ОС пакетного режима работы с одной очередью заданий происходит переход к системе многозадачной с фиксированным числом задач (версия MFT), а затем и к многозадачной с переменным числом задач (версия MVT). Достигается максимальная загрузка оборудования. Однако, невытесняющая многозадачность этих версий, ОС не позволяла работать пользователям в интерактивном режиме.
- Классификация ОС (1-й вариант).
Общая классификация операционных систем может быть выполнена на основе количества процессов, пользователей и ЭВМ, обслуживаемых операционной системой одновременно.
Можно привести такую классификационную схему:
Очевидно, что наиболее простыми являются однозадачные ОС, т.е. такие, которые позволяют держать в памяти и выполнять одновременно только одну задачу. Примером такой операционной системы является DOS. Многозадачные позволяют параллельно выполнять несколько задач, распределяя между ними ресурсы ЭВМ. Если между задачами делится только оперативная память, но не процессорное время, то многозадачность называется условной, так как реально работает только одна активная задача, остальные ждут или ее завершения, или внешней команды на переключение (активизацию) другой задачи. Типичный представитель такой ОС – Windows 3.х.
Истинная многозадачность подразумевает распределение процессорного времени между задачами во время их выполнения на основе вытесняющего или не вытесняющего переключения. В последнем случае переключение на другую задачу происходит как бы по инициативе выполняемой задачи – в моменты освобождения процессора в связи с началом использования какого-то внешнего ресурса. Примерами таких ОС являются Windows 9x и NetWare.
- Классификация ОС (2-й и 3-й варианты).
Вытесняющая многозадачность – это когда решение о переключении на другую задачу принимает сама ОС (например, на основе квантования процессорного времени между выполняемыми процессами). В качестве таких ОС можно назвать Windows NT, UNIX, OS/2.
Если однопользовательские ОС могут быть как многозадачными, так и однозадачными, то многопользовательские – только многозадачными. На эти операционные системы ложится функция обеспечения разграничения доступа к данным по приоритетам и паролям пользователей. Часто этим ОС приходится вести учет потребленных ресурсов каждым пользователем (например, в случаях использования ЭВМ на коммерческой основе).
Иногда многопользовательские ОС применяются для обслуживания программ, управляющих некоторыми технологическими процессами или внешними устройствами. В этом случае время реакции на сигналы от этих устройств может быть критическим параметром. ОС должна обеспечить управление внешним процессом в "реальном" времени, т.е. обработка поступающей информации и управляющее воздействие должны выполняться быстрее, чем реально протекающий физический процесс. Такие ОС носят название систем реального времени.
Многомашинные операционные системы наряду с вышеперечисленными функциями должны обеспечивать еще и сетевые функции, т.е. связь, обмен данными и процессами (запуском удаленных приложений) между ЭВМ, как в составе локальной сети, так и на удаленных машинах, причем иногда с другой платформой. К таким ОС можно отнести Windows 2000 Advanced Server, Solaris 8, NetWare 5 и некоторые другие.
Наряду с приведенной выше классификацией, можно рассматривать типы ОС по интерфейсу пользователя. В настоящее время используется графический интерфейс для общения человека и операционной системы. В более ранних версиях диалог человека и ЭВМ осуществлялся через текстовый интерфейс – так называемую командную строку. В перспективе можно ожидать перехода на интерфейс, основанный на голосовое общение с машиной.
- Понятие «Программное обеспечение». Состав ПО. Системное ПО (базовое ПО). Примеры.
- Понятие «Программное обеспечение». Системное ПО (сервисное ПО). Примеры.
Понятие о программном обеспечении.
Программное обеспечение (ПО) — это совокупность программ, позволяющая организовать решение задач на ЭВМ.
Делится на:
-Системное ПО — организует процесс обработки информации. Основная часть — операционная система (ОС). Также относятся программы для диагностики и контроля работы компьютера, архиваторы, антивирусы, программы для обслуживания дисков, программные оболочки, драйверы внешних устройств, сетевое ПО и телекоммуникационные программы.
-Прикладное ПО — решение определенного класса задач пользователей. Существуют пакеты прикладных программ (например, MS Works) и библиотеки стандартных программ (например, MathCad для вычисления функций, построения графиков и решения уравнений).
-Системы программирования (инструментальные системы) — позволяют разрабатывать новые программы на языках программирования. Примеры: Turbo Pascal, QBasic, Borland C++, Visual Basic
- Типы операционных систем: ОС пакетной обработки и ОС разделения во времени. Их характеристики (таблица).
Как только наступила одна из этих ситуаций, управление передается другому процессу. Количество передач управления от одного процесса к другому минимизировано. Так как при передаче управления с одного процесса на другой ОС должна выполнить набор некоторых действий, а это потеря времени, то здесь эти потери минимизированы. Такой режим работы ОС называется пакетным режимом. ОС, которая работает в таком режиме, называется пакетной ОС.
При наступлении одного из упомянутых событий планировщик ОС выбирает из процессов, готовых к выполнению, некоторый процесс и передает ему ресурсы ЦП. А выбирает он этот процесс в зависимости от того алгоритма планирования, который был использован в данной конкретной ОС. Например, процесс может выбираться случайно. Второй способ заключается в том, что происходит как бы последовательный обход процессов, то есть мы взяли в работу сначала один из процессов, затем он освободился, и время ЦП будет предоставлено следующему по порядку процессу из готовых к выполнению. Третьим критерием, по которому отбирается очередная задача, может быть время, которое данный процесс не обслуживался ЦП. В этом случае система может выбирать процесс, у которого такое время самое большое. Эти алгоритмы должны быть реализованы в ОС, а значит, они должны быть простыми, иначе система будет работать неэффективно, сама на себя (хотя такие системы есть: в частности, этим страдает семейство Windows). Такой тип ОС называется ОС разделения времени. Она работает в режиме, при котором минимизируется время реакции системы на запрос пользователя.
- Типы операционных систем: ОС реального времени и диалоговые ОС. Их характеристики (таблица).
Предположим, у нас система разделения времени. Одним из качеств системы разделения времени является неэффективность за счет того, что в системе предусмотрено большое количество переключений с процесса на процесс, а эта функция достаточно трудоемка. Для решения такого рода задач нужны свои средства планирования. В этом случае используются, так называемые, ОС реального времени, основным критерием которых является время гарантированной реакции системы на возникновение того или иного события из набора заранее предопределенных событий. То есть в системе есть набор событий, на которые система в любой ситуации прореагирует и обработает их за некоторое наперед заданное время. Для ОС этого класса используются достаточно простые алгоритмы.
- Требования, предъявляемые к современным ОС (функциональные и рыночные).
Операционная система, являясь главной частью сетевого программного обеспечения, создает среду для выполнения приложений и во многом определяет, насколько эффективно будут они работать. Очевидно, что главным требованием, предъявляемым к операционной системе, является способность выполнения основных функций: эффективного управления ресурсами и обеспечения удобного интерфейса для пользователя и прикладных программ. Современная ОС, как правило, должна реализовывать мультипрограммную обработку, виртуальную память, поддерживать многооконный интерфейс и прочее. Кроме этих функциональных требований к операционным системам предъявляются не менее важные рыночные требования.
• Расширяемость. Система должна быть написана таким образом, чтобы в нее можно было легко внести дополнения и изменения, если это потребуется, и не нарушить целостность системы.
• Переносимость. Система должна без особых трудностей переноситься с аппаратных средств одного типа на аппаратные средства другого типа.
• Надежность и отказоустойчивость. Система должна быть защищена как от внутренних, так и от внешних ошибок, сбоев и отказов. Ее действия должны быть предсказуемыми, а приложения не должны разрушать ОС.
• Совместимость. ОС должна иметь средства для выполнения прикладных программ, написанных для других операционных систем, а пользовательский интерфейс должен быть совместим с существующими системами и стандартами.
• Безопасность. ОС должна обладать средствами защиты ресурсов одних пользователей от других.
• Производительность. Система должна обладать настолько хорошим быстродействием и временем реакции, насколько это позволяют аппаратные средства.
Оценить сетевую ОС можно по ее соответствию сетевой среде, а именно по возможности:
• совместного использования файлов и принтеров при высокой производительности;
• эффективного выполнения прикладных программ, ориентированных на архитектуру клиент-сервер, в том числе прикладных программ производителей;
• возможность работать на различных платформах и с различным сетевым оборудованием;
• обеспечить интеграцию с сетью Интернет, т. е. поддержку соответствующих протоколов и программного обеспечения Web-сервера;
• дистанционного доступа к сети;
• организации внутренней электронной почты, телеконференций;
• доступа к ресурсам территориально разбросанных, многосерверных сетей с помощью служб каталогов и имен.
- Рыночное требование к ОС – расширяемость.
Расширяемость. В то время как аппаратная часть компьютера устаревает за несколько лет, полезная жизнь ОС может измеряться десятилетиями. Примером может служить ОС UNIX. Поэтому ОС всегда изменяются со временем эволюционно. Изменения ОС обычно заключаются в приобретении ею новых свойств, например поддержке новых типов внешних устройств или новых сетевых технологий. Если код ОС написан таким образом, что дополнения и изменения могут вноситься без нарушения целостности системы, то такую ОС называют расширяемой.
- Рыночное требование к ОС – переносимость.
Переносимость ОС с одной платформы на другую определяется степенью серьезности переделки при переходе. Чтобы обеспечить мобильность ОС, при ее разработке надо стараться выполнить ряд правил
- Большая часть кода должна быть написана на языке, для которого есть трансляторы на всех платформах, которые предполагается охватить. Обычно это язык С, трансляторы с которого учитывают некоторые особенности аппаратуры. На ассемблере пишут ОС только если планируют использовать аппаратные платформы с одинаковой системой команд. Иногда на ассемблере пишут процедуры аппаратно-зависимого слоя и реализацию вычислений с высокой точностью.
- Объем машинно-зависимых частей кода должен быть минимизирован. Не следует пользоваться стандартными характеристиками аппаратуры, задаваемыми по умолчанию. Как в объектном программировании, следует пользоваться абстрактными понятиями, реализованными через функции, зависящие от аппаратуры. Тогда при переходе придется переписать только эти функции.
- Аппаратно-зависимый код следует локализовать в нескольких модулях, а не разбрасывать по всему коду ОС. Локализацию надо провести для всех частей ОС, которые зависят от процессора и аппаратной платформы.
- Рыночное требование к ОС – совместимость.
Совместимость. Существует несколько «долгоживущих» популярных ОС (разновидности UNIX, MS-DOS, Windows 3.x, Windows NT, OS/2), для которых наработана широкая номенклатура приложений. Поэтому для пользователя, переходящего по тем или иным причинам с одной ОС на другую, очень привлекательна возможность запуска в новой ОС привычного приложения. Если ОС имеет средства для выполнения прикладных программ, написанных для других ОС, то про неё говорят, что она обладает совместимостью с этими ОС.
- Рыночное требование к ОС – безопасность.
Безопасность. Современная ОС должна защищать данные и другие ресурсы вычислительной системы от несанкционированного доступа. Чтобы ОС обладала свойством безопасности, она должна иметь в своём составе средства аутентификации – определения легальности пользователей, авторизации – предоставления легальным пользователям прав доступа к ресурсам, аудита – фиксации всех подозрительных для безопасности системы событий. Свойство безопасности особенно важно для сетевых ОС.
- Архитектура ОС. Понятие «Ядро ОС». Функции ядра.
Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на две группы:
ядро — модули, выполняющие основные функции ОС;
модули, выполняющие вспомогательные функции ОС.
Модули ядра выполняют такие базовые функции ОС, как управление процессами, памятью, устройствами ввода-вывода и т. п. Ядро составляет сердцевину операционной системы, без него ОС является полностью неработоспособной и не сможет выполнить ни одну из своих функций. В состав ядра входят функции, решающие внутрисистемные задачи организации вычислительного процесса. Функции, выполняемые модулями ядра, являются наиболее часто используемыми функциями операционной системы, поэтому скорость их выполнения определяет производительность всей системы в целом. Для обеспечения высокой скорости работы ОС все модули ядра или большая их часть постоянно находятся в оперативной памяти. Ядро является движущей силой всех вычислительных процессов в компьютерной системе, и крах ядра равносилен краху всей системы. Поэтому разработчики операционной системы уделяют особое внимание надежности кодов ядра, в результате процесс их отладки может растягиваться на многие месяцы. Обычно ядро оформляется в виде программного модуля некоторого специального формата, отличающегося от формата пользовательских приложений.
Ядро́ — центральная часть операционной системы (ОС), обеспечивающая приложениям координированный доступ к ресурсам компьютера, таким как процессорное время, память и внешнее аппаратное обеспечение.
- Архитектура ОС. Вспомогательные модули ОС (группы, схема).
Наиболее общим подходом к структуризации является разделение всех ее модулей на две группы: ядро и вспомогательные модули.
Ядро включает модули, выполняющие основные функции ОС:
управление процессами
управление память
управление вводом-выводом и файловая система
прочие
Модули, выполняющие вспомогательные функции:
утилиты
библиотеки
компиляторы
прочие
Функции ядра, которые могут вызываться приложениями, образуютинтерфейс прикладного программирования API(Application Program Interface) Ядро работает в привилегированном режиме, и большая часть его модулей постоянно находится в памяти (резидентные). Разделение ОС на ядро и вспомогательные модули облегчает ее расширяемость
К вспомогательным модулям ОС относятся:
Утилиты (Сжатие, архивирование, проверка, дефрагментация и пр.)
Системные обрабатывающие программы (редакторы, отладчики, компиляторы и пр.)
Программы дополнительных услуг (игры, калькулятор и пр.)
Библиотеки процедур (математических функций и пр.)
Вспомогательные модули ОС загружаются в оперативную память только на время выполнения (транзитные модули)