введение_1 (1085732), страница 6

Файл №1085732 введение_1 (Методическое пособие по Операционным системам) 6 страницавведение_1 (1085732) страница 62018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 6)

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

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

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

Следующий регистр называется PSW (Processor Status Word — слово состоя­ния процессора). Этот регистр содержит биты кода состояний, которые задаются командами сравнения, приоритетом центрального процессора, режимом (пользова­тельский или режим ядра), и другую служебную информацию. Обычно пользова­тельские программы могут читать весь регистр PSW целиком, но писать могут только в некоторые из его полей. Регистр PSW играет важную роль в системных вызовах и операциях ввода-вывода.

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

В целях улучшения характеристик центральных процессоров их разработчики давно отказались от простой модели, в которой за один такт может быть считана, декодирована и выполнена только одна команда. Многие современные CPU обла­дают возможностями выполнения нескольких команд одновременно. Например, у процессора могут быть раздельные модули, занимающиеся выборкой, декодиро­ванием и выполнением команд, и во время выполнения команды с номером п он может декодировать команду с номером п + 1 и считывать команду с номером п + 2. Подобная организация процесса называется конвейером, три его стадии продемон­стрированы на рис. 1.5. Часто встречаются и более длинные конвейеры. В боль­шинстве конвейерных конструкций считанная команда должна быть выполнена, даже если в предыдущей команде был принят условный переход. У разработчи­ков компиляторов и операционных систем это свойство конвейеров часто вызы­вает головную боль.

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

Рис. 1.5. Конвейер с тремя стадиями

Узел выбора

команды

Узел

декодирования



Буфер

хранения


Узел выбора

команды

Узел

декодирования


Рис. 1.6. суперскалярный процессор

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

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

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

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



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

Память

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

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

В следующем слое находится кэш-память, в основном контролируемая обо­рудованием. Оперативная память разделена на кэш-строки, обычно по 64 байт, с адресацией от 0 до 63 в нулевой строке, от 64 до 127 в первой строке и т. д. Наи­более часто используемые строки кэша хранятся в высокоскоростной кэш-памя­ти, расположенной внутри центрального процессора или очень близко к нему. Ког­да программа должна прочитать слово из памяти, кэш-микросхема проверяет, есть ли нужная строка в кэше. Если это так, то происходит результативное обращение к кэш-памяти, запрос удовлетворяется целиком из кэша и запрос к памяти на шину не выставляется. Удачное обращение к кэшу, как правило, по времени занимает около двух тактов, а неудачное приводит к обращению к памяти с существенной потерей времени. Кэш-память ограничена в размере, что обусловлено ее высокой стоимостью. В некоторых машинах есть два или даже три уровня кэша, причем каждый последующий медленнее и больше предыдущего.

Среднее время доступа Средний объем



1 НС

Регистры

<1 Кбайт

2 нс

Кэш

1 Мбайт

10 нс

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

64—512 Мбайт

10 мс

Магнитный диск

5—50 Гбайт

100 с

Магнитная лента

20—100 Гбайт

Рис. 1.7. Типичная иерархическая структура памяти. Числа приблизительны

Далее следует оперативная память. Это главная рабочая область запоминаю­щего устройства машины. Оперативную память часто называют ОЗУ (оператив­ное запоминающее устройство, в англоязычной литературе RAM, Random Access Memory — память с произвольным доступом). Раньше иногда ее называли core memory — запоминающее устройство на магнитных сердечниках, поскольку в 50-е и 60-е годы в компьютерах для оперативной памяти использовали крошечные намагничиваемые ферритовые сердечники. Сейчас память составляет десятки и сотни мегабайт и растет с потрясающей скоростью. Все запросы центрального процессора, которые не могут быть выполнены кэш-памятью, поступают для об­работки в основную память.

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


Читающая/записывающая головка (одна на поверхность)


Поверхность 7

Поверхность 6 Поверхность 5

Поверхность 4 Поверхность 3

Поверхность 2 Поверхность 1

Поверхность 0


Направление движения вилки с головками




Рис. 1.8. Устройство жесткого диска

Жесткий диск состоит из одной или нескольких металлических пластин, вра­щающихся со скоростью 5400,7200 или 10 800 оборотов в минуту. Механическая вилка поворачивается над дисками подобно звукоснимателю на старых граммо­фонах для проигрывания виниловых пластинок на скорости 33 оборота в минуту. Информация записывается на пластины в виде концентрических окружностей. Головки в каждой заданной позиции вилки могут прочитать кольцо на пластине, называемое дорожкой. Все вместе дорожки для заданной позиции вилки форми­руют цилиндр.

Каждая дорожка разделена на некоторое количество секторов, обычно по 512 байт на сектор. На современных дисках внешние цилиндры содержат большее количество секторов, чем внутренние. Перемещение головки от одного цилиндра к другому занимает около 1 мс, а перемещение к произвольному цилиндру требует от 5 до 10 мс, в зависимости от диска. Когда головка располагается над правильной

дорожкой, нужно ждать, пока двигатель повернет диск так, чтобы под головкой встал требуемый сектор. Это занимает дополнительно от 5 до 10 мс, в зависимости от скорости вращения диска. Дальше, когда сектор уже находится под головкой, процесс чтения или записи происходит со скоростью от 5 Мбайт/с для низкоско­ростных дисков до 160 Мбайт/с для самых высокоскоростных.

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

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

Характеристики

Тип файла
Документ
Размер
798,5 Kb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6363
Авторов
на СтудИзбе
310
Средний доход
с одного платного файла
Обучение Подробнее