Читайте также:
|
|
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17-8,18,19,20,21,22,23.
Операционная система
ОС - это неотъемлемая часть ПО, управляющая техническими средствами компьютера (hardware).. Операционная система - это программа, координирующая действия вычислительной машины; под ее управлением осуществляется выполнение программ.
Основные функции операционной системы:
ОС – это комплекс взаимосвязанных системных программ, назначение которого – организовать взаимодействие пользователя с компьютером и выполнение всех других программ.
Первая задача ОС – организация связи, общения пользователя с компьютером в целом и его отдельными устройствами. Такое общение осуществляется с помощью команд, которые в том или ином виде человек сообщает операционной системе. В ранних вариантах операционных систем такие команды просто вводились с клавиатуры в специальную строку. В последующем были созданы программы – оболочки ОС, которые позволяют общаться не только с ОС не только текстовым языком команд, а с помощью меню (в том числе пиктографического) или манипуляций с графическими объектами.
Вторая задача ОС – организация взаимодействия всех блоков компьютера в процессе выполнения программы, которую назначил пользователь для решения задачи. В частности, ОС организует и следит за размещением в оперативной памяти и на диске нужных для работы программы данных, обеспечивает своевременное подключение устройств компьютера по требованию программы и т.п.
Третья задача ОС – обеспечение так называемых системных работ, которые бывает необходимо выполнить для пользователя. Сюда относится проверка, “лечение” и форматирование диска, удаление и восстановление файлов, организация файловой системы и т.п. Обычно такие работы осуществляются с помощью специальных программ, входящих в ОС и называемых утилитами.
Операционная система выполняет роль связующего звена между аппаратурой компьютера, с одной стороны, и выполняемыми программами, а также пользователем, с другой стороны.
ОС обычно хранится во внешней памяти компьютера – на диске. При включении компьютера она считывается с дисковой памяти и размещается в ОЗУ.
Этот процесс называют загрузкой ОС.
В функции ОС входит:
2. Общие сведения о реестре
Реестр — иерархическая централизованная база данных, используемая в ОС Microsoft Windows (начиная с версии Windows 98) для хранения сведений, необходимых для настройки операционной системы для работы с пользователями, программными продуктами и устройствами.
В определенном приближении реестр можно рассматривать как записную книжку Windows — как только системе нужна какая-то информация, она ищет её в реестре. В реестре хранятся данные, которые необходимы для правильного функционирования Windows. К ним относятся профили всех пользователей, сведения об установленном программном обеспечении и типах документов, которые могут быть созданы каждой программой, информация о свойствах папок и значках приложений, а также установленном оборудовании и используемых портах.
Реестр заменяет собой большинство текстовых INI-файлов, которые использовались в Windows 3.x, а также файлы конфигурации MS-DOS, такие как Autoexec.bat и Config.sys. Версии реестра для разных версий операционных систем семейства Windows имеют определенные различия.
Реестр активно используется системой для решения следующих задач:
· загрузка ядра системы — сопровождается считыванием необходимых параметров из реестра, которые определяют перечень и порядок подключения других модулей Windows;
· распознавание аппаратных средств — производится при каждом запуске системы (сведения об опознанных средствах записываются в соответствующий раздел реестра);
· загрузка драйверов устройств — обеспечивается в результате обмена информацией драйверов с реестром (с одной стороны из реестра считываются параметры загружаемых драйверов, с другой — сами драйверы записывают в реестр информацию об используемых устройствами системных ресурсах);
· администрирование системы — осуществляется при считывании из реестра настроек системы для данного пользователя (совокупность этих настроек представляет собой профиль пользователя);
· установка и удаление приложений — сопровождается изменением информации в реестре при запуске программ установки приложений (грамотно разработанные программы установки считывают информацию реестра, чтобы определить, присутствуют ли в системе компоненты, обязательные для успешного завершения установки; в процессе установки в реестр вносится конфигурационная информация для данного приложения; кроме того — приложение должно содержать утилиту корректного удаления, при котором будут сохранены компоненты, используемые другими программами).
Cтруктура реестра
Основным средством для просмотра и редактирования записей реестра служит специализированная утилита — Редактор реестра, расположенная в папке Windows. Для её запуска необходимо набрать взапуске программы (Пуск — Выполнить) команду regedit.
Откроется окно программы, в которой слева отображается дерево реестра, похожее по виду на структуру диска в Проводнике, справа же будут выводиться ключи реестра, содержащиеся в выбранном (активном)разделе. С помощью редактора реестра можно редактировать значения, импортировать или экспортировать отдельные составляющие реестра, осуществлять поиск. Интерфейс и меню редактор реестра традиционно для ОС Windows и мало чем отличается от любого другого приложения.
Рассмотрим структуру реестра. Он содержит пять корневых разделов (root keys, ветвей), каждый из них включает подразделы, отображаемые в левой части окна в виде значка папки. Конечным элементом дерева реестра являются ключи или параметры, возможные типы данных которых представлены в таблице:
3. Операционная система выполняет функции управления вычислительными процессами в вычислительной системе, распределяет ресурсы вычислительной системы между различными вычислительными процессами и образует программную среду, в которой выполняются прикладные программы пользователей. Такая среда называется операционной.
Любая программа имеет дело с некоторыми исходными данными, которые она обрабатывает, и порождает в конечном итоге некоторые выходные данные, результаты вычислений. Очевидно, что в абсолютном большинстве случаев исходные данные попадают в оперативную память (с которой непосредственно работает процессор, выполняя вычисления по программе) с внешних (периферийных) устройств. Аналогично и результаты вычислений, в конце концов, должны быть выведены на внешние устройства. Следует заметить, что программирование операций ввода/вывода относится, пожалуй, к наиболее сложным и трудоемким задачам. Дело в том, что при создании таких программ без использования современных систем программирования, как говорится, «по старинке», нужно знать не только архитектуру процессора (его состав, назначение основных регистров, систему команд процессора, форматы данных и т. п.), но и архитектуру подсистемы ввода/вывода (соответствующие интерфейсы, протоколы обмена данными, алгоритм работы контроллера устройства ввода/вывода и т. д.). Именно поэтому развитие системного программирования и самого системного программного обеспечения пошло по пути выделения наиболее часто встречающихся операций и создания для них соответствующих программных модулей, которые можно в дальнейшем использовать в большинстве вновь создаваемых программ.
Можно спросить: а чем отличаются системные программные модули, реализующие основные системные функции, от тех программных модулей, что пишутся прикладными программистами? Ответ простой: тем, что эти модули, как правило, используются всеми прикладными программами. Поэтому нет особого смысла на этапе создания машинной двоичной программы (которую и исполняет процессор) присоединять соответствующие системные программные модули к телу программы. Выгоднее просто обращаться к этим программным модулям, указывая их адреса и передавая им необходимые параметры, поскольку они уже и так находятся в основной памяти, ибо нужны всем. Другими словами, эти основные системные программные модули входят в состав самой ОС.
Параллельное существование терминов «операционная система» и «операционная среда» вызвано тем, что ОС в общем случае может поддерживать несколько операционных сред. Например, операционная система OS/2 Warp может выполнять следующие программы:
-так называемые «нативные» программы, созданные с учетом соответствующего «родного» 32-битового программного интерфейса этой ОС;
-16-битовые программы, созданные для систем OS/2 первого поколения;
-16-битовые приложения, разработанные для выполнения в операционной среде MS-DOS или PC DOS;
-16-битовые приложения, созданные для операционной среды Windows 3.x;
саму операционную оболочку Windows 3.x и уже в ней — созданные для нее программы.
Операционная среда может включать несколько интерфейсов: пользовательские и программные. Если говорить о пользовательских, то, например, система Linux имеет для пользователя как интерфейсы командной строки (можно использовать различные «оболочки» — shell), интерфейс наподобие Norton Commander — Midnight Commander, так и графические интерфейсы — X-Window с различными менеджерами окон — КОЕ, Gnome и т. д. Если же говорить о программных интерфейсах, то в той же ОС Linux программы могут обращаться как к операционной системе за соответствующими сервисами и функциями, так и к графической подсистеме (если она используется). С точки зрения архитектуры процессора (и всего ПК в целом) двоичная программа, созданная для работы в среде Linux, использует те же команды и форматы данных, что и программа, созданная для работы в среде Windows NT. Однако в первом случае мы имеем обращение к одной операционной среде, а во втором — к другой. И программа, созданная для Windows непосредственно, не будет выполняться в Linux; однако если в ОС Linux организовать полноценную операционную среду Windows, то наша Windows-программа сможет быть выполнена. Можно сказать, что операционная среда — это то системное программное окружение, в котором могут выполняться программы, созданные по правилам работы этой среды.
4. Приоритетное обслуживание предполагает наличие у потоков некоторой изначально известной характеристики - приоритета, на основании которой определяется порядок их выполнения. Приоритет — это число, характеризующее степень привилегированности потока при использовании ресурсов ВС, (процессорного времени): чем выше приоритет, тем выше привилегии, тем меньше времени будет проводить поток в очередях. Приоритет может выражаться целым или дробным, положительным или отрицательным значением. В некоторых ОС принято, что приоритет потока тем выше, чем больше (в арифметическом смысле) число, обозначающее приоритет. В других системах, наоборот, чем меньше число, тем выше приоритет. В большинстве операционных систем, поддерживающих потоки, приоритет потока непосредственно связан с приоритетом процесса, в рамках которого выполняется поток. Приоритет процесса назначается операционной системой при его создании. Значение приоритета включается в описатель процесса и используется при назначении приоритета потокам этого процесса. При назначении приоритета вновь созданному процессу ОС учитывает, является этот процесс системным или прикладным, каков статус пользователя, запустившего процесс, было ли явное указание пользователя на присвоение процессу определенного уровня приоритета. Во многих ОС предусматривается возможность изменения приоритетов в течение жизни потока. Изменение приоритета могут происходить по инициативе самого потока, когда он обращается с соответствующим вызовом к операционной системе, или по инициативе пользователя, когда он выполняет соответствующую команду. ОС сама может изменять приоритеты потоков в зависимости от ситуации, складывающейся в системе. В последнем случае приоритеты называются динамическими в отличие от неизменяемых, фиксированных, приоритетов. От того, какие приоритеты назначены потокам, зависит эффективность работы всей вычислительной системы. В современных ОС во избежание разбалансировки системы, которая может возникнуть при неправильном назначении приоритетов, возможности пользователей влиять на приоритеты процессов и потоков стараются ограничивать. При этом обычные пользователи не имеют права повышать приоритеты своим потокам, это разрешено делать (да и то в определенных пределах) только администраторам. В большинстве случаев ОС присваивает приоритеты потокам по умолчанию. Существуют две разновидности приоритетного планирования: обслуживание с относительными приоритетами и обслуживание с абсолютными приоритетами. В обоих случаях выбор потока на выполнение из очереди готовых осуществляется одинаково: выбирается поток, имеющий наивысший приоритет. Однако проблема определения момента смены активного потока решается по-разному. В системах с относительными приоритетами активный поток выполняется до тех пор, пока он сам не покинет процессор, перейдя в состояние ожидания (или же произойдет ошибка, или поток завершится). На рисунке 4.6, а показан граф состояний потока в системе с относительными приоритетами. В системах с абсолютными приоритетами выполнение активного потока прерывается кроме указанных выше причин, еще при одном условии: если в очереди готовых потоков появился поток, приоритет которого выше приоритета активного потока. В этом случае прерванный поток переходит в состояние готовности (рисунок 4.6, б)
Рисунок 4.6 - Графы состояний потоков с относительными и абсолютными приоритетами
В системах, в которых планирование осуществляется на основе относительных приоритетов, минимизируются затраты на переключения процессора с одной работы на другую. Здесь могут возникать ситуации, когда одна задача занимает процессор долгое время и для систем разделения времени и реального времени такая дисциплина обслуживания не подходит. А в системах пакетной обработки (ОС OS/360) относительные приоритеты используются широко.
В системах с абсолютными приоритетами время ожидания потока в очередях может быть сведено к минимуму, если ему назначить самый высокий приоритет. Такой поток будет вытеснять из процессора все остальные потоки (кроме потоков, имеющих такой же наивысший приоритет). Планирование на основе абсолютных приоритетов подходит для систем управления объектами, в которых важна быстрая реакция на событие.
5. Прерывание – это важная процедура, которая позволяет изменить нормальную последовательность команд, выполняемых процессором.
Процессор должен реагировать на события, которые происходят вне его. Эту реакцию можно реализовать двумя способами:
1. Процессор должен постоянно просматривать все уст-ва, которые могут потребовать его внимания. Такой способ неэффективен, т.к. большая часть времени процессора может уйти на сканирование.
2. Использование прерываний. Сущность прерывания заключается в следующем:
Устройство, которое требует внимания процессора, сообщает об этом с помощью специального сигнала (запрос на прерывание). По этому сигналу управление CPU передается ОС. ОС запоминает состояние прерванного процесса и хранит эту информацию в спец. регистре микропроцессора. Такой регистр называется СТЕК. Затем ОС анализирует, от какого устройства произошло прерывание и затем передает управление программе, которая управляет устройством, выдавшим запрос на прерывание.
Такая программа называется «обработчик прерывания».
Прерывание может быть вызвано не только каким-нибудь устройством, но и выполняющимся процессом.
В начале прерывания использовались в основном для управления процессором устройствами ввода-вывода. Затем прерывания стали использовать для организации внутренней работы ЭВМ. В соответствии с этим существуют следующие типы прерываний:
1. Аппаратные прерывания – прерывания от устройств компьютера.
2. Программные прерывания – прерывания, которые вырабатывают процессы, находящиеся на стадии выполнения.
Вектор прерывания – это адрес ячейки памяти, где хранится программа – обработчик прерывания.
6. Сетевой операционной системой (ОС) называют операционную систему компьютера, которая помимо управления локальными ресурсами предоставляет пользователям и приложениям возможность эффективного и удобного доступа к информационным и аппаратным ресурсам других компьютеров сети.
Дата добавления: 2015-10-02; просмотров: 63 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
MEM.EXE/CLASSIFY|/DEBUG|/FREE|/MODULE имя_программы /PAGE | | | Функции сетевых ОС |