русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Пользовательский режим


Дата добавления: 2013-12-23; просмотров: 3369; Нарушение авторских прав


Программы технического обслуживания

Сервисные программы и системы технического обслуживания

Способы построения (архитектура) операционных систем

ПЯТОЕ

По разрядности кода ОС- 8-разрядные, 16-разрядные, 32-разрядные, 64-разрядные. При этом подразумевается, что разрядность ОС не может превышать разрядности процессора.

 

ШЕСТОЕ

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

 

Заключение. В настоящее время ПЭВМ поддерживают широкий спектр режимов работы, среди которых:

5) однопрограммный режим;

6) однопользовательский многопрограммный, или просто многопрограммный режим;

7) многопользовательский многопрограммный, или просто многопрограммный режим;

8) системы виртуальных машин, основным при­знаком которых

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

С точки зрения процессора режимы 2 и 3 близки друг к другу, но для обеспечения последнего необходимо наличие нескольких терминалов (дисплеев и клавиатур). Многопрограммные режимы могут реализовываться как на одно-, так и на многопроцессорных ПЭВМ. Для поддержки перечисленных режимов работы ПЭВМ существуют следующие типы ОС:

1) однопользовательские однозадачные, или просто однозадачные,

2) однопользовательские многозадачные, или просто многозадачные,

3) многопользовательские многозадачные, или просто многопользовательские.

Основными тенденциями развития ОС являются:



- снижение цен на ОС;

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

- обеспечение работы многопроцессорных компьютеров;

- обеспечение совместимости программ для различных типов (поколений) компьютеров;

- обеспечение выполнения параллельных программ;

- создание ОС, в которых отдельные функции реализуются в

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

 

 

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

3.1 Cостав ОС

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

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

- исполняемые и объектные модули форматов, стандартных для данной ОС;

- библиотеки разных типов;

- модули иходного текста;

- программные модули специального формата (например, загрузчик ОС, драйверы ввода-вывода);

- конфигурационные файлы;

- файлы документации;

- модули справочной системы и т.д.

При простейшей структуризации все модули ОС разделяют на две группы:

· Ядро, т.е. модули, выполняющие основные функции ОС

· Модули, выполняющие вспомогательные функции ОС.

       
 
   
 


- Пользовательские приложения

       
   
 
 


- Вспомогательные модули ОС

                     
   
 
 
 
 
   
   
     
 
 
 

 


Нечеткость границы между ОС и приложенями

 

 

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

 

 

От приложений

 

М О Д У Л И   О С

 

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

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

Такая организация ОС предполагает следующую структуру:

- главная программа, которая вызывает требуемые сервисные процедуры (ядро);

- набор сервисных процедур, реализующих системные вызовы;

- набор утилит, обслуживающих сервисные процедуры.

В этой модели для каждого системного вызова имеется одна сервисная процедура. Утилиты выполняют функции, которые нужны нескольким сервисным процедурам. Это деление процедур на три слоя показано на рис. 1.5.

 

Сервисные процедуры
Утилиты

 

 

Примером систем с монолитным ядром является большинство UNIX-систем.

Модули ядра выполняют:

1) базовые функции, такие как:

- управление процессами;

- управление памятью;

- управление устройствами ввода-вывода и т.д.

2) внутрисистемные функции организации вычислительного процесса, такие как:

- загрузка/выгрузка страниц памяти;

- обработка прерываний.

Эти функции недоступны для приложений.

1) функции поддержки приложений, создающие прикладную программную среду. Приложения могут обращаться к ядру с запросами (системными вызовами) для выполнения тех или иных действий, например, для открытия и чтения файла, вывода графической информации на дисплей, получения системного времени и т.д. Функции ядра, вызываемые приложениями, образуют интерфейс прикладного программирования API - совокупность программных средств, обеспечивающая прикладной программе на некотором традиционном языке программирования доступ к системам баз данных, поддерживаемым в среде конкретной СУБД. Реализация API представляет собой интерфейс уровня вызовов. Она включает библиотеку функций и процедур, обеспечивающих коммуникации прикладной программы и СУБД.

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

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

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

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

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

 

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

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

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

- улучшающие пользовательский интерфейс

- защищающие данные от разрушения и несанкционированного доступа

- восстанавливающие данные

- ускоряющие обмен данными между диском и ОЗУ

- архивации-разархивации

- антивирусные средства.

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

 

3.2.2 Оболочки

 

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

Место оболочек в программно-аппаратном комплексе и представлены на рис.

пользовательский

интерфейс

Системные и прикладные программы
Пользователь

 

 

Оболочки ОС предоставляют пользователю качественно новый, по сравнению с

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

1) работу с файлами и каталогами, в том числе:

— манипулирование файлами, а именно:

- создание, копирование, пересылку, переиме­нование, удаление и быстрый поиск файлов по образцу составного имени файла (имени и расширения);

- выдачу и смену характеристик файлов (времени и даты создания, размера, прав доступа, т.е. атрибутов, и т.п.);

- выдачу содержимого каталогов в естественном порядке, а также в отсортированном по опре­деленному критерию виде (например, по имени файла, расширению, дате и времени создания или размеру);

- выдачу части (фильтрацию) содержимого каталогов в соответствии с образцом составного имени файла;

- сравнение содержимого каталогов;

- выдачу файловой структуры в виде дерева;

—манипулирование каталогами, а именно: создание, удаление, переименование, а иногда

— копирование и пересылку каталогов;

2) просмотр как текстовых файлов (в формате ASCII), так и файлов, подготовленных в специальных форматах различными популярными системными и прикладными программными продуктами, для чего используются соответствующие программы просмотра (визуализаторы);

3) ) редактирование текстовых файлов встроенным или внешним текстовым редактором;

4) создание пользовательских меню для упрощения запуска часто используемых системных и прикладных программ;

5) выдачу сведений о размещении информации на дисках (например, о степени его занятости), а также об ОЗУ;

6) доступ к пользовательскому интерфейсу ОС, в частности, для запуска на выполнение системных и прикладных программ;

7) освобождение большей части занимаемой памяти при запуске внешней программы (в ОЗУ остается лишь небольшое резидентное ядро) и автоматическое восстановление состояния оболочки после завершения выполнения этой программы. Возможна реализация и других дополнительных функций. Всем оболочкам присуща та или иная степень защиты от ошибок пользователя, что, например, может уменьшить вероятность непреднамеренного (случайного) удаления файлов. Наилучшими показателями в совокупности обладают оболочки PC Shell и Norton Commander. Наибольшую же популярность приобрела последняя, так как она:

— лучше удовлетворяет потребности пользователей-непрофессионалов, а их значительно больше;

— обладает большим удобством в работе, требуя меньшего количества ответов пользователя, правда, иногда в ущерб степени защиты от ошибок;

— предъявляет менее жесткие требования к оборудованию ПЭВМ и ОС;

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

 

 

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

1) средства диагностики и тестового контроля правильности работы ЭВМ и ее отдельных частей, в том числе автоматического поиска ошибок и неисправностей с определенной локализацией их в ЭВМ;

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

 

Вспомогательные модули разделяют на следующие группы:

1) утилиты-программы, решающие отдельные задачи управления и сопровождения компьютерной системы, такие, например, как программы сжатия дисков, архивирования данных и т.д.

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

 

 

пользовательский

интерфейс

рис. 4.3. Роль сервисных систем

 

 

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

1) обслуживание МД, в том числе:

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

— обеспечение сохранности системной информации на МД и возможности ее восстановления в случае разрушения;

— восстановление ошибочно удаленных файлов и каталогов, а также содержимого файлов и каталогов в случае его разрушения;

— низкоуровневое редактирование информации на дисках;

— дефрагментация файлов на МД, вследствие чего время доступа к файлам сокращается на величину до 30% и облегчается восстановление информации в случае ее разрушения;

— надежное затирание на диске конфиденциальной информации, после чего ее прочтение становится невозможным ни при каких условиях;

2) обслуживание файлов и каталогов (аналогично оболочкам, но зачастую предоставляемые утилитами возможности изощреннее);

3) создание и обновление архивов как со сжатием, так и без сжатия (т.е. просто с дублированием) информации, а также извлечение файлов из них;

4) предоставление пользователю информации о:

— персональном компьютере (его ресурсах);

— распределении памяти на МД (размещении файлов, фрагментации, свободном пространстве);

— распределении ОЗУ между программами;

5) шифрование информации,

6) печать содержимого текстовых и других файлов в различных режимах и форматах;

7) защита от компьютерных вирусов,

8) выполнение вычислительных работ (по принципу калькулятора). Из утилит, получивших наибольшую популярность, можно назвать многофункциональный комплекс Norton Utilites.

Подробнее об архиваторах Богумирский стр.137

 

2) системные обрабатывающие программы– текстовые и графические редакторы, компиляторы, компоновщики, отладчики и т.д.

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

4) программы предоставления пользователю дополнительных услуг:

· специальный вариант пользовательского интерфейса,

· калькулятор

· средства мультимедиа

· игры

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

 

Системные обрабатывающие

программы

                   
   
   
       
         
 
 
 


Утилиты

           
     
 
 
 

 

 


Библиотеки

процедур

Приложения

пользователей

               
   
 
     
       
 
 
 

 

 


Взаимодействие между ядром и вспомогательными модулями ОС

 

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

Для надежного управления ходом выполнения приложений ОС имеет по отношению к ним определенные привилегии, например, для того, чтобы:

1) никакое некорректно работающее приложение не должно вмешиваться в работу ОС, чтобы исключить, например, часть ее кодов;

2) выполнять роль арбитра в споре приложений за ресурсы компьютера в мультипрограммном режиме;

3) ни одно приложение не должно иметь возможности без ведома ОС получать:

а) дополнительную область памяти;

б) занимать процессор дольше разрешенного ОС периода времени;

в)непосредственно управлять совместно используемыми внешними устройствами и т.д.

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

1) пользовательский режим для работы приложений

2) привилегированный режим для работы ядра (режим супервизора) или некоторых модулей ОС.

 

 

Утилиты ОС Системные обрабатывающие Приложения

программы, библиотеки пользователей

                                                       
                           

 


Пользовательский режим


Привилегированный режим

 

 
 

 


Аппаратура

 

Архитектура ОС с ядром в привилегированном режиме

 

Приложения ставятся в подчиненное положение за счет запрета выполнения в пользовательском режиме некоторых критичных команд, связанных с:

1) управлением процессами, например, переключение процессора с задачи на задачу;

2) с управлением устройствами ввода-вывода;

3) с управлением памятью.

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

 

 

Работа Системный Работа

приложения вызов приложения

       
   

 

 


 



<== предыдущая лекция | следующая лекция ==>
 | Многослойная архитектура ОС


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

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


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.014 сек.