Категории: ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника |
Перечень вопросов для промежуточного и итогового контроляПеречень вопросов для промежуточного и итогового контроля 1 Операционная система. Основные определения и понятия. Компоненты, назначение и состав ОС. Функции ОС. Операционная система (ОС) — это программа, которая выполняет функции посредника между пользователем и компьютером. ОС выполняя роль посредника, служит двум целям: эффективно использовать компьютерные ресурсы и создавать условия для эффективной работы пользователя. В качестве ресурсов компьютера обычно рассматривают: · — время работы процессора; · — адресное пространство основной памяти; · — оборудование ввода-вывода; · — файлы, хранящиеся во внешней памяти. Функционирование компьютера после включения питания начинается с запуска программы первоначальной загрузки. Эта программа инициализирует основные аппаратные блоки компьютера, а затем загружается ядро ОС. В дальнейшем ОС реагирует на события, происходящие в системе, как программные, так и аппаратные, и вызывает модули, ответственные за их выполнение. ОС является как средой для организации работы пользователя, так и средой исполнения и взаимодействия различных программ. В функции операционной системы входит: · — осуществление диалога с пользователем; · — ввод-вывод и управление данными; · — планирование и организация процесса обработки программ; · — распределение ресурсов (оперативной памяти и кэша, процессора, внешних устройств); · — запуск программ на выполнение; · — всевозможные вспомогательные операции обслуживания; · — передача информации между различными внутренними устройствами; · — программная поддержка работы периферийных устройств (дисплея, клавиатуры, дисковых накопителей, принтера и др.). · — организация среды взаимодействия и обмена информацией между работающими программами. Операционную систему можно назвать программным продолжением устройства управления компьютером. Операционная система скрывает от пользователя сложные подробности взаимодействия с аппаратурой, образуя прослойку между ними. В зависимости от количества одновременно обрабатываемых задач н числа пользователей, которых могут обслуживать ОС, различают основные классы операционных систем: · —однопользовательские однозадачные, которые могут выполняться только на одном компьютере, обслуживать только одного пользователя и работать только с одной (в данный момент) задачей. В настоящее время практически не используются; · — однопользовательские многозадачные, или настольные. которые обеспечивают одному пользователю одновременную работу с несколькими задачами. · — многопользовательские многозадачные или серверные. Позволяющие на одном компьютере запускать несколько задач нескольким пользователям. Эти ОС наиболее сложны и требуют значительных машинных ресурсов. На сегодняшний момент самой распространенной операционной системой на ПК является операционная система Windows фирмы Microsoft. Количество проданных копий Windows измеряется сотнями миллионов. Основные понятия операционных систем Исторические наработки и решения проблем привели к следующим основополагающим понятиям в теории ОС: · Процессы и потоки · Управление памятью · Безопасность · Планирование и управление ресурсами · Структура системы Процессы Фундаментальное понятие ОС Процесс – это выполняющаяся программа · Код программы · Ассоциированные с ней и необходимые ей данные (статические переменные, стек, буферы…) · Контекст выполнения (состояние процесса) Контекст выполнения очень важен для управления процессами · Это структура данных, используемая ОС для управления процессом · Сохраняет регистры процессора при переключении контекста · Сохраняет приоритет процесса и другую информацию о состоянии Управление памятью У операционных систем есть пять основных принципов управления устройствами хранения информации: 1. Изоляция процессов 2. Автоматическое выделение и управление памятью 3. Поддержка модульного программирования 4. Защита и контроль доступа 5. Долговременное хранение Планирование и управление ресурсами ОС управляет и выделяет ресурсы процессора и память Политика выделения ресурсов должна опираться на: · Эффективность: максимизация скорости · Справедливость: все процессы должны обслуживаться справедливо · Дифференцированность: у процессов может быть разный приоритет и разные требования Расширенный (дополнительный) раздел Основная таблица разделов MBR может содержать не более 4 первичных разделов, поэтому был изобретён Расширенный раздел (extended partition). Это первичный раздел, который не содержит собственной файловой системы, а содержит другие логические разделы. Количество расширенных разделов ограничено только размером диска. Данные о каждом разделе хранятся в отдельной расширенной загрузочной записи (EBR). Наиболее известные виртуальные машины: * Java Virtual Machine * Microsoft VirtualPC * Microsoft Virtual Server * Qemu * VirtualBox * VMWare Workstation Загрузчик ОС - системное ПО, обеспечивающее загрузку ОС непосредственно после включения компьютера. Функции:
3 Краткая эволюция ОС. Архитектура ОС. Классификация ОС. Сравнение операционных систем.
Симметричные ОС Пакетная обработка (OS/360) Разделение времени Реальное время (VxWorks,QNX) Аппаратная платформа Малое количество программ Когда-то количество программ для работы было действительно невелико, прежде всего потому, что Linux раньше был в основном сервер-ориентированным. Сейчас же количество программ для работе на десктопе очень велико. И по качеству многие из них ничем не уступают, а то и превосходят, программы под Windows.
Как видно из таблицы, недостатка в программах под Linux нет. За то огромная разница в цене. Большинство программ под Linux бесплатны, а коммерческие - намного дешевле. Что нам необходимо в офисной работе: Разберем теперь подробнее организацию всего этого на базе Linux. Файловый сервер строится на базе Samba. Туда же подключаем OpenLDAP и получаем контроллер домена. В качестве сервера совместной работы отлично подходит eGroupWare. SugarCRM - вообще одна из лучших CRM-систем. OpenERP работает на многих предприятиях - главное ее правильно настроить. А знаменитая 1С - отлично работает и на Linux. Кого по идеологическим соображениям 1С не устраивает - всегда можно развернуть бесплатную IceB. Сложность настройки. Раньше действительно рабочая станция настраивалась очень проблематично. Сегодня установить и настроить ту же самую Ubuntu может любой пользователь. Ничего необычного и сложного в настройке не осталось. Тем более что драйвера под большинство аппаратного обеспечения ставятся автоматически и нет нужды искать их на сайтах производителей. Малое количество игр. На самом деле под Linux игр не так уж и мало. Тем более что многие из новых игр очень неплохо идут и под эмулятором Windows - Wine, например S.T.A.L.K.E.R. Отсутствие техподдержки. Техподдержки по Linux на сегодня предостаточно. Можно, например, выбрать коммерческую поддержку от производителя. Она осуществляется: Состав операционной системы Важнейшим достоинством большинства ОС является модульность. Это свойство позволяет объединить в каждом модуле определенные логически связанные группы функций. Если возникает необходимость в замене или расширении такой группы функций, это можно сделать путем замены или модификации лишь одного модуля, а не всей системы. Большинство ОС состоит из следующих основных модулей: базовая система ввода-вывода (BIOS – Basic Input Output System); загрузчик операционной системы (Boot Record); ядро ОС; драйверы устройств; командный процессор; внешние команды (файлы). Базовая система ввода-вывода (BIOS) – это набор микропрограмм, реализующих основные низкоуровневые (элементарные) операции ввода-вывода. Они хранятся в ПЗУ компьютера и записываются туда при изготовлении материнской платы. Данная система, по сути, «встроена» в компьютер и является одновременно его аппаратной частью и частью операционной системы. Первая функция BIOS – автоматическое тестирование основных компонентов компьютера при его включении. При обнаружении ошибки на экран выводится соответствующее сообщение и / или выдается звуковой сигнал. Далее BIOS осуществляет вызов блока начальной загрузки операционной системы, находящейся на диске (эта операция выполняется сразу по окончании тестирования). Загрузив в ОЗУ этот блок, BIOS передает ему управление, а он в свою очередь загружает другие модули ОС. Еще одна важная функция BIOS – обслуживание прерываний. При возникновении определенных событий (нажатие клавиши на клавиатуре, щелчок мыши, ошибка в программе и т.д.) вызывается одна из стандартных подпрограмм BIOS по обработке возникшей ситуации. Загрузчик операционной системы – это короткая программа, находящаяся в первом секторе любого загрузочного диска (дискеты или диска с операционной системой). Функция этой программы заключается в считывании в память основных дисковых файлов ОС и передаче им дальнейшего управления ЭВМ. Ядро ОС реализует основные высокоуровневые услуги, загружается в ОЗУ и остается в ней постоянно. В ядре ОС выделяют несколько подсистем, каждая из которых отвечает за выполнение той или иной задачи: - файловая система (отвечает за размещение информации на устройствах хранения); - система управления памятью (размещает программы в памяти); - система управления программами (осуществляет запуск и выполнение программ); - система связи с драйверами устройств (отвечает за взаимодействие с внешними устройствами); - система обработки ошибок; - служба времени (предоставляет всем программам информацию о системном времени). Модуль расширения BIOS придает гибкость операционной системе, позволяя добавлять драйверы, обслуживающие дополнительные устройства. Драйверы требуются в тех случаях, когда обмен информацией с устройствами должен происходить иначе, чем определено в BIOS. Драйверы устройств – это программы, управляющие работой внешних (периферийных) устройств на физическом уровне. Они дополняют систему ввода-вывода ОС и обеспечивают обслуживание новых устройств или нестандартное использование имеющихся. Они передают или принимают данные от аппаратуры и делают пользовательские программы независимыми от ее особенностей. Драйверы загружаются в память компьютера при загрузке операционной системы; необходимость и порядок их загрузки указываются в специальных файлах конфигурации. Такая схема облегчает подключение к машине новых устройств и позволяет делать это, не затрагивая системные файлы ОС. Основные компоненты операционной системы.Основные типы операционных систем 1. Операционная система (ОС) служит для управления ресурсами компьютера и обеспечения К системным компонентам относятся ядро системы, обеспечивающее взаимодействие всех компонент, загрузчик программ, подсистемы, обеспечивающие диалог с человеком — оконная система и интерпретатор команд и, наконец, файловая система. Именно системные компоненты ОС определяют основные свойства операционной системы. 2. Операционные системы делятся на однопользовательские и многозадачные, с текстовым или с графическим интерфейсом. Операционная система Windows-95 является однопользовательской многозадачной ОС с многооконным графическим интерфейсом. Главным требованием, предъявляемым к операционной системе, является выполнение ею основных функций эффективного управления ресурсами и обеспечение удобного интерфейса для пользователя и прикладных программ. Традиционно к ОС предъявлялись следующие дополнительные требования: - прозрачность (незаметность работы) служебных программ; - гарантированная надежность; - максимальная скорость выполнения; - минимальный машинный код; - использование стандартных средств для связи с проблемными программами. Кроме этого, современная операционная система должна обладать свойствами: Расширяемости, совместимости, переносимости, безопасности, надежности и отказоустойчивости. Расширяемость Код должен быть написан так, чтобы систему можно было легко наращивать и модифицировать по мере изменения потребностей рынка. В то время как аппаратная часть компьютера устаревает за несколько лет, полезная жизнь операционных систем может измеряться десятилетиями. Сохранение целостности кода, какие бы изменения не вносились в операционную систему, является главной целью. Расширяемость может достигаться за счет: - модульной структуры ОС, при которой программы строятся из набора отдельных модулей, взаимодействующих только через функциональный интерфейс. Новые компоненты могут быть добавлены в операционную систему модульным путем, они выполняют свою работу, используя интерфейсы, поддерживаемые существующими компонентами; - использования Объектов для представления системных ресурсов. Добавление новых объектов не разрушает существующие объекты и не требует изменений существующего кода; - структурирования ОС по типу клиент-сервер с использованием Микроядерной технологии; - использования средств вызова удаленных процедур (RPC). Новые программные процедуры могут быть добавлены в любую машину сети и немедленно поступить в распоряжение прикладных программ на других машинах сети. Некоторые ОС для улучшения расширяемости поддерживают загружаемые драйверы, которые могут быть добавлены в систему во время ее работы. Новые файловые системы, устройства и сети могут поддерживаться путем написания драйвера устройства, драйвера файловой системы или транспортного драйвера и загрузки его в систему. Переносимость Переносимость (многоплатформенность) дает возможность перемещать всю систему на машину, базирующуюся на другом процессоре или аппаратной платформе, делая при этом по возможности небольшие изменения в коде. Для написания переносимой ОС необходимо: - использовать язык высокого уровня. Большинство переносимых ОС написано на языке С потому, что он стандартизован и С-компиляторы широко доступны; - изолировать процессор. Некоторые низкоуровневые части ОС должны иметь доступ к процессорно-зависимым структурам данных и регистрам. Однако код, который делает это, должен содержаться в небольших модулях, которые могут быть заменены аналогичными модулями для других процессоров; - изолировать платформу. Зависимость от платформы заключается в различиях между рабочими станциями разных производителей, построенными на одном и том же процессоре). Должен быть введен программный уровень, абстрагирующий аппаратуру (КЭШи, контроллеры прерываний ввода-вывода и т. п.) вместе со слоем низкоуровневых программ таким образом, чтобы высокоуровневый код не нуждался в изменении при переносе с одной платформы на другую. Совместимость Под совместимостью понимают способность ОС выполнять программы, написанные для других ОС или для более ранних версий данной операционной системы, а также для другой аппаратной платформы. Различают Двоичную совместимость (достигается в том случае, когда исполняемую программу можно запустить на выполнение в вычислительной системе с другой ОС, для этого необходимы: совместимость на уровне команд процессора,) и Совместимость на уровне исходных текстов (требует наличия соответствующего компилятора в составе программного обеспечения, при этом необходима перекомпиляция имеющихся исходных текстов в новый исполняемый модуль, а также совместимость на уровне библиотек и системных вызовов). При совпадении архитектур процессоров (набора команд (возможно, с некоторыми дополнениями) и диапазона адресов) двоичная совместимость достигается при: - поддержке вызовов API-функций новой ОС; - соответствии внутренней структуры исполняемого файла правилам новой ОС. Для достижения двоичной совместимости в случае различных архитектур кроме этих мер необходимы либо: - эмуляция (довольно просто, но обычно очень медленно), либо - использование множественных прикладных программных сред; прикладная среда имитирует библиотечные функции целиком, используя заранее написанную библиотеку функций аналогичного назначения, а остальные команды эмулирует каждую по отдельности; либо - система виртуальных машин (СВМ) (см. рис. 1.1). Система виртуальных машин (СВМ) – такой вариант организации вычислительного процесса, при котором на одном компьютере одновременно выполняются несколько копий одной и той же или нескольких разных ОС. Каждая из этих ОС функционирует так же, как если бы она выполнялась на отдельном компьютере.
Рис. 1.1 Вариант виртуальной машины Первой реальной системой такого рода была система CP/CMS или VM/370, как ее называют сейчас, для семейства машин IBM/370. Эмулятор – это программа, которая последовательно, одну за другой, считывает из эмулируемой программы двоичные инструкции одного процессора, анализирует, какие действия необходимо выполнить по этой инструкции, а затем выполняет эквивалентную программу, написанную в инструкциях другого процессора. Архитектура – это базовая организация системы, воплощенная в ее компонентах, их отношениях между собой и с окружением, а также принципы, определяющие проектирование и развитие системы [IEE[1471] . Именно архитектура ОС должна обеспечить: ¾ расширяемость ОС ¾ переносимость ОС ¾ совместимость различных ОС Существует два способа структуризации ОС: 1. Способ связан с ранее выделенным функционалом ОС (т.е. можно выделить подсистему управления процессами/памятью/файлами и т.д.). Такое деление достаточно обоснованно, поскольку всю совокупность программных модулей ОС, отвечающих за тот или иной функционал, достаточно просто локализовать в виде одной структуры, которая и называется подсистемой. В соответствии с этим способом структуризации выделяют следующий состав компонентов (подсистем) ОС: 1. управление процессами 2. управление памятью 3. управление файлами 4. управление внешними устройствами 5. защита данных 6. администрирование 7. интерфейс прикладного программирования 8. пользовательский интерфейс 2. Способ связан с понятием ядра системы. Существуют различные определения ядра. Согласно одному из них, ядро – резидентная часть системы (к ядру относится тот программный код, который постоянно находится в памяти в течении всей работы системы). Остальные (вспомогательные) модули ОС являются транзитивными (т.е. подгружаются в память с диска по мере необходимости на время своей работы). Другой характеристикой ядра может служить его режим работы. Все современные процессоры поддерживают как минимум два режима: ¾ привилегированный (он же режим ядра) kernel mode ¾ непривилегированный (режим задачи пользователя) user mode Программы, работающие в режиме ядра, имеют полный, неограниченный доступ ко всем ресурсам компьютера: · его командам · адресам · регистрам · портам ввода-вывода В режиме задачи возможности программы ограничены, она, в частности, не может выполнять некоторые специальные команды. Следует иметь в виду, что переходы из режима пользователя в режим ядра и обратно это действия, требующие определенного времени. Слишком частое их выполнение может привести к заметному снижению скорости работы программы. В связи с этим, определение того, какие функции должны поддерживаться ядром, а какие лучше выполнять в режиме пользователя, - это непростая и важная задача, которую должны решить разработчики ОС. Смена режимов при выполнении функции ядра
Работа Пользовательский t – время переключения приложения режим режимов
t Работа t ядра
Остальные части ОС (системные утилиты) работают в непривилегированном режиме (так же как и задачи пользователя) и для выполнения своих системных действий вынуждены обращаться к ядру. Ядро включает модули, выполняющие основные функции ОС: 1. управление процессами 2. управление памятью 3. управление вводом-выводом и файловая система 4. прочее К транзитным частям ОС относятся: - утилиты (отдельные системные программы, решающие частные задачи, такие например, как форматирование и проверка диска, поиск данных в файлах, мониторинг работы системы и многое другое) - системные библиотеки подпрограмм (они позволяют прикладным программам использовать различные специальные возможности, которые поддерживаются системой, например: библиотеки для графического вывода, для работы с мультимедиа) - интерпретатор команд (программа, выполняющая ввод команд пользователя, их анализ и вызов других модулей для выполнения команд) - системный загрузчик (программа, которая при запуске ОС (включение питания) обеспечивает загрузку системы с диска, ее инициализацию и старт) - другие виды программ (системные обрабатывающие программы (редакторы, отладчики, компиляторы), а также программы дополнительных услуг (игры, калькулятор) и библиотеки процедур (математические функции). Особую роль в структуре системы играют драйверы устройств – это программы, предназначенные для обслуживания конкретных периферийных устройств, они, как правило, входят в состав ядра, т.е. являются резидентными и работают в режиме ядра. Но в отличие от самого ядра, которое изменяется только при появлении новой версии ОС, набор используемых драйверов весьма мобилен и зависит от набора устройств, подключенных к данному компьютеру. В большинстве современных ОС драйверы подключаются к ядру в процессе загрузки системы, а иногда разрешается загрузка и выгрузка драйверов в ходе работы системы.
5 Множественные прикладные среды. Совместимость. Типы операций Наиболее полную классификацию операций ввода-вывода по их типам (наилучшую из известных мне) дал У. Р. Стивенс в книге "UNIX Network Programming. Networking APIs" (см. раздел "Ресурсы"). В ней он выделяет 5 принципиально различающихся типов операций: 1. блокирующий ввод-вывод: когда приложение, запрашивающее операцию, блокируется до момента фактического выполнения операции, например, готовности данных для чтения; 2. неблокирующий ввод-вывод: когда при невозможности немедленного выполнения операции приложение, запросившее её, не блокируется и продолжает выполняться далее, а сама операция завершается с установленным признаком невозможности её выполнения на данный момент; 3. мультиплексирование ввода-вывода (функции select() и poll()): когда выполнение операции ожидается на более, чем одном дескрипторе файла; 4. ввод-вывод, управляемый сигналом (сигнал SIGIO): когда ввод-вывод инициирует начало операции, приложение при этом не блокируется, а о готовности данных к копированию в буфер приложения оно асинхронно уведомляется сигналом UNIX; 5. асинхронный ввод-вывод (функции из стандарта реального времени POSIX.1g вида aio_*()): такие функции ввода-вывода только инициируют начало выполнения операции, не блокируя приложение; приложение уведомляется асинхронно о завершении выполнения операции, и в отличии от предыдущего случая уведомление содержит сигнал не о возможности начала копирования данных, а о < |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Последнее изменение этой страницы: 2016-06-09 lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда... |