Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Шпоры по операционным системам - файл 1.doc


Шпоры по операционным системам
скачать (4027 kb.)

Доступные файлы (1):

1.doc4027kb.19.12.2011 10:20скачать

содержание
Загрузка...

1.doc

Реклама MarketGid:
Загрузка...

  1. Функции ОС. ОС как виртуальная машина и как система управления ресурсами.


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

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

Кроме этого ОС управляет основными ресурсами, микропроцессорами, памятью, накопителями, принтерами и т.д. Эти ресурсы распределяются между процессами.

Процесс (задача) – это программа в стадии выполнения.














  1. Монолитная архитектура. Преимущества и недостатки монолитной архитектуры.


Ядро ОС должно быть защищено от вспомогат модулей и приложений пользователя. Это достигается на аппаратном уровне введением как минимум 2-х режимов работы микропроцессора.

  1. привилегированный режим (режим ядра- kernel mode)

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

  1. пользовательский режим (user mode)

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

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

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


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


    1. Средства аппаратной поддержки.

Наличие слоя объясняется тем, что часть функций ОС выполняется аппаратурой.

Как правило, в этом слое работают:

а) средства поддержки привилегированного режима. Основаны на использовании регистров состояния микропроцессора PSW. В Intel исп-ся 2 вида этого регистра , что позволяет различать 4 режима (кольца защиты 0-1-2-3). Чаще исп-ся только 2 из них. В нулевом кольце работает ядро, в третьем – приложение.

б) средства трансляции адресов и защиты областей памяти.

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

Защита выполняется путем сравнения уровня привилегий текущего кода и области памяти, к которой производится обращение.

в) средства переключения процессов. Позволяют быстро сохранить контекст в 4 процессах. (?)

г) системный таймер представляет собой быстродействующий регистр –счетчик и исп-ся для выдержки интервалов времени.
2) Машинно-зависимые компоненты ОС.

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

Примером 2-го слоя ядра является уровень аппаратной абстракции HAL ОС Windows. На практике необходимо ограничивать количество модулей этого слоя, в связи с чем универсальность вышележащих слоев также ограничивается. Кроме этого в качестве машинно-зависимого слоя можно рассм-ть функции и драйверы BIOS.
3) Базовые механизмы ядра
Модули этого слоя выполняют программное переключение контекстов, перемещение страниц памяти на диск и обратно, диспетчеризацию прерывания и т.д.


  1. Менеджеры ресурсов

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


  1. Интерфейс системных вызовов

Модули слоя образуют интерфейс прикладного программирования API.
Преимущества монолитной архитектуры:

  1. защищенность модулей ядра от приложений и вспомогат модулей

  2. сравнительно высокое быстродействие.

Недостатки монолитной архитектуры:

  1. незащищенность модулей ядра друг от друга

  2. низкая расширяемость (при любом изменении нужно перекомпилировать ядро). Проблема доступности кода ядра.

  3. низкая степень переносимости




  1. Микроядерная архитектура. Преимущества и недостатки.


Микроядерная архитектура ОС

Концепции:

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

Рис

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

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

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

  3. высокая степень переносимости обусловлена тем, что весь машинно-зависимый код изолирован в микроядре.

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

Недостатки микроядерной архитектуры:

  1. сравнительно низкая производительность


рис

Вывод: прохождение каждого системного вызова приводит как минимум к временной задержке 4∆t.

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

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













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




  1. Синхронизация процессов и потоков. Критическая секция. Блокирующие переменные.


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

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

Используя однотипный алгоритм:

    1. Считать номер свободного буфера i

    2. Записать в этот буфер ссылку на свой файл

    3. Нарастить значение i

Пусть ситуация в системе сложилась так: управление получил процесс А, выполнил шаги 1 и 2 и оказался прерван (закончился квант 3). Затем процесс В успел выполнить шаг В1. Затем до конца выполнился А, затем В.
Важным понятием синхронизации потоков является понятие “критической” секции программы.

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


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

Перед входом в критическую секцию

последствиям.
6. Алгоритмы распределения памяти с использованием дискового пространства. Страничное распределение виртуальной памяти.












7.Физическая организация файлов.














8. История возникновения и развития ОС. Особенности современного типа развития ОС.
Свяжем развитие ОС с этапами развития вычислит техники.

1-ое поколение ЭВМ – программирование только в машинных кодах, системного ПО нет, имеются библиотеки математических и служебных подпрограмм.

Все задачи организации выч процесса решаются каждым программистом вручную.
2-ое поколение – транзисторные машины. Появляются алгоритмические языки и 1-й тип системного ПО – транслятор.

Ручная работа по разработке программ стала трудоемкой. Для организации работы были созданы системы пакетной обработки, автоматизирующие труд операторов выч центров. Эти программы стали прообразом ОС т.к. использовались не для обработки данных, а для управления выч процессом.
3-е поколение – поколения ЭВМ на интегральных схемах. Начиная с 3-го поколения реализованы все механизмы современных ОС: поддержка многотерминального режима, мультипрограммирование, файловые системы, сетевые возможности и т.д.
70-е годы – ОС UNIX, микрокомпьютеры.

80-е годы – MS DOS, Интернет


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










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

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

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

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

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

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

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

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

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

^ Управление памятью.

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

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

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

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

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

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

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

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

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


  1. Классификация по особенностям алгоритмов управления ресурсами.

    1. однозадачные (MS DOS) И многозадачные (UNIX, Windows)

    2. однопользовательские и многопользовательские (Windows)

    3. с поддержкой вытесняющей многозадачности или нет

В не вытесняющих ОС (Netware, Windows 3x) механизм планирования процессов дицентрализован, т.е. распределен между ОС и самой программой.

В вытесняющих планирование выполняет только ОС.

4. с поддержкой многопоточности или без.

Многопоточные ОС позволяют разбивать процесс на параллельные потоки или нити.

5. с поддержкой многопроцессорности или без.

Многопроцессорные ОС могут иметь ассиметричную и симметричную архитектуру.

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

В симметичных все микропроцессоры равноправны.


  1. Классификация по областям использования

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

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

    1. ОС разделения времени

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

    1. ОС реального времени (ОСРВ)

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

Пример ОСРВ – ОС QNX.


  1. Классификация по методам построения ОС.

    1. монолитные (Windows 95/98, ОС Linux) и микроядерные (ОСРВ QNX)

    2. с использованием объектно-ориентированного подхода или без

    3. автономные, сетевые и распределенные


11. Архитектура ОС. Ядро и вспомогательные модули ОС. Архитектура современных ОС.













12. Ядро в привилегированном режиме. Многослойная структура





















13. Аппаратная зависимость и переносимость ОС. Типовые средства аппаратной поддержки ОС. Машинно-зависимые и машинно-независимые компоненты ОС.















14. Мультипрограммирование и мультипроцессорная обработка. Понятия “процесс” и “поток”. Создание, планирование и диспетчеризация потоков.
















Создание, планирование и диспетчеризация потоков.









15. Вытесняющие и не вытесняющие алгоритмы планирования.






16. Алгоритмы планирования потоков, основанные на квантовании и на приоритетах. Смешанные алгоритмы планирования потоков.












17. Мультипрограммирование на основе прерываний. Назначение и типы прерываний. Механизм обработки прерываний в реальном и защищенном режимах процессоров Intel.











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

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

Используя однотипный алгоритм:

    1. Считать номер свободного буфера i

    2. Записать в этот буфер ссылку на свой файл

    3. Нарастить значение i

Пусть ситуация в системе сложилась так: управление получил процесс А, выполнил шаги 1 и 2 и оказался прерван (закончился квант 3). Затем процесс В успел выполнить шаг В1. Затем до конца выполнился А, затем В.
Блокирующие переменные.




последствиям.

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

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

Используя однотипный алгоритм:

    1. Считать номер свободного буфера i

    2. Записать в этот буфер ссылку на свой файл

    3. Нарастить значение i

Пусть ситуация в системе сложилась так: управление получил процесс А, выполнил шаги 1 и 2 и оказался прерван (закончился квант 3). Затем процесс В успел выполнить шаг В1. Затем до конца выполнился А, затем В.














  1. Тупики. Предотвращение и обход тупиков.


При организации параллельного выполнения нескольких вычислительных процессов

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

задачи корректного распределения ресурсов между выполняющимися процессами

и обеспечение последних средствами взаимной синхронизации и обмена

данными.

При параллельном исполнении процессов могут возникать тупиковые ситуации,

когда два или более процесса блокируют друг друга, вынуждая ожидать наступления

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

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

Из-за такого ожидания ни один из процессов не может продолжить исполнение

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

называется тупиком, дедлоком (dead lock1), или клинчем. Говорят, что в мультипрограммной системе процесс находится в состоянии тупика, если он ждет

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

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

Покажем, что если переставить местами операции P(e) и P(b) в потоке-писателе, то при некотором стечении обстоятельств эти два потока могут взаимно блокировать друг друга.



Тупики могут быть предотвращены на стадии написания программ.






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




Типы адресов:






  1. Алгоритмы распределения памяти без использования дискового пространства.




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



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


(разделов) произвольного размера.





^ ПЕРЕМЕЩАЕМЫЕ РАЗДЕЛЫ
Одним из методов борьбы с фрагментацией является перемещение всех занятых участков в сторону старших или младших адресов, так, чтобы вся свободная память образовала единую свободную область.

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

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

Достоинства:

    1. относительная простота дескриптора разделов.

    2. нет фрагментации и потерь памяти

Недостатки:

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



  1. Алгоритмы распределения памяти с использованием дискового пространства.

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

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

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

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

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

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

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

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

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

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

диск и обратно часто называют свопингом сегментов.

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

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

Достоинства сегментного способа:

1.при загрузке программы на исполнение можно размещать ее в памяти не целиком, а "по мере необходимости". 2.некоторые программные модули могут быть разделяемыми.

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

вычислить конечный физический адрес.

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

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

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

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

пространства — это номер страницы, вторая координата — номер ячейки внутри выбранной страницы (его называют индексом).

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

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

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

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

Недостатки:

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

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

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

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

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

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

рядом друг с другом, а "россыпью" поскольку диспетчер памяти манипулирует страницами.








  1. Иерархия запоминающих устройств. Кэширование данных.

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








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





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












  1. Подсистема ввода/вывода. Классификация устройств. Организация программного обеспечения ввода/вывода.



  1. Понятие о файле. Типы файлов. Файловые структуры. Атрибуты файлов. Логическая организация файлов.

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





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

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

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

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

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










  1. Физическая организация файлов.
















  1. Обзор файловых систем FAT и NTFS.


Файловая система FAT (File Allocation Table — таблица размещения файлов) получила

свое название благодаря простой таблице, в которой указываются:

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

в них файлов или их фрагментов;

- свободные области дискового пространства;

- дефектные области диска (эти области содержат дефектные участки и не гарантируют

чтение и запись данных без ошибок).

В файловой системе FAT дисковое пространство любого логического диска делится

на две области: системную область и область данных.

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

объекты образуют иерархию, подчиненную корневому каталогу.

Достоинства файловой системы FAT:

  • Для эффективной работы требуется немного оперативной памяти.

  • Быстрая работа с малыми и средними каталогами.

  • Диск совершает в среднем меньшее количество движений головок (в сравнении с NTFS).

  • Эффективная работа на медленных дисках.

Недостатки файловой системы FAT:

  • Катастрофическая потеря быстродействия с увеличением фрагментации, особенно для больших дисков (только FAT32).

  • Сложности с произвольным доступом к большим (скажем, 10% и более от размера диска) файлам.

  • Очень медленная работа с каталогами, содержащими большое количество файлов.


Основными отличительными свойствами NTFS являются:



Достоинства файловой системы NTFS:

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

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

  • Быстрый доступ к произвольному фрагменту файла (например, редактирование больших .wav файлов).

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

Недостатки файловой системы NTFS:

  • Существенные требования к памяти системы (64 Мбайт - абсолютный минимум, лучше - больше).

  • Медленные диски и контроллеры без Bus Mastering сильно снижают быстродействие NTFS.

  • Работа с каталогами средних размеров затруднена тем, что они почти всегда фрагментированы.

  • Диск, долго работающий в заполненном на 80% - 90% состоянии, будет показывать крайне низкое быстродействие.


24. Установка приложений и оборудования в ОС Windows.

Установка оборудования.

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

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

Процедуру автоматического поиска новых устройств выполняет ^ Мастер установки оборудования:

  • Открыть окно Панели управления. Дважды щелкнуть на значке Установка оборудования. Появится диалоговое окно Мастера установки оборудования.

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

  • На экране появится информационное окно 3-го шага Мастера, а система приступит к поиску нового оборудования (на шаге 2 - ответ Да). Этот процесс может занять 5-7 минут.

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

    • действительное отсутствие нового устройства;

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

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

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

  • Если Windows успешно определила новые устройства, то нужно нажать кнопку Готово для полного завершения процесса установки.

^ Установка устройств вручную.

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

Установка и удаление программ.

Установка нового программного обеспечения может быть проведена как с гибких дисков, так и с компакт-дисков. Принципиальной разницы нет, важно, что пакеты программ, как правило хранятся на этих дисках в сжатом (заархивированном) виде, а для их установки применяются специальные инсталляционные программы, которые входят в состав поставки. Такие программы обычно называются Setup или Install. Собственно установка программного обеспечения сводится к тому, что Windows обращается к этой программе и с ее помощью выполняет всю процедуру установки.

Для установки программного приложения:

  • открыть окно Панели управления;

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

  • нажать кнопку Далеe. Мастер установки попытается найти файл Setup.exe.

  • выполнять последовательно все инструкции, которые будут появляться на экране.

25. Реестр ОС Windows. Назначение и структура реестра. Программы для работы с реестром.
Реестр Windows или системный реестр (англ. Windows Registry) — иерархически построенная база данных параметров и настроек в большинстве операционных систем Microsoft Windows.

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

Реестр, в том виде, как его использует Windows (и как видит его пользователь в процессе использования программ работы с реестром), некоторым образом «нигде не хранится». Чтобы получилось то, что видит пользователь, редактируя реестр, происходит следующее.

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

Затем, в процессе каждой загрузки системы, (а так же в процессе каждого входа и выхода каждого из пользователей), формируется некая виртуальная сущность, называемая «реестром». То есть часть данных реестра хранится в файлах, а часть данных порождается в процессе загрузки Windows.

Для редактирования, просмотра и изучения реестра стандартными средствами Windows (программы regedit.exe и regedt32.exe) доступны именно ветки реестра. После редактирования реестра и/или внесения в него изменений эти изменения сразу же записываются в указанные файлы.
^

Описание разделов реестра:

HKEY_CURRENT_USER


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

HKEY_USERS


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

HKEY_LOCAL_MACHINE


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

HKEY_CLASSES_ROOT


В основном, содержит информацию о зарегистрированных типах файлов и объектах COM и ActiveX

HKEY_CURRENT_CONFIG


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

HKEY_DYN_DATA


Данный раздел имеется только в реестре ОС семейства Windows 9x/ME. Содержит динамически изменяемые данные о компьютере (загрузка процессора, размер файла подкачки и т. п.).
26. Навигация и операции с файлами и каталогами в консольном режиме ОС Windows.

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

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

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

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

Команда cp копирует исходный файл в целевой файл или каталог. Для удаления файлов используется команда rm.

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

Команда mv перемещает (переименовывает) исходный файл (или файлы) в целевой файл (или каталог).

Стандартным средством просмотра содержимого файлов (помимо редакторов или команд типа od), является команда cat.

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

Для поиска файлов предназначена команда find.

28. Группы пользователей ОС Unix. Защита файлов и каталогов в ОС Unix.

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

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

Для отслеживания владельцев процессов и файлов используются числовые идентификаторы. ^ Идентификатор пользователя и группы - целое число (обычно) в диапазоне от 0 до 65535. Присвоение уникального идентификатора пользователя выполняется при заведении системным администратором нового регистрационного имени. Значения идентификатора пользователя и группы - не просто числа, которые идентифицируют пользователя, - они определяют владельцев файлов и процессов. Среди пользователей системы выделяется один пользователь - системный администратор или суперпользователь, обладающий всей полнотой прав на использование и конфигурирование системы. Это пользователь с идентификатором 0 и регистрационным именем root.


Скачать файл (4027 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации