Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
realese.doc
Скачиваний:
16
Добавлен:
03.09.2019
Размер:
313.34 Кб
Скачать

Вопросы к экзамену по дисциплине

“Операционные системы и среды”

  1. Общие сведения операционных системах. Основные понятия.

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

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

  1. Поколения операционных систем.

Нулевое поколение(40-е годы).

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

Исследовательская лаборатория фирмы General Motors и North American Aviation в 1950-м году совместно разработали ОС для IBM 704.

Первые ОС были ориентированы на сокращение времени которое тратилось на запуск задач(подготовительное время) и на удаление их из памяти машины(заключительное время).

Первое поколение(50-е годы).

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

Второе поколение(начало 60-х).

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

Третье поколение(середина 60- середина 70-х).

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

Четвёртое поколение(середина 70х-настоящее время).

Появляются сетевые ОС, идёт активное совершенствование ОС в связи с появлением персональных компьютеров.

  1. Классификация операционных систем.

1).По количеству решаемых задач:многозадачные, однозадачные.

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

3). По количеству поддерживаемых процессоров:однопроцессорные, многопроцессорные.

4). По типу интерфейса: командные(текстовые), графические(объектно ориентированные).

5).По разрядности кода: 8-ми, 16-ти, 32-ух, 64-х битные.

6). По типу использования ресурсов: сетевые, локальные.

7). По типу доступа пользователя к ЭВМ: С пакетной обработкой, ОС с разделением времени, ОС реального времени.

  1. Функции операционных систем.

Разработка программ.

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

Исполнение программ.

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

Доступ к устройствам ввода-вывода.

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

Контролируемый доступ к файлам.

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

Системный доступ.

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

Обнаружение ошибок и их обработка.

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

Учет использования ресурсов.

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

  1. Особенности алгоритмов управления ресурсами.

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

  1. Особенности аппаратных платформ.

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

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

Сетевая ОС имеет в своем составе средства передачи сообщений между компьютерами по линиям связи, которые совершенно не нужны в автономной ОС. На основе этих сообщений сетевая ОС поддерживает разделение ресурсов компьютера между удаленными пользователями, подключенными к сети. Для поддержания функций передачи сообщений сетевые ОС содержат специальные программные компоненты, реализующие популярные коммуникационные протоколы, такие как IP, IPX, Ethernet и другие.

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

Другие требования предъявляются к операционным системам кластеров. Кластер - слабо связанная совокупность нескольких вычислительных систем, работающих совместно для выполнения общих приложений, и представляющихся пользователю единой системой. Наряду со специальной аппаратурой для функционирования кластерных систем необходима и программная поддержка со стороны операционной системы, которая сводится в основном к синхронизации доступа к разделяемым ресурсам, обнаружению отказов и динамической реконфигурации системы. Одной из первых разработок в области кластерных технологий были решения компании Digital Equipment на базе компьютеров VAX. Недавно этой компанией заключено соглашение с корпорацией Microsoft о разработке кластерной технологии, использующей Windows NT. Несколько компаний предлагают кластеры на основе UNIX-машин.

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

  1. Требования, предъявляемые к современным ОС.

- Постоянное развитие. ОС должна постоянно улучшаться и обновляться.

- ОС должна быть посредником между аппаратурой и приложениями.

- Настраиваемость.

- Дружественность.

- Прозрачность.

- Поддержка приложений.

- Многозадачность.

- Безопасность( защита от несанкционированных действий программ и пользователей).

- Надёжность(защита от сбоев , критических ошибок в работе приложений и аппаратуры).

  1. Основные понятия и принципы работы операционных систем.

Основные понятия

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

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

Назначение, функции и характеристики операционных систем

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

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

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

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

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

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

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

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

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

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

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

- Переносимость. Новшества в аппаратном обеспечении возникают быстро и часто непредсказуемо. Например, RISC (Reduced Instructions Set Computer - компьютеры с сокращенным набором команд) - процессоры существенно отличаются от традиционных CISC (Complex Instruction Set Computer – компьютеры со сложным набором команд). Если операционная система написана на переносимом языке - это позволяет быстрее переходить от одной архитектуры компьютеров к другой, то есть использовать всю операционную систему целиком на машине с другим процессором или конфигурацией при минимальных изменениях исходного текста. Хотя операционные системы часто делят на «переносимые» и «непереносимые», строго говоря, переносимость в той или иной степени свойственна всем им. Вопрос не в том, можно ли перенести программу, поскольку, как правило, в конечном счете, это можно сделать, а в том, насколько сложно это сделать. Поэтому большинство современных операционных систем пишутся на языках высокого уровня, обладающих высокой переносимостью.

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

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

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

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

- Совместимость. Несмотря на то, что новые версии операционной системы призваны расширять существующие технологии, ее пользовательский интерфейс, а также API (Application Programming Interface – интерфейс программирования приложений) должны быть совместимы с предыдущими версиями.

- Производительность. Система должна отвечать, всем требованиям, но при этом быть максимально быстрой и обеспечивать минимальное время отклика на каждой аппаратной платформе.

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