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

1.

Аппаратное обеспечение

.

2. 

Программное обеспечение

3.

Системное программное обеспечение

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

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

Для расширения возможностей операционных систем и предоставления набора дополнительных услуг используются сервисные программы . Их можно разделить на следующие группы:

интерфейсные системы;

оболочки операционных систем;

утилиты.

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

Операционная система (ОС) - система программ, предназначенная для управления устройствами ЭВМ, управления обработкой и хранением данных, обеспечения пользовательского интерфейса.Операционная система обычно хранится во внешней памяти компьютера — на диске. При включении компьютера она считывается с дисковой памяти и размещается в ОЗУ. Этот процесс называется загрузкой операционной системы.В функции операционной системы входит:• осуществление диалога с пользователем; • ввод-вывод и управление данными; • планирование и организация процесса обработки программ; • распределение ресурсов (оперативной памяти и кэша, процессора, внешних устройств); • запуск программ на выполнение; • всевозможные вспомогательные операции обслуживания; • передача информации между различными внутренними устройствами; • программная поддержка работы периферийных устройств (дисплея, клавиатуры, дисковых накопителей, принтера и др.).

Инструментальные программные средства — это программы, которые используются в ходе разработки, корректировки или развития других прикладных или системных программ.По своему назначению они близки системам программирования. К инструментальным программам, например, относятся:

редакторы;

средства компоновки программ;

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

вспомогательные программы, реализующие часто используемые системные действия;

графические пакеты программ и т.п.

Инструментальные программные средства могут оказать помощь на всех стадиях разработки ПО.

5. 

Основные функции операционных систем

6.

Операционная система

7.

Поддержка многозадачности

.

8.

Основные ресурсы современных вычислительных систем

9.  

Первый период (1945–1955 гг.). Ламповые машины. Операционных систем нет

.

10.  

Принцип модульности. Операционная система строится из множества программных модулей

.

11.

Монолитная архитектура операционной системы

12. 

Многоуровневые системы. Модель клиент-сервер


14.

Модель клиент-сервер и микроядра

15.

Принципы Операционных систем

16.

Концепция процесса

17.

Общая классификация ресурсов

18.

Процессы

19.

20.

Операции над процессами

21.

Планирование процессов

22.

Управление процессами

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

Переключение процессов

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

Изменение состояния процесса

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

Выполнение кода операционной системы

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

Операционная система работает точно так же, как и обычная программа; т.е. она тоже является программой, которая выполняется процессором.

Операционная система часто передает управление другим программам; возврат управления операционной системе зависит от процессора.

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

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

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

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

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

создать информационные структуры, описывающие данный процесс, то есть его дескриптор и контекст;

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

23.

Виртуализация

24.

а) FIFO (First In -- First Out) – дисциплина обслуживания в порядке поступления. Все заявки поступают в конец очереди. Первыми обслуживаются заявки, находящиеся в начале очереди. Схематически эта дисциплина показана на рис. 4а.

б) LIFO (Last In -- First Out) – дисциплина обслуживания в порядке, обратном порядку поступления. Эта дисциплина является основой построения стековой памяти. Схема дисциплины представлена на рис.4б.

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

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

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

Многоочередная дисциплина обслуживания. Схема данной дисциплины приведена на рис. 5.

Здесь N очередей, все новые заявки поступают в конец первой очереди. Первая заявка из очереди i (1 < i £ N) поступает на обслуживание лишь тогда, когда все очереди от 1-й до (i-1)-й пустые. Если за время tk обслуживание процесса завершается полностью, то он покидает систему. В противном случае недообслуженная заявка поступает в конец очереди с номером i+1. После обслуживания заявки из очереди i система выбирает для обслуживания запрос из непустой очереди с самым младшим номером. Если система выходит на обслуживание заявок из очереди N, то они обслуживаются либо по дисциплине FIFO, либо по круговому алгоритму. Данная система наиболее быстро обслуживает все короткие запросы. Недостаток системы заключается в непроизводительных затратах времени на перемещение заявок из одной очереди в другую.

Дисциплина обслуживания при наличии приоритетов. Такая дисциплина строится на основе рассмотренной выше многоочередной дисциплины. На рис.6. приводится ее условная схема.

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

а) Обслуживание с абсолютным приоритетом. Если во время обслуживания заявки из очереди i (1 < i £ N) в систему поступает более приоритетная заявка, например, в очередь i-1, то обслуживание i-го уровня прерывается и система переходит к обслуживанию поступившей заявки. После окончания ее обслуживания происходит дообслуживание прерванной заявки i-го уровня. Здесь еще больше сокращается время ожидания обслуживания для высокоприоритетных заявок за счет ухудшения обслуживания низкоприоритетных. В то же время усложняется логика системы, возникает проблема прерывания, появляются накладные расходы. При достаточной интенсивности прерываний расходы могут стать ощутимыми. Возникает также дополнительная проблема выработки некоторого правила о дообслуживании прерванных процессов – когда выделять им вновь ресурс, учитывать ли, что он уже какое-то время использовался?

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

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

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

25.  

а) FIFO (First In -- First Out) – дисциплина обслуживания в порядке поступления. Все заявки поступают в конец очереди. Первыми обслуживаются заявки, находящиеся в начале очереди. Схематически эта дисциплина показана на рис. 4а.

б) LIFO (Last In -- First Out) – дисциплина обслуживания в порядке, обратном порядку поступления. Эта дисциплина является основой построения стековой памяти. Схема дисциплины представлена на рис.4б.

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

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

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

Многоочередная дисциплина обслуживания. Схема данной дисциплины приведена на рис. 5.

Здесь N очередей, все новые заявки поступают в конец первой очереди. Первая заявка из очереди i (1 < i £ N) поступает на обслуживание лишь тогда, когда все очереди от 1-й до (i-1)-й пустые. Если за время tk обслуживание процесса завершается полностью, то он покидает систему. В противном случае недообслуженная заявка поступает в конец очереди с номером i+1. После обслуживания заявки из очереди i система выбирает для обслуживания запрос из непустой очереди с самым младшим номером. Если система выходит на обслуживание заявок из очереди N, то они обслуживаются либо по дисциплине FIFO, либо по круговому алгоритму. Данная система наиболее быстро обслуживает все короткие запросы. Недостаток системы заключается в непроизводительных затратах времени на перемещение заявок из одной очереди в другую.

Дисциплина обслуживания при наличии приоритетов. Такая дисциплина строится на основе рассмотренной выше многоочередной дисциплины. На рис.6. приводится ее условная схема.

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

а) Обслуживание с абсолютным приоритетом. Если во время обслуживания заявки из очереди i (1 < i £ N) в систему поступает более приоритетная заявка, например, в очередь i-1, то обслуживание i-го уровня прерывается и система переходит к обслуживанию поступившей заявки. После окончания ее обслуживания происходит дообслуживание прерванной заявки i-го уровня. Здесь еще больше сокращается время ожидания обслуживания для высокоприоритетных заявок за счет ухудшения обслуживания низкоприоритетных. В то же время усложняется логика системы, возникает проблема прерывания, появляются накладные расходы. При достаточной интенсивности прерываний расходы могут стать ощутимыми. Возникает также дополнительная проблема выработки некоторого правила о дообслуживании прерванных процессов – когда выделять им вновь ресурс, учитывать ли, что он уже какое-то время использовался?

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

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

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

26.

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

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

В случае прерывания первого рода процесс сам является «виновником» прерывания, т.е. процесс, находящийся в активном состоянии, вызывает прерывание самого себя. Это происходит в следующих ситуациях:

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

2) процесс выполняет какие-либо действия в отношении другого процесса, например, порождает или уничтожает его..

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

При обработке прерывания нужно выполнить следующую последовательность действий:

1) восприятие запроса на прерывание;

2) запоминание состояния прерванного процесса (значение счетчика команд, содержимое регистров общего назначения, режим работы ЦП и т.д.);

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

4) обработка прерывания;

5) восстановление нормальной работы.

В большинстве ЭВМ этапы 1-3 реализуется аппаратно, а этапы 4-5 - операционной системой

Рассмотрим изменения состояний центрального процессора, связанные с возникновением и обработкой прерываний (рис.7). ЦП может функционировать в одном из четырех независимых состояний: P1 – выполнение прикладных программ, P2 – обработка прерываний, P3 – анализ прерываний, P4 – обработка прерываний от схем контроля машины. В состоянии P1 выполняются программы пользователя, выполнение любого прерывания допустимо. В состоянии P2 выполняется программа соответствующего обработчика прерываний, так же как и в предыдущем состоянии допустимо любое прерывание. В состоянии P3 система определяет тип прерывания и соответствующую программу его обработки. Переключение в состояние P3 из состояний P1 и P2 происходит всегда автоматически при возникновении любого прерывания, кроме прерываний от схем контроля машины. Переключение ЦП из состояния P3 в состояние P1 или P2 происходит по командам управления. В состоянии P3 все прерывания, кроме прерываний от схем контроля, запрещены. Процессор автоматически переключается в состояние P4 из любого состояния (P1, P2, P3) при появлении прерывания от схем контроля машины. Из состояния P4 нельзя вернуться ни в какое другое состояние без принятия мер по устранению сбойной ситуации.

Рис. 7. Характер переходов процессора между допустимыми состояниями, обусловленных возникновением и обработкой прерываний

В зависимости от характера прерываний можно выделить пять уровней:

· прерывания от систем контроля и диагностики, связанные с неисправностями в аппаратуре;

· прерывание при обращении к ОС с целью получения каких-либо услуг;

· программные или внутренние прерывания, связанные с ошибками в ЦП при выполнении программы;

· внешние прерывания, обусловленные прерыванием программы оператором, по сигналу из линии связи и т.д.;

· прерывания от устройств ввода-вывода, инициированные внешними процессами.

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

1) прерывания от схем контроля;

2) программные прерывания или прерывания при обращении к ОС (не могут появляться одновременно);

3) внешние прерывания;

4) прерывания от устройств ввода-вывода.

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

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

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

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

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

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

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

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

· Эффективность – постараться занять процессор на все 100% рабочего времени, не позволяя ему простаивать в ожидании процессов, готовых к исполнению. В реальных вычислительных системах загрузка процессора колеблется от 40 до 90%.

· Сокращение полного времени выполнения (turnaround time) – обеспечить минимальное время между стартом процесса или постановкой задания в очередь для загрузки и его завершением.

· Сокращение времени ожидания (waiting time) – сократить время, которое проводят процессы в состоянии готовность и задания в очереди для загрузки.

· Сокращение времени отклика (response time) – минимизировать время, которое требуется процессу в интерактивных системах для ответа на запрос пользователя.

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

· Были предсказуемыми. Одно и то же задание должно выполняться приблизительно за одно и то же время. Применение алгоритма планирования не должно приводить, к примеру, к извлечению квадратного корня из 4 за сотые доли секунды при одном запуске и за несколько суток – при втором запуске.

· Были связаны с минимальными накладными расходами. Если на каждые 100 миллисекунд, выделенные процессу для использования процессора, будет приходиться 200 миллисекунд на определение того, какой именно процесс получит процессор в свое распоряжение, и на переключение контекста, то такой алгоритм, очевидно, применять не стоит.

· Равномерно загружали ресурсы вычислительной системы, отдавая предпочтение тем процессам, которые будут занимать малоиспользуемые ресурсы.

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

Многие из приведенных выше целей и свойств являются противоречивыми. Улучшая работу алгоритма с точки зрения одного критерия, мы ухудшаем ее с точки зрения другого. Приспосабливая алгоритм под один класс задач, мы тем самым дискриминируем задачи другого класса.

28.

Распределение памяти с фиксированными разделами

29.

Управление вводом-выводом

30.

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

внутреннюю память – память, взаимодействующую с процессором, (различают три вида внутренней памяти: только читаемую память ROM (Read-Only Memory), в которую помещаются программы для запуска компьютера; память с произвольным доступом RAM (Random Access Memory), используемую для хранения обновляемых данных; кэш-память, применяемую для увеличения производительности процессора);

внешнюю память (secondary storage, вторичную память) – вид памяти, который в отличие от основной памяти имеет большее время доступа, основывается на блочном обмене, характеризуется большим объемом и служит для разгрузки основной памяти.

Для того чтобы процессор мог выбирать и выполнять команды программы, они должны находиться в основной памяти, как и операнды (данные), ссылки на которые содержатся в выполняемой в данный момент команде. Важным свойством основной памяти является ее энэргозависимость – в случае сбоя питания вся хранящаяся в ней информация теряется. Поэтому разработчики систем стараются обеспечить своевременную запись критической информации на диск, чтобы предотвратить ее потерю. Основная память (RAM) представляет собой упорядоченный массив однобайтовых ячеек, каждая из которых имеет свой уникальный адрес. Во время работы приложения процессор берет команду из оперативной памяти, декодирует ее и выполняет. При выполнении команды возможны неоднократные обращения к ячейкам оперативной памяти. Внешнюю память[2] можно также рассматривать как одномерное линейное адресное пространство, состоящее из последовательности байтов. В отличие от оперативной памяти она является энергонезависимой, имеет большую емкость и используется в качестве расширения оперативной памяти.

Запоминающие устройства компьютера разделяют, как минимум, на два уровня: основную (главную, оперативную, физическую) и вторичную (внешнюю) память.

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

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

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

31.

Аппаратная организация памяти

32.

Контроль использования памяти

33.

Простейшие схемы управления памятью

 

34. 

Связывание адресов 

35.

Виртуальная память компьютера

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

Благодаря системам управления файлами пользователям предоставляются следующие возможности:

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

2. Работа с недисковыми периферийными устройствами как с файлами;

3. Обмен данными между файлами, между устройствами, между файлом и устройством (и наоборот);

4. Работа с файлами путем обращений к программным модулям системы управления файлами (часть api ориентирована именно на работу с файлами); 

5. Защита файлов от несанкционированного доступа.

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

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

Есть версия системы управления файлами с принципами fat и для windows 95/98, есть реализация для windows nt и т. Д. Другими словами, для работы с файлами, организованными в соответствии с некоторой файловой системой, для каждой операционной системы должна быть разработана соответствующая система управления файлами. И эта система управления файлами будет работать только в той операционной системе, для которой создана, но при этом обеспечит доступ к файлам, созданным с помощью системы управления файлами другой операционной системы, но работающей по тем же основным принципам файловой системы.

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

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

Информация, с которой работает человек, обычно структурирована. Это, прежде всего, позволяет более эффективно организовать хранение данных, облегчает их поиск, предоставляет дополнительные возможности в именовании. Аналогично, и при работе с файлами желательно ввести механизмы структурирования. Проще всего организовать иерархические отношения. Для этого достаточно ввести понятие каталога (directory). Каталог содержит информацию о данных, организованных в виде файлов. Другими словами, в каталоге должны содержаться дескрипторы файлов. Если файлы организованы на блочном устройстве, то именно с помощью каталога система управления файлами будет находить адреса тех блоков, в которых размещены искомые данные. Причем очевидно, что каталогом может быть не только специальная системная информационная структура, которую часто называют корневым каталогом, но и сам файл. Такой файл-каталог должен иметь специальное системное значение; система управления файлами должна его выделять на фоне обычных файлов. Файл-каталог часто называют подкаталогом (subdirectory). Если файл-каталог содержит информацию о других файлах, то поскольку среди них также могут быть файлы-каталоги, мы получаем возможность строить почти ничем не ограниченную иерархию.

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

37. 

Система управления файлами

.

38.

Файловые системы

39.

Файловая система FAT 32

40.

Файловая система HPFS

41.

Файловая система NTFS

42.

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

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

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

Очевидно, что на выделенных серверах желательно устанавливать ОС, специально оптимизированные для выполнения тех или иных серверных функций. Поэтому в сетях с выделенными серверами чаще всего используются сетевые операционные системы, в состав которых входит нескольких вариантов ОС, отличающихся возможностями серверных частей. Например, сетевая ОС Novell NetWare имеет серверный вариант, оптимизированный для работы в качестве файл-сервера, а также варианты оболочек для рабочих станций с различными локальными ОС, причем эти оболочки выполняют исключительно функции клиента. Другим примером ОС, ориентированной на построение сети с выделенным сервером, является операционная система Windows NT. В отличие от NetWare, оба варианта данной сетевой ОС - Windows NT Server (для выделенного сервера) и Windows NT Workstation (для рабочей станции) - могут поддерживать функции и клиента и сервера. Но серверный вариант Windows NT имеет больше возможностей для предоставления ресурсов своего компьютера другим пользователям сети, так как может выполнять более широкий набор функций, поддерживает большее количество одновременных соединений с клиентами, реализует централизованное управление сетью, имеет более развитые средства защиты.

Выделенный сервер не принято использовать в качестве компьютера для выполнения текущих задач, не связанных с его основным назначением, так как это может уменьшить производительность его работы как сервера. В связи с такими соображениями в ОС Novell NetWare на серверной части возможность выполнения обычных прикладных программ вообще не предусмотрена, а на рабочих станциях отсутствуют серверные компоненты. Однако в других сетевых ОС функционирование на выделенном сервере клиентской части вполне возможно. Например, под управлением Windows NT Server могут запускаться обычные программы локального пользователя, которые могут потребовать выполнения клиентских функций ОС при появлении запросов к ресурсам других компьютеров сети. При этом рабочие станции, на которых установлена ОС Windows NT Workstation, могут выполнять функции невыделенного сервера. Это разделение сохраняется и в современных продуктах Microsoft – Windows XP в основном клиентская ОС, имеющая весьма ограниченные серверные возможности, Windows 2003 – серверная, аналогично Vista и 2008.

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

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

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

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

43.

Сетевые операционные системы

44. Она имела первоначально микроядерный дизайн. Потом стали использовать гибридную архитектуру. Платформы – Intel, Alpha (DEC), Power PC (IBM), MIPS (Silicon Graphics).

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

Упрощенная схема ОС Windows. 

Hardware Abstraction Layer (уровень абстрагирования от оборудования) – скрыть различия аппаратных архитектур для потенциального переноса системы с одной платформы на другую. Этот уровень предоставляет вышележащим уровням аппаратные устройства в абстрактном виде.

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

Эти 2 компонента написаны на языках Си и Ассемблера, остальные – на языке Си.

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

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

Подсистема поддержки окон и графики реализует функции пользовательского интерфейса.

В пространстве пользователя работают сервисы, управляемые диспетчером сервисов и решающие различные системные задачи.

Среду для выполнения пользовательских процессов предоставляют 3 подсистемы: Win32, POSIX, OS/2.

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

1. ntoskrn.exe – исполнительная система и ядро.

2. ntdll.dll – внутренние функции поддержки и диспетчер системных сервисов, функции исполнительной системы.

3. hal.dll – уровень абстрагирования.

4. win32k.sys – часть подсистемы win32, работающая в режиме ядра.

5. kernel32.dll, advapi32.dll, user32.dll, gdi32.dll.

Возможности системы

Перед разработчиками системы была поставлена задача создать операционную систему персонального компьютера, предназначенную для решения серьезных задач, а также для домашнего использования. Перечень возможностей системы достаточно широк, вот лишь некоторые из них [6], [4]. Операционная система Windows:

является истинно 32-разрядной, поддерживает вытесняющую многозадачность;

работает на разных аппаратных архитектурах и обладает способностью к сравнительно легкому переносу на новые аппаратные архитектуры;

поддерживает работу с виртуальной памятью;

является полностью реентерабельной;

хорошо масштабируется в системах с симметричной мультипроцессорной обработкой;

является распределенной вычислительной платформой, способной выступать в роли как клиента сети, так и сервера;

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

совместима, то есть, ее пользовательский интерфейс и API совместимы с предыдущими версиями Windows и MS-DOS. Она также умеет взаимодействовать с другими системами вроде UNIX, OS/2 и NetWare;

обладает высокой производительностью независимо от аппаратной платформы;

обеспечивает простоту адаптации к глобальному рынку за счет поддержки Unicode;

поддерживает многопоточность и объектную модель.

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

• достаточно четко очерченная система концептуальных взглядов на проблему обеспечения информационной безопасности ИС;

• весьма развитый арсенал технических средств защиты, производимых на собственной промышленной базе;

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

• наличие значительного практического опыта с обеспечением защиты ноу-хау в вопросах практического обеспечения информационной безопасности ИС.

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

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

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

§ необходимо обеспечивать защиту ИР, обрабатываемых в этих системах.

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

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

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

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

Важное звено мероприятий по реализации политики безопасности ИТ — это сертификация продуктов и аттестация систем информационных технологий на соответствие требованиям безопасности информации.

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

Ко всем информационным системам относятся следующий перечень угроз:

- противоправный исход и использование данных;

- нарушение технологий обработки данных;

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

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

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

- утечка информации по техническим программам

- внедрение устройств для перехвата информации

- хищение, повреждение и уничтожение носителей;

- несанкционированный доступ в информационные системы, базы и банки знаний.

46.

Угрозы безопасности деятельности предприятий и информации

47.

Шифрование

48.

Основные встроенные механизмы защиты ОС и их недостатки

49.

Операционная система MS DOS

50. 

Процессор командного языка

51.

Главная загрузочная запись

52. 

Базовая (стандартная) память

53.

Программа разработана фирмой Peter Norton Computing

54.

Структура операционной системы

55.

Фирма Microsoft

56.

Операционная система Windows

57.

Командная строка Windows

58.

Процессы

59.

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

Другим фактором, влияющим на степень избыточности, является принятая система кодирования. Примером систем кодирования могут быть обычные языки общения, которые являются ни чем другим, как системами кодирования понятий и идей для высказывания мыслей. Так, установлено, что кодирование текстовых данных с помощью средств русского языка дает в среднем избыточность на 20-25% большую, чем кодирование аналогичных данных средствами английского языка.

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

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

и сжатии методом RLE(Run — LengthEncoding) последовательность повторяющихся величин (в нашем случае — набор бит для представления видеопикселя ) заменяется парой — повторяющейся величиной и числом её повторений.

Метод сжатия RLE включается в некоторые графические форматы, например, в форматPCX .

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

Метод сжатия LZWоснован на поиске повторяющихся узоров в изображении. LZW (Lempel-Ziv-Welch) разработан в 1978 году израильтянами Лемпелом и Зивом и доработан позднее в США. Сжимает данные путем поиска одинаковых последовательностей (они называются фразы) во всем файле. 

Алгоритм LZW построен вокруг таблицы фраз (словаря), которая заменяет строки символов сжимаемого сообщения в коды фиксированной длины. Таблица имеет так называемое свойством опережения, то есть для каждой фразы словаря, состоящей из некоторой фразы w и символа К, фраза w тоже заносится в словарь. Если все части словаря полностью заполнены, кодирование перестает быть адаптивным (кодирование происходит исходя из уже существующих в словаре фраз).

Алгоритмы сжатия этой группы наиболее эффективны для текстовых данных больших объемов и малоэффективны для файлов маленьких размеров (за счет необходимости сохранение словаря).

60.

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

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

ARJ, PKPAK, LHA, ICE, HYPER, ZIP, РАК, ZOO, EXPAND, разработанные за рубежом, а также AIN и RAR, разработанные в России. Обычно упаковка и распаковка файлов выполняются одной и той же программой, но в некоторых случаях это осуществляется разными программами, например, программа РКZIР производит упаковку файлов, a PKUNZIP - распаковку файлов.

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

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

Самораспаковывающийся архив получил название SFX - архив (SelF - eXtracting). Архивы такого типа в MS DOS обычно создаются в форме .ЕХЕ - файла.

Многие программы - архиваторы производят распаковку файлов, выгружая их на диск, но имеются и такие, которые предназначены для создания упакованного исполняемого модуля (программы). В результате такой упаковки создается программный файл с теми же именем и расширением, который при загрузке в оперативную память самораспаковывается и сразу запускается. Вместе с тем возможно и обратное преобразование программного файла в распакованный формат. К числу таких архиваторов относятся программы PKLITE, LZEXE, UNP.

Программа EXPAND, входящая в состав утилит операционной системы MS DOS и оболочки Windows, применяется для распаковки файлов программных продуктов, поставляемых фирмой Microsoft. Программы - архиваторы RAR и AIN, кроме обычного режима сжатия, имеют режим solid, в котором создаются архивы с повышенной степенью сжатия и особой структурой организации. В таких архивах все файлы сжимаются как один поток данных, т.е. областью поиска повторяющихся последовательностей символов является вся совокупность файлов, загруженных в архив, и поэтому распаковка каждого файла, если он не первый, связана с обработкой других. Архивы такого типа предпочтительнее использовать для архивирования большого числа однотипных файлов. Управление программой - архиватором осуществляется одним из двух способов:

1) с помощью командной строки MS DOS, в которой формируется команда запуска, содержащая имя программы - архиватора, команду управления и ключи ее настройки, а также имена архивного и исходного файлов; подобное управление характерно для архиваторов ARJ, AIN, ZIP, РАК, LHA и др.; 2) с помощью встроенной оболочки и диалоговых панелей, появляющихся после запуска программы и позволяющих вести управление с использованием меню и функциональных клавиш, что создает для пользователя более комфортные условия работы. Такое управление имеет программа - архиватор RAR.

61.

Файловый менеджер

62.

Total commander

63. 1. Обеспечение пользователю удобств по средствам предоставления для него расширенной машины

2. Повышение эффективности использования компьютера путем рационального управления его ресурсами.

Использование большинства компьютеров на уровне машинного языка затруднительно, особенно это касается ввода-вывода.

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

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

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

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

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

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

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

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

1. Планирование ресурсов. Определение кому, когда, а для делимых ресурсов и в каком количестве нужно выделить данный ресурс.

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

64.

Система прерываний

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

Прерывание – реакция на входной сигнал запроса прерывания или команду прерывания.

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

Прерывания бывают:

-      внешние;

-      внутренние;

-      программные.

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

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

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

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

Каждое событие, требующее прерывания, сопровождается сигналом, оповещающим об этом событии ЭВМ, который называется запросом прерывания. Программу, затребованную запросом прерывания, называют прерывающей программой, а программу, выполнявшуюся до появления запроса, - прерываемой программой.

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

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

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

Порядок обработки прерывания

Основными функциями системы прерываний являются:

·         запоминание состояния прерываемой программы;

·         осуществление перехода к прерывающей программе;

·         восстановление состояния прерванной программы;

·         возврат к прерванной программе.

Обычно прерывание допускается после завершения выполнения текущей команды. В этом случае время реакции определяется в основном временем выполнения одной команды.

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

Классы (уровни) прерываний

В ЭВМ число различных запросов прерывания может достигать нескольких сотен. В таких случаях запросы обычно разделяют на отдельные классы или уровни.

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

Вектор прерывания

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

66.

Для обеспечения этого принципа в большинстве процессоров вводятся два режима:

режим пользователя, выполнение команд ввода/вывода запрещено;

режим супервизора, выполнение команд ввода/вывода разрешено.

Использование команд ввода/вывода в пользовательском режиме вызывает прерывание обработки программы, и управление передается ОС.

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

Непосредственное обращение к внешним устройствам из пользовательских программ не разрешено по трем причинам:

- возможные конфликты при доступе к устройствам ввода/вывода;

- повышение эффективности использование этих ресурсов;

- ошибки в программах ввода/вывода могут привести к разрушению системы.

Компонента ОС, выполняющая ввод/вывод называетсясупервизором ввода/вывода. Основные задачи супервизора следующие:

- получение, проверка на корректность и выполнение запросов на ввод/вывод от прикладных задач и от модулей самой системы;

- планирование ввода/вывода: выполнение или постановка в очередь;

- передача управления драйверам;

- - передача сообщений об ошибках, если они появляются;

- передача сигнала о завершении операции ввода/вывода.

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

67.

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

 

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

- вида запроса (чтение или запись);

- адреса устройства ввода/вывода;

- адреса начальной ячейки блока памяти, откуда будет извлекаться или куда будет вводиться информация;

- количества слов, подлежащих чтению или записи.

Первый параметр определяет направление пересылки данных: из ОП в ВУ или наоборот. За исходную точку обычно принимается память, поэтому под чтением понимают считывание данных из ОП и выдачу их на устройство вывода, а под записью — прием данных из устройства ввода и запись в ОП. Вид запроса запоминается в схеме логики управления контроллера. К КПДП обычно могут быть подключены несколько ВУ, а адрес УВВ конкретизирует, какое из них должно участвовать в предстоящем обмене данными. Этот адрес запоминается в логике управления КПДП.

 

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

68.

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

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

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

Управление вводом-выводом в операционных системах

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

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

Аппаратуру ввода-вывода можно рассматривать как совокупность аппаратных процессоров, которые способны работать параллельно друг другу, а также параллельно центральному процессору (процессорам). На таких «процессорах» выполняются так называемые внешние процессы. Например, для печатающего устройства (внешнее устройство вывода данных) внешний процесс может представлять собой совокупность операций, обеспечивающих перевод печатающей головки, продвижение бумаги на одну позицию, смену цвета чернил или печать каких-то символов. Внешние процессы, используя аппаратуру ввода-вывода, взаимодействуют как между собой, так и с обычными «программными» процессами, выполняющимися на центральном процессоре. Важным при этом является обстоятельство, что скорости выполнения внешних процессов будут существенно (порой на порядок или больше) отличаться от скорости выполнения обычных {внутренних) процессов. Для своей нормальной работы внешние и внутренние процессы обязательно должны синхронизироваться. Для сглаживания эффекта значительного несоответствия скоростей между внутренними и внешними процессами используют упомянутую выше буферизацию. Таким образом, можно говорить о системе параллельных взаимодействующих процессов (см. главу 7).

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

69.

Основная память


72.

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

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

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

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

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

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

В процедуре аутентификации участвуют две стороны: одна сторона доказывает свою аутентичность, предъявляя некоторые доказательства, другая — аутентификатор — проверяет эти доказательства и принимает решение. В качестве доказательства аутентичности используются разные приемы - ау-тентифицируемый может:

• продемонстрировать знание некоего общего для обеих сторон секрета:слова (пароля) или факта (даты и места события, прозвища человека и т.п.);

• продемонстрировать, что он владеет неким уникальным предметом (физическим ключом), в качестве которого может выступать, например, электронная магнитная карта;

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

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

Система авторизации наделяет пользователя сети правами выполнять определенные действия над определенными ресурсами. Формы предоставления правил доступа делятся на два класса: избирательный доступ и мандатный доступ.

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

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

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

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

• взаимную аутентификацию абонентов при установлении соединения, которая может быть выполнена, например, путем обмена паролями;

• защиту передаваемых по каналу сообщений от несанкционированного доступа, например, путем шифрования;

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

73.

Компьютерные вирусы

74.

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

← Предыдущая
Страница 1
Следующая →

Задачи операционных систем. Программное обеспечение, программные средства, функции ОС, программные модули, Управление процессами. Центральный процессор. Алгоритмы.

У нас самая большая информационная база в рунете, поэтому Вы всегда можете найти походите запросы

Искать ещё по теме...

К данному материалу относятся разделы:

Аппаратное обеспечение

Программное обеспечение

Системное программное обеспечение

Основные функции операционных систем

Операционная система

Поддержка многозадачности

Основные ресурсы современных вычислительных систем

Первый период (1945–1955 гг.). Ламповые машины. Операционных систем нет

Принцип модульности. Операционная система строится из множества программных модулей

Монолитная архитектура операционной системы

Многоуровневые системы. Модель клиент-сервер

Модель клиент-сервер и микроядра

Принципы Операционных систем

Концепция процесса

Общая классификация ресурсов

Процессы

Операции над процессами

Планирование процессов

Виртуализация

Распределение памяти с фиксированными разделами

Управление вводом-выводом

Аппаратная организация памяти

Контроль использования памяти

Простейшие схемы управления памятью

Связывание адресов 

Виртуальная память компьютера

Система управления файлами

Файловые системы

Файловая система FAT 32

Файловая система HPFS

Файловая система NTFS

Сетевые операционные системы

Угрозы безопасности деятельности предприятий и информации

Шифрование

Основные встроенные механизмы защиты ОС и их недостатки

Операционная система MS DOS

Процессор командного языка

Главная загрузочная запись

Базовая (стандартная) память

Программа разработана фирмой Peter Norton Computing

Структура операционной системы

Фирма Microsoft

Операционная система Windows

Командная строка Windows

Процессы

Файловый менеджер

Total commander

Система прерываний

Основная память

Компьютерные вирусы

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

Похожие материалы:

Генри Дэвид Торо. О гражданском неповиновении

Это эссе было написано в 1848 г. Впервые опубликовано в издававшемся Элизабет Пибоди Журнале эстетики в 1849 г. под названием "Сопротивление гражданскому правительству". Автор рассуждает о том, что люди не должны позволять правительству господствовать над их сознанием и не должны идти ему на уступки, чтобы не стать жертвой несправедливости.

Реферат Философ Кант

Жизненный путь философа. Основные работы и принципы учения Канта. Этическое учение Иммануила Канта. Немецкая философия конца 18 – первой трети 19 в., включающая в себя имена Канта по праву называется классической

Какие налоги надо платить на УСН, ЕНВД и ОСНО

Упрощенная система налогообложения (УСН) Единый налог на вмененный доход (ЕНВД) Общая система налогообложения (ОСНО)

Технологии искусственного  интеллекта

Понятие искусственного интеллекта.  Области применения ИИ.  Понятие экспертной системы.

Старт системы 1С и настройка ведения

Контрольное задание №1 Авторизация доступа к информационной базе Настройка пользователя Ввод информации об организации. Настройка учетной политики

Сохранить?

Пропустить...

Введите код

Ok