Меню Рубрики

Назначение операционной системы с точки зрения

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

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

Условно все программное обеспечение можно разделить на:

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

2) Пользовательские программы:

        • Офисные программы – программы, автоматизирующие работу в офисе (планировщик, напоминание, записные книжки и т.д.);
        • САПР – системы автоматизации проектирования (САD/САМ – компьютерная поддержка проектирования и производства)
        • Экономические пакеты программ
        • Другие программы, используемые пользователем (утилиты по обслуживанию диска)

    История ПК

    Приблизительно в 1950-е годы появились первые вычислительные машины на электронных лампах. После этого встала проблема взаимодействия человека и ЭВМ.

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

    I. Поколение – 1950г. (электронные лампы).

    Период наступил, когда Чарльз Пэддидж придумал перфокарту для нанесения на нее статистических данных по каждому человеку, проживающему в США.

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

    II. Поколение (приблизительно 60-е годы ) – появление транзисторов и вычислительных машин на транзисторах. Простейшие логические и арифметические операции. Как следствие – гигантский скачек в плане потребления электроэнергии.

    Одной из первых вычислительных машин была Урал 11-Б. Машинное слово было представлено в ней следующим образом:

    код оп. 1 оп. 2 результат

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

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

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

    В данном периоде использовалась перфолента либо перфокарта для взаимодействия программиста и ВТ, а конкретно для печати. В результате появился пакетный режим обработки информации, при котором появилось алфавитно-цифровое печатное устройство (АЦПУ). Недостатком пакетного режима обработки информации было то, что цикл получения результата составлял минимум сутки.

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

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

    В это же время фирма Apple выпустила Macintosh с операционной системой Windows подобного типа.

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

    Следующим за Intel 8086 был Intel 8186, который был сделан с ошибками.

    Вскоре после версии MSDOS V2.0 возникла версия MSDOS V3.0, которая содержала уже меньше ошибок.

    Очередным процессором был Intel 80286, затем Intel 80287 с сопроцессором, который имел операционную систему для выполнения операций над целыми числами и графическими операторами. В это же время появляется цветной дисплей 640х400 точек.

    Результатом доработки версии MSDOS V3.0 стала версия MSDOS V3.2, при дальнейшей доработке появилась версия MSDOS V4.0, а потом MSDOS V5.0, которые содержали ошибки. В версии MSDOS V5.0, в результате того, что Microsoft задумалась о своем выходе на международный уровень, появилась 866 таблица языков. Дальнейшим развитием процессоров стал Intel 386 с сопроцессором 387.

    В следующем процессоре Intel 486 сопроцессор был встроен.

    Следующим процессором стал 586, но теперь его назвали Pentium. Pentium1 имел тактовую частоту 60 МГц. Операционная система была версии 6.0. Последней версией операционной системы в MSDOS была версия 6.22, которая практически не содержала ошибок.

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

    В это время впервые заговорили о Windows , первой версией стала 3.0, последней – 3.11, которая могла работать с использованием сетевых возможностей.

    Windows стала надстройкой над MSDOS 6.0, в которой можно было запускать много задач.

    С Windows 95 начинается Windows –ая система – «прогресс Чикаго». Прогрессом было то, что теперь Windows характеризовалась следующими признаками:

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

    Windows 98 SE содержала гораздо меньше ошибок по сравнению с Windows 95. Теперь встала проблема ограниченного пространства. В результате чего, появилась таблица FAT 32 (до этого были FAT, FAT12 и FAT 16).. На уровне Windows 95-98 пришло понимание о том, как расширять работу дальше. Недостатком этих систем было то, что они не достаточно защищены от непрофессиональной деятельности пользователя.

    После Windows 95-98 появилась достаточно хорошо сделанная операционная система Windows 2000 на технологии NT. Впервые разработали ОС Windows NT Server и Windows PROFES (HOME) Edition. Впервые в NT появились другие стандартные таблицы размещения файлов: NTFS.

    В отличие от Windows 98 – однопользовательской системы, NTFS и WINDOWS NT 2000, WINDOWS XP 2000 содержат механизм квотирования пользователей (каждая группа пользователей получает определенные право и квоты на дисковое пространство)

    Начиная с Windows 95-98 в ОС стал вставляться механизм поддержки сетевой работы.

    Другие ОС, например, UNIX работают аналогично

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

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

    ОС с точки зрения пользователя.

    Если рассмотреть 1) пользователя, который получает результаты работы ОС и 2) компьютер – то можно сделать вывод, что пользователь и компьютер взаимодействуют друг с другом, используя ОС.

    ОС организовывает выполнение всех указанных процессов:

    1. запуск программы пользователем

    2. Разделение ресурсов компьютера.

    3. Связь с железным уровнем BIOS (работа с процессором, дисками, памятью)

    BIOS – базовая система ввода-вывода, работает с процессором, шиной, памятью, дисками.

    Особенности выполнения: если MS DOS – однопользовательская и однозадачная система, то Windows 3.11 – однопользовательская, но с эмуляцией многозадачности, которая окончательно была реализована в Windows 95.

    В Windows 95 появился спулинг задач, который конкурирует за ресурсы. В Windows 98 появилась объектно-ориентированная ОС, теперь она стала представляться в виде объектов.

    Windows 2000 (XP) на технологии NT – многозадачная, многопользовательская ОС с поддержкой NTFS, которая позволяет делить ресурсы пользователей.

    Дата добавления: 2016-11-12 ; просмотров: 393 | Нарушение авторских прав

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

    Операционная система (ОС) – это комплекс взаимосвязанных системных программ для организации взаимодействия пользователя с компьютером и выполнения всех других программ. ОС относятся к составу системного программного обеспечения и являются основной его частью. Операционные системы: MS DOS 7.0, Windows Vista Business, Windows 2008 Server, OS/2, UNIX, Linux.

    Основные функции ОС:

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

    Дополнительные функции:

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

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

    В общем случае в состав ОС входят следующие модули:

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

    Драйвер устройства (device driver) – специальная программа, обеспечивающая управление работой устройств и согласование информационного обмена с другими устройствами.

    Командный процессор (command processor) – специальная программа, которая запрашивает у пользователя команды и выполняет их (интерпретатор программ).

    Интерпретатор команд отвечает за загрузку приложений и управление информационным потоком между приложениями.

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

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

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

    Примечание

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

    Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на две группы:

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

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

    Приложения могут обращаться к ядру с запросами – системными вызовами – для выполнения тех или иных действий: для открытия и чтения файла, вывода графической информации на дисплей, получения системного времени и т.д. Функции ядра, которые могут вызываться приложениями, образуют интерфейс прикладного программирования – API (Application programming interface).

    Пример.
    Базовый код API Win32 содержится в трех библиотеках динамической загрузки (Dynamic Link Library, DLL): USER32, GDI32 и KERNEL32.

    Kernel — модуль Windows, который поддерживает низкоуровневые функции по работе с файлами и управлению памятью и процессами. Этот модуль обеспечивает сервис для 16- и 32-разрядных приложений.
    GDI (Graphics Device Interface) — модуль Windows, обеспечивающий реализацию графических функций по работе с цветом, шрифтами и графическими примитивами для дисплея и принтеров.
    User — модуль Windows, который является диспетчером окон и занимается созданием и управлением отображаемыми на экране окнами, диалоговыми окнами, кнопками и другими элементами пользовательского интерфейса.
    Ядро является движущей силой всех вычислительных процессов в компьютерной системе, и крах ядра равносилен краху всей системы, без него ОС является полностью неработоспособной и не сможет выполнить ни одну из своих функций. Поэтому разработчики операционной системы уделяют особое внимание надежности кодов ядра, в результате процесс их отладки может растягиваться на многие месяцы.

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

    Примеры вспомогательных модулей:

    • Программа архивирования данных.
    • Программа дефрагментации диска.
    • Текстовый редактор.

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

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

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

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

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

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

    Читайте также:  Жир на животе с точки зрения эзотерики

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

    Примечание

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

    НАЗНАЧЕНИЕ ОПЕРАЦИОННОЙ СИСТЕМЫ

    ОГЛАВЛЕНИЕ

    2. Основная часть

    а) Назначение операционной системы ……………………………. ……………………4

    б) Эволюция операционных систем ……………………………………………..……….5

    в) Эволюция операционной системы Microsoft Windows……………………………………..7

    г) Классификация операционных систем ………………………………. 12

    4. Список использованной литературы…………………………………………………..16

    ВВЕДЕНИЕ

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

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

    Существует несколько видов операционных систем: DOS, Windows, UNIX и Linux разных версий и др.

    Тема курсовой работы была мной выбрана не случайно, из вышесказанного можно судить, что именно ОС является главным элементом программного обеспечения, и поэтому я считаю тему «Назначение, эволюция и классификация операционных систем» актуальной на сегодняшний день и интересной для освещения. В своей курсовой работе я намерена рассказать о назначении операционных систем, их эволюции и классификации. В практической части с помощью программы Microsoft Office Excel 2003 я решу и приведу решение задачи. Условие задачи: «Бухгалтерии фирмы ООО «Ромашка» необходимо рассчитать и представить отчет по заработной плате сотрудников за месяц».

    ОСНОВНАЯ ЧАСТЬ

    НАЗНАЧЕНИЕ ОПЕРАЦИОННОЙ СИСТЕМЫ

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

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

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

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

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

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

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

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

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

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

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

    ЭВОЛЮЦИЯ ОПЕРАЦИОННЫХ СИСТЕМ

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

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

    Этапы развития ОС приведены в виде следующей схемы:

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

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

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

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

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

    7

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

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

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

    В конце 70-х годов был создан рабочий вариант стека протоколов TCP/IP. В 1983 году стек протоколов TCP/IP был стандартизован. Независимость от производителей, гибкость и эффективность, доказанные успешной работой в Интернете, сделали протоколы TCP/IP не только главным транспортным механизмом Интернета, но и основным стеком большинства сетевых ОС.

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

    В 80-е годы были приняты основные стандарты на коммуникационные технологии для локальных сетей: в 1980 году — Ethernet, в 1985 — Token Ring, в конце 80-х — FDDI. Это позволило обеспечить совместимость сетевых ОС на нижних уровнях, а также стандартизовать интерфейс ОС с драйверами сетевых адаптеров.

    К началу 90-х практически все ОС стали сетевыми, способными поддерживать работу с разнородными клиентами и серверами. Появились специализированные сетевые ОС, предназначенные исключительно для выполнения коммуникационных задач, например система IOS компании Cisco Systems, работающая в маршрутизаторах.

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

    ЭВОЛЮЦИЯ ОПЕРАЦИОННОЙ СИСТЕМЫ Microsoft Windows

    Windows 1.0 20 ноября 1985 года

    Использование мыши для системной навигации. В комплект приложений входили: MS-DOS файловый менеджер, или программа для управления файлами (MS-DOS File Program), календарь, блокнот, калькулятор, часы и телекоммуникационная программа, позволяющая планировать свою деятельность. Пользователи могли переключаться между приложениями без необходимости перезагружать их и закрывать. ОС поддерживала 256 цветов, изменяемый размер окон, включала то, что мы сегодня называем Панелью управления (Control Panel), с теми элементами управления интерфейсом, которые мы можем наблюдать и в более поздних, сегодняшних версиях Windows: элементы меню, элементы прокрутки окон, текстовые элементы и т. д.

    Windows 2.0 2 апреля 1987 года

    ОС несла все те же самые приложения, что и Windows 1.0, однако элементы ее управления были значительно улучшены (улучшенные скоростные характеристики процессора Intel 286, возможность дополнительной памяти (expanded memory) и возможность взаимодействия приложений (inter-application communication), используя DDE). VGA-графический стандарт, пользователи могли свободно изменять размер окон и перемещать их в любую область экрана. Комбинации клавиатурных клавиш. Могла использовать только 640 кб памяти MS-DOS.

    Windows 3.0 6 апреля 1992 года

    Многообразие шрифтов true type (готовность системы для более комплексных задач обработки текст). Встроенная поддержка аудиодевайсов, поддержка воспроизведения видео, появление цветных хранителей экрана. Имела недостаток: в ОС не было встроенной поддержки сети.

    Не нашли то, что искали? Воспользуйтесь поиском:

    Назначение операционных систем. Слои и точки зрения на вычислительную систему.

    Назначение операционных систем. Слои и точки зрения на вычислительную систему.

    ОС – программа, контролирующая исполнение приложений пользователей;

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

    Назначение:

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

    2) Эффективность. ОС позволяет эффективно использовать ресурсы компьютера системы.

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

    Требования к ОС:

    — Чередовать выполнение нескольких задач для повышения степени используется ЦП.

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

    — Обеспечивать обмен данными между задачами и запуск новых задач пользователями

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

    Понятие ресурса. Классификация ресурсов.

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

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

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

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

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

    Т.О. Операционная система как диспетчер ресурсов.

    5 Ядро операционной системы. Требования к ядру.

    Классификация ОС

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

    Ниже приведена классификация ОС по нескольким наиболее основным признакам.

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

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

    — однозадачные (например, MS-DOS, MSX) и

    — многозадачные (OC EC, OS/2, UNIX, Windows 95).

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

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

    Читайте также:  Нос заложен с точки зрения психологии

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

    — однопользовательские (MS-DOS, Windows 3.x, ранние версии OS/2);

    — многопользовательские (UNIX, Windows NT).

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

    Состояния процессов.

    В многозадачной (многопроцессной) системе процесс может находиться в одном из трех основных состояний:

    ВЫПОЛНЕНИЕ — активное состояние процесса, во время которого процесс обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;

    ОЖИДАНИЕ — пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам, он ждет осуществления некоторого события, например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса;

    ГОТОВНОСТЬ — также пассивное состояние процесса, но в этом случае процесс заблокирован в связи с внешними по отношению к нему обстоятельствами: процесс имеет все требуемые для него ресурсы, он готов выполняться, однако процессор занят выполнением другого процесса.

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

    В состоянии ВЫПОЛНЕНИЕ в однопроцессорной системе может находиться только один процесс, а в каждом из состояний ОЖИДАНИЕ и ГОТОВНОСТЬ — несколько процессов, эти процессы образуют очереди соответственно ожидающих и готовых процессов. Жизненный цикл процесса начинается с состояния ГОТОВНОСТЬ, когда процесс готов к выполнению и ждет своей очереди. При активизации процесс переходит в состояние ВЫПОЛНЕНИЕ и находится в нем до тех пор, пока либо он сам освободит процессор, перейдя в состояние ОЖИДАНИЯ какого-нибудь события, либо будет насильно «вытеснен» из процессора, например, вследствие исчерпания отведенного данному процессу кванта процессорного времени. В последнем случае процесс возвращается в состояние ГОТОВНОСТЬ. В это же состояние процесс переходит из состояния ОЖИДАНИЕ, после того, как ожидаемое событие произойдет.

    Рис. 2.1. Граф состояний процесса в многозадачной среде

    Состояния потоков.

    Модели Windows NT

    Структура Windows NT основана на комбинации нескольких моделей. Модель клиент—сервер (client/server) служит в Windows NT для того, чтобы предоставить пользователям различные среды ОС (исходно Windows, MS-DOS, OS/2 и POSIX), а объектная модель (object model) — для унификации управления системными ресурсами и выделения их пользователям. Третья модель, симметричная мультипроцессорная обработка (symmetric multiprocessing, SMP), позволяет Windows NT максимально использовать возможности многопроцессорных машин.

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

    Однако послойная модель применяется в системе ввода-вывода исполнительной системы NT, описываемой далее, и в самых низкоуровневых частях исполнительной системы: ядре NT (NT kernel) и слое абстрагирования от оборудования (hardware abstraction layer, HAL). Все другие компоненты исполнительной системы NT расположены поверх этих двух. Ядро NT выполняет функции ОС низкого уровня, похожие на те, с которыми мы встречаемся в клиент-серверных ОС с микроядром — например, планирование потоков, обработку прерываний и исключений, а также многопроцессорную синхронизацию. Оно также предоставляет набор процедур и базовых объектов, используемых остальными частями исполнительной системы для реализации конструкций более высокого уровня. Ниже ядра располагается динамически подключаемая библиотека (dynamic-link library, DLL) HAL — слой кода, изолирующий ядро и другие части исполнительной системы NT от платформенно-зависимых особенностей аппаратуры. HAL работает непосредственно с оборудованием.

    Как показывает рис. 3-1, модель клиент-сервер используется в Windows NT главным образом для предоставления API и средств, которые обычно рассматривают как среду ОС. Хотя защищенная подсистема (сервер) Win32 обеспечивает пользовательский интерфейс и необходима для работы системы, другие серверы также могут подключаться к исполнительной системе, причем они могут загружаться и выполняться одновременно в любой желаемой комбинации. Серверы взаимодействуют с процессами приложений при помощи средства передачи сообщений, предоставляемого исполнительной системой NT.

    27.Реализация потоков в системе. Потоки науровне пользователя.

    Исходя из здравого смысла, какой-либо процесс не должен иметь неограниченного права управления другими процессами. Одним из способов достижения этого в Windows NT служит система виртуальной памяти (virtual memory).

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

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

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

    28.Реализация потоков в системе. Потоки на уровне ядра.

    29.Реализация потоков в системе. Комбинированный подход

    30.MIMD системы. Параллельные архитектуры. SMP и AMP. Ограничения масштабируемости тесносвязанных систем.

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

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

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

    Компьютеры с общей (разделяемой) памятью (True shared memory)
    Все процессоры совместно обращаются к общей памяти, обычно, через шину или иерархию шин. В идеализированной PRAM (Parallel Random Access Machine — параллельная машина с произвольным доступом) модели, часто используемой в теоретических исследованиях параллельных алгоритмов, любой процессор может обращаться к любой ячейке памяти за одно и то же время. На практике масштабируемость этой архитектуры обычно приводит к некоторой форме иерархии памяти. Частота обращений к общей памяти может быть уменьшена за счет сохранения копий часто используемых данных в кэш-памяти, связанной с каждым процессором. Доступ к этому кэш-памяти намного быстрее, чем непосредственно доступ к общей памяти.

    — Компьютеры с виртуальной общей (разделяемой) памятью (Virtual shared memory)
    Общая память как таковая отсутствует. Каждый процессор имеет собственную локальную память и может обращаться к локальной памяти других процессоров, используя «глобальный адрес». Если «глобальный адрес» указывает не на локальную память, то доступ к памяти реализуется с помощью сообщений, пересылаемых по коммуникационной сети.

    31.Многопроцессорные системы.

    Монолитное ядро

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

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

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

    Монолитное ядро – старейший способ организации операционных систем. Примером систем с монолитным ядром является большинство Unix-систем.

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

    Монолитные системы

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

    Рис. 4.1. Монолитная структура ОС

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

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

    1)Главная программа, которая вызывает требуемые сервисные процедуры.

    2) Набор сервисных процедур, реализующих системные вызовы.

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

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

    Рис. 4.2. Простая структуризация монолитной ОС

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

    Процессы и синхронизация.

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

    Читайте также:  Можно ли служить после коррекции зрения

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

    Основные понятия: состояние, действие, история.

    Разделяемый и критический ресурс. Пример.

    Задача критической секции.

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

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

    Задача «читатели-писатели».

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

    — Только один процесс в каждый момент времени может писать в общую область памяти;

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

    53.Задача «обедающие философы». Заговоры и голодовка. Решения.

    Управление памятью. Требования к управлению памятью.

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

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

    Рис. 2.8. Классификация методов распределения памяти

    Перемещаемые разделы

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

    Рис. 2.11. Распределение памяти перемещаемыми разделами

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

    Страничное распределение

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

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

    Размер страницы обычно выбирается равным степени двойки: 512, 1024 и т.д., это позволяет упростить механизм преобразования адресов.

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

    Рис. 2.12. Страничное распределение памяти

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

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

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

    — дольше всего не использовавшаяся страница,

    — первая попавшаяся страница,

    — страница, к которой в последнее время было меньше всего обращений.

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

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

    Рассмотрим механизм преобразования виртуального адреса в физический при страничной организации памяти (рисунок 2.13).

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

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

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

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

    2)из этой записи извлекается номер физической страницы,

    3)к номеру физической страницы присоединяется смещение (младшие разряды виртуального адреса).

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

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

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

    Сегментное распределение

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

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

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

    Рис. 2.14. Распределение памяти сегментами

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

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

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

    Ассоциативный буфер трансляции (TLB). Функционирование TLB.

    Свопинг

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

    Рис. 2.16. Зависимость загрузки процессора от числа задач и интенсивности ввода-вывода

    Последнее изменение этой страницы: 2017-02-06; Нарушение авторского права страницы

    Источники:
    • http://more-it.ru/naznachenie-i-osnovnye-funkcii-operacionnyx-sistem-sostav-operacionnoj-sistemy/
    • http://studopedia.ru/17_115067_naznachenie-operatsionnoy-sistemi.html
    • http://infopedia.su/17xdae5.html