Операционные системы. Управление памятью. Ввод-вывод

Автор работы: Пользователь скрыл имя, 24 Февраля 2011 в 15:16, курсовая работа

Описание работы

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

Содержание работы

Введение………………………………………………………………………………3
1. Операционные системы………………………………………………………….4
1.1 Файловая система……………………………………………………………….5
1.1.1 Классификация файловых систем………………………………………….6
1.1.2 Задачи файловой системы…………………………………………………..7
1.2 Структура и состав операционной системы………………………………..11
1.3 Защищенные подсистемы……………………………………………………..12
2. Управление памятью…………………………………………………………….14
3. Ввод-вывод………………………………………………………………………...17
Заключение……………………………………………………………………………20
Список литературы…………………………………………………………………..21

Файлы: 1 файл

Курсовая работа 1.doc

— 230.00 Кб (Скачать файл)

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

     Архитектура операционных систем Windows является модульной. Структурно ее можно разделить на две части:

     Первая  часть работает в режиме ядра (kernel mode) и называется исполнительной системой Windows (Windows executive). Компоненты режима ядра обладают следующими функциональными возможностями:

     - имеют доступ к оборудованию;

     - имеют прямой доступ ко всем  видам памяти компьютера;

     - не выгружаются на жесткий  диск в файл подкачки;

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

     Вторая  часть работает в так называемом режиме пользователя (user mode) Эту часть  составляют защищенные подсистемы ОС. Особенности процессов пользовательского режима:

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

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

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

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

     1.3 Защищенные подсистемы 

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

     В Windows два типа защищенных подсистем:

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

     - предоставление приложениям стандартного  программного интерфейса к функциям ОС;

     - реализация графического пользовательского  интерфейса;

     - управление пользовательским вводом/выводом.

     К подсистемам среды относятся  также подсистемы POSIX и OS/2.

     2. Внутренние подсистемы. К этому  типу относятся подсистемы, выполняющие важные функции ОС. Вот основные:

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

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

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

     - Исполнительная система и уровень  абстрагирования от оборудования. В состав исполнительной системы входят следующие элементы:

     - Справочный монитор защиты (Security Reference Monitor, SRM). Гарантирует выполнение политики защиты на локальном компьютере. Оберегает ресурсы ОС, обеспечивая защиту объектов и аудит доступа к ним.

     - Диспетчер процессов (Process Manager). Создает  и завершает процессы и потоки. Кроме того, приостанавливает и возобновляет исполнение потоков, хранит и выдает информацию о процессах и потоках NT.

     - Диспетчер межпроцессного взаимодействия (Interprocess Communication Manager, IPC Manager). Обеспечивает взаимодействие между подсистемами режима пользователя и исполнительной подсистемы.

     - Диспетчер виртуальной памяти (Virtual memory manager, VMM). Реализует виртуальную память - схему управления памятью, которая предоставляет каждому процессу большое собственное адресное пространство и защищает это пространство от других процессов.

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

     - Подсистема ввода/вывода (I/O Subsystem). Состоит  из группы компонентов, отвечающих за выполнение ввода/вывода на разнообразные устройства. Подробнее подсистема ввода/вывода рассматривается в следующих разделах.

     - Диспетчер объектов (Object manager). Создает, поддерживает и уничтожает объекты исполнительной системы Windows - абстрактные типы данных, представляющие системные ресурсы.

     - Диспетчер электропитания (Advanced Configuration and Power Interface Manager, ACPI-manager). Управляет электропитанием устройств, координирует запросы устройств, связанные с изменением режима электропитания.

     - Диспетчер Plug and Play (PnP-manager). Обеспечивает распознавание PnP-устройств после процесса загрузки ОС, управляет их драйверами, предоставляет интерфейс средствам пользовательского режима для поиска устройств, их установки и удаления, а также остановки и возобновления их работы.

     - Диспетчер окон и интерфейс  графических устройств (Graphic Device Interface, GDI). Управляет отображением  окон, обеспечивает прием ввода от клавиатуры и мыши, распределяя информацию приложениям.

     Компоненты  исполнительной системы реализованы  как независимые от аппаратной платформы  модули. Это обеспечивается наличием уровня абстрагирования от оборудования и делает ОС максимально переносимой.

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

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

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

     Память  в компьютере имеет иерархическую структуру. Небольшая ее часть представляет собой очень быструю энергозависимую (теряющую информацию при выключении питания) кэш-память. Компьютеры обладают также десятками мегабайт энергозависимой оперативной памяти ОЗУ (RAM, Random Access Memory — память с произвольным доступом) и десятками или сотнями гигабайт медленного энергонезависимого пространства на жестком диске. Одной из задач ОС является координация использования всех этих составляющих памяти.

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

     Системы управления памятью делят на два  класса. К первому классу относятся  системы, перемещающие процессы между оперативной памятью и диском во время их выполнения, т.е. осуществляющие подкачку процессов целиком (swapping) или постранично (paging). Обычный и постраничный варианты подкачки являются искусственными процессами, вызванными отсутствием достаточного количества оперативной памяти для одновременного хранения всех программ. Ко второму — те, которые этого не делают. Второй класс систем проще. Поскольку ПО растет еще быстрее, чем память, то, вероятно, потребность в эффективном управлении памятью будет существовать всегда. В 80-е гг. использовали системы разделения времени для работы десятков пользователей на машинах VAX с объемом памяти 4 Мбайт. Сейчас рекомендуется для индивидуальной работы в системе Windows 2000 устанавливать на компьютер не менее 64 Мбайт оперативной памяти. Дальнейшее развитие в сторону мультимедийных систем накладывает еще большие требования на размер оперативной памяти.

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

      Большинство современных систем позволяет одновременный  запуск нескольких процессов. Наличие  нескольких процессов, работающих в один и тот же момент времени, означает, что когда один процесс приостановлен в ожидании завершения операции ввода-вывода, другой может использовать центральный процессор. Таким образом, многозадачность увеличивает загрузку процессора. На сетевых серверах всегда одновременно работают несколько процессов (для разных клиентов), но и большинство клиентских машин в наши дни также имеют эту возможность. Самый простой способ достижения многозадачности состоит в разбиении памяти на n, возможно, не равных, разделов. Когда задание поступает в память, оно располагается во входной очереди к наименьшему разделу, достаточно большому для того, чтобы вместить это задание. Так как размер разделов неизменен, то все неиспользуемое работающим процессом пространство в разделе пропадает. Недостаток этого способа заключается в том, что к большому разделу очереди почти не бывает, а к маленьким разделам выстраивается довольно много задач. Небольшие задания должны ждать своей очереди, чтобы попасть в память, несмотря на то, что свободна основная часть памяти. Усовершенствованный способ заключается в организации одной общей очереди для всех разделов. Как только раздел освобождается, задачу, находящуюся ближе к началу очереди и подходящую для выполнения в этом разделе, можно загрузить в него и начать ее обработку. С другой стороны, нежелательно тратить большие разделы на маленькие задачи, поэтому существует другая стратегия. Она заключается в том, что каждый раз после освобождения раздела происходит поиск в очереди наибольшего для этого раздела задания, и именно оно выбирается для обработки. Однако этот алгоритм отстраняет от обработки небольшие задачи, хотя необходимо предоставить для мелких задач лучшее обслуживание. Выходом из положения служит создание хотя бы одного маленького раздела, который позволит выполнять мелкие задания без долгого ожидания освобождения больших разделов. Другой подход предусматривает следующий алгоритм: задачу, которая имеет право быть выбранной для обработки, можно пропустить не более k раз. Когда задача пропускается, к счетчику добавляется единица. Если значение счетчика стало равным k, игнорировать задачу больше нельзя.

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

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

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

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

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

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

     3. Ввод-Вывод 

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

Информация о работе Операционные системы. Управление памятью. Ввод-вывод