Главная » Просмотр файлов » В.Д. Валединский - Краткий конспект курса лекций «Работа на ЭВМ и программирование»

В.Д. Валединский - Краткий конспект курса лекций «Работа на ЭВМ и программирование» (1119512), страница 17

Файл №1119512 В.Д. Валединский - Краткий конспект курса лекций «Работа на ЭВМ и программирование» (В.Д. Валединский - Краткий конспект курса лекций «Работа на ЭВМ и программирование») 17 страницаВ.Д. Валединский - Краткий конспект курса лекций «Работа на ЭВМ и программирование» (1119512) страница 172019-05-09СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Лектор В.Д. Валединский.Группа 208, 3 семестр, 2002 год56сможет прочитать затем ПО; прерывание системного таймера – выполнить какую-топериодическую задачу, скажем, в многозадачных ОС – передать управление другомупотоку). В процессоре хранится специальная таблица векторов прерываний и, получивномер прерывания, он сохраняет свое внутреннее состояние в стеке, в том числе запоминаетпозицию, на которой остановилось выполнение программы и начинает выполнениесоответствующего обработчика прерывания (правда, сохраняет он не все свое состояние,поэтому обработчик должен вначале сохранить состояние регистров процессора в стеке).Обработчик должен как-то обработать прерывание, например, прочитать состояниеустройства, вызвавшего прерывание (после чего это устройство сбросит флаг готовности),восстановить состояние процессора, бывшее до начала обработки прерывания, затемвыполнить специальную команду возврата EOI.

Заметим, что выполнение обработчикапрерывания может быть прервано другим прерыванием, как раз в тот момент, когда этонежелательно – например, до того момента, как состояние регистров процессора будетсохранено в стек. Чтобы избежать такой ситуации используют команды Cli (запретитьобработку прерываний) и Sti (разрешить обработку прерываний).Альтернативой механизму прерываний служит т.н. полинг – когда системапериодически опрашивает устройства и проверяет в них бит готовности, чтобы определить,какие действия предпринимать.

Но полинг – довольно неудобная процедура, как в планеэффективности, так и функциональности. Механизм прерываний тоже страдает рядомнедостатков, главный из которых – сильно ограниченное их число, поэтому обычноиспользуют комбинацию обоих методов – прерывание выделяется одно на несколькоустройств, а при обработке этого прерывания производится полинг, чтобы определить, какоеиз устройств это прерывание вызвало.Стандартное распределение прерываний:IRQ 0 (системное) – Системный таймерIRQ 1 (системное) – КлавиатураIRQ 2 (системное) –каскадруемый контроллер прерываний, управляющийпрерываниями 8-15IRQ 3 (системное) – Последовательный порт (COM 2 и COM 4)IRQ 4 (системное) – Последовательный порт (COM 1 и COM 3)IRQ 5 (свободное) – используется различными адаптерамиIRQ 6 (системное)– Контроллер дисковода гибких дисковIRQ 7 (системное)– принтер 1IRQ 8 (системное) – часы реального времени CMOSIRQ 9 (свободное) – используется различными адаптерамиIRQ 10 (свободное) – используется различными адаптерамиIRQ 11 (свободное) – используется различными адаптерамиIRQ 12 (системное)– порт мышиIRQ 13 (системное) – математический сопроцессор (прерывание используется, дажеесли сопроцессор встроен в центральный процессор)IRQ 14 (системное)– Контроллер жестких дисковIRQ 15 (свободное) – используется различными адаптерами5 прерываний здесь оставлены свободными – их система делит между видеокартой,портами USB и модемом.

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

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

Конспект. Лектор В.Д. Валединский.Группа 208, 3 семестр, 2002 год57будет вести специальную таблицу, в которой будут указываться все запущенные процессы.Рассмотрим однопроцессорный случай – в этом случае один из потоков будет активным, всеостальные – неактивными. Время от времени (по IRQ0) ОС будет сохранять состояниетекущего процесса в таблицу, восстанавливать состояние другого процесса и продолжатьуже его выполнение.

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

Дело в том, что многозадачной системе требуется обеспечитьзащиту одних процессов от воздействия других. Вдруг одному процессу вздумаетсяобратиться к памяти, отведенной другому процессу (segmentation fault ;-))? Для этоговводится специальный т.н. защищенный режим процессора. В нем вводится защита памяти,портов ввода/вывода и аппаратных прерываний. Самая сложная – защита памяти.

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

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

Легко понять, что при 32-битной адресной шине адресуемоепространство – 4Gb памяти, а типичный объем памяти системы не превосходит 512Mb –налицо большой кусок, который можно адресовать, но памяти в которой нет. Но мы можемсказать, что у нас есть виртуальная память и при попытке обращения к «несуществующему»адресу памяти загрузить данные еще откуда-нибудь и подменить адрес на реальносуществующий. Для организации такой виртуальной памяти используется специальноеустройство в составе процессора – БПА (Блок Преобразования Адреса).

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

Дляопределения, какие страницы загружены в БПА хранится специальная таблица, в которойперечислены все страницы виртуальной памяти, их состояние и физические адреса.Структура таблицы страниц:Номер страницыРазмещение страницы Физический адресПрочие параметры012…Страницы нумеруются 0, 1, 2, …. В графе «размещение страницы» указывается,загружена страница в память, или нет, в графе «физический адрес» - физический адресстраницы в памяти или в другом устройстве, «прочие параметры» используются вЛекции по ЭВМ. Конспект. Лектор В.Д. Валединский.Группа 208, 3 семестр, 2002 год58различных стратегиях загрузки/выгрузки страниц.

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

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

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

Процесс загрузки страниц в память называется свопингом (swapping), афайл на диске, в котором хранятся данные страниц виртуальной памяти – своп-файлом(swap file).Стратегии загрузки и замещения страниц:…Теперь остается вспомнить про наличие у нас защищенного режима, в котором это всеработает. Виртуальная память позволяет нам легко организовать для каждого процесса«свою» память – просто для каждого процесса в БПА заводится своя таблица (и ОС ипроцессор «знают», что за процесс в данный момент выполняется).

Это приводит к тому,что у каждого процесса – свое адресное пространство и процесс просто не может обратитьсяк «чужой» памяти – это не даст сделать сама архитектура, процесс будет действительновидеть «свой» процессор со «своей» памятью и своими внешними устройствами, так, какбудто других процессов просто нет. На страницы и сегменты при этом, налагаетсянесложное ограничение – сегмент памяти должен состоять из целого числа страниц.Перечислим все вышеперечисленные режимы адресации процессора:1.Прямая адресация – запрашиваемый программой адрес памяти соответствуетфизическому адресу памяти (в частности, использовалась в MS-DOS)2.Трансляция адресов – запрашиваемый программой адрес памяти транслируетсяБПА, что позволяет организовать виртуальную память3.Режим защищенного адреса – реализуется трансляция адресов, для каждогопроцесса выделяется свое адресное пространствоПослесловиеВот и завешен этот многостраничный конспект.

На его создание у меня ушла массавремени (о чем я совершенно не жалею, поскольку при написании я сам разобрался сбольшим числом разнообразных вопросов, знать которые мне необходимо). Надеюсь, онсможет принести какую-то пользу не только мне, но и Вам, дочитавшему его до этого места.Если где-то в конспект закралась ошибка, опечатка, либо Вы с чем-то несогласны илисчитаете, что можно написать лучше – не сочтите за труд написать письмо наozerovsergey@freemail.ru.

Укажите только помимо самой ошибки / исправления номерстраницы, где она встретилась и соответствующий абзац, чтобы облегчить мне поиск.Спасибо за внимание,Лекции по ЭВМ. Конспект. Лектор В.Д. Валединский.Группа 208, 3 семестр, 2002 год.

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

Список файлов лекций

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