Программирование и комп-ры

Ответы на вопросы по курсу Системное программирование

      ОТВЕТЫ НА ВОПРОСЫ ПО КУРСУ “СИСТЕМНОЕ ПРОГРАММИРОВАНИЕ”, 1997 г.

 1. История развития ВТ в связи с историей развития системного программного
    обеспечения.
Современные компьютерные системы наряду  с  прикладным  ПО  всегда  содержат
системное,  которое  обеспечивает  организацию   вычислительного   процесса.
История системного программного  обеспечения  связана  с  появлением  первой
развитой в современном понимании ОС UNIX.
1965 - Bell labs разрабатывает операционную систему Multix - прообраз  UNIX,
имеющий далеко не  все  части  современной  системы.  До  этого  времени  не
существовало мобильных ОС (переносимых на разные типы машин) и Multix  также
не был мобильной ОС.
1971 - написан UNIX для работы на мощнейшей платформе того времени PDP - 11
1977 - Становится переносимой системой, т.к.  переписан  на  языке  C  (AT&T
system V)
1981  -  платформа  Intel  начинает  резко  наращивать   свои   возможности.
Колоссальным  прорывом  было  создание  8088,  затем   8086,   80286,   etc.
Появляется однопользовательская ОС MS-DOS, на 10 лет ставшая стандартом  де-
факто  для  пользователей  персональных  компьютеров.   Но   для   машин   с
процессором Intel появляются и версии UNIX.
Конец 80 – начало 90  гг.  –  аппаратные  средства  резко  увеличивают  свою
мощность. Microsoft создает  новую  ОС  Windows  NT  и  появляется  стандарт
Win32. Позже появляется Windows 95  –  ОС  для  одного  рабочего  места,  но
имеющая многие  возможности  NT,  призванная  вытеснить  MS-DOS.  Аппаратные
средства позволяют создавать 64-битные  версии  такой  ОС,  как  UNIX,  и  в
скором времени она появляется и используется на платформе Alpha  фирмы  DEC.
С   наращиванием   мощности   аппаратных   средств   системное   программное
обеспечение становится все более изощренным и имеющим большие возможности.

 2. Общая классификация  вычислительных  машин.  Современные  архитектурные
    линии ЭВМ. Системное ПО и его место в современной информатике.
  ЭВМ являются преобразователями информации. В них исходные  данные  задачи
преобразуются в результат ее решения. В соответствии с используемой  формой
представления  информации  машины  делятся  на  два  класса:   непрерывного
действия  -  аналоговые  и  дискретного  действия  -   цифровые.   В   силу
универсальности   цифровой   формы   представления   информации    цифровые
электронные вычислительные машины представляют собой наиболее универсальный
тип устройства обработки информации. Основные свойства ЭВМ -  автоматизация
вычислительного  процесса  на  основе  программного  управления,   огромная
скорость  выполнения  арифметических  и  логических  операций,  возможность
хранений большого количества различных данных, возможность решения широкого
круга математических задач и задач обработки данных.  Особое  значение  ЭВМ
состоит в том, что впервые с  их  появлением  человек  получил  орудие  для
автоматизации   процессов   обработки   информации.   Управляющие   ЭВМ   –
предназначены для управления объектом или производственным  процессом.  Для
связи с объектом их снабжают датчиками.  Непрерывные  значения  сигналов  с
датчиков преобразуются  с  помощью  аналогово-цифровых  преобразователей  в
цифровые сигналы, кот. вводятся в ЭВМ в соотв  с  алгоритмом  упр-я.  После
анализа сигналов  формируются  упр.  воздействия,  которые  с  пом.  цифро-
аналоговых  преобразователей  преобразуются  в  аналоговые  сигналы.  Через
исполнительные механизмы изменяется состояние объекта.
  Универсальные ЭВМ –  предназначены  для  решения  большого  круга  задач,
состав которых при разаработке ЭВМ не конкретизируется.
  Пример современных архитектурных линий ЭВМ: персональные ЭВМ  (IBM  PC  и
Apple Macintosh – совместимые машины), машины для  обработки  специфической
информации (графические  станции  Targa,  Silicon  Graphics),  большие  ЭВМ
(мэйнфреймы IBM, Cray, ЕС ЭВМ).
  Общее  назначение  системного   ПО   -   обеспечивать   интерфейс   между
программистом  или  пользователем  и  аппаратной  частью  ЭВМ  (операционная
система, программы-оболочки) и выполнять вспомогательные функции (программы-
утилиты) Современная операционная система обеспечивает следующее:
1) Управление процессором путем передачи управления программам.
2) Обработка прерываний, синхронизация доступа к ресурсам.
3) Управление памятью.
4) Управление устройствами ввода-вывода.
5) Управление инициализацией программ, межпрограммные связи.
1) Управление данными на долговременных носителях путем поддержки файловой
   системы.
См. также стандарты в (1).

 1. Общее понятие архитектуры. Принципы построения ВС 4-го поколения.
    Архитектура – совокупность технических средств и их конфигураций, с
помощью которых реализована ЭВМ. ЭВМ 4 поколения, имеет, как правило,
шинную архитектуру, что означает подключение всех устройств к одной
электрической магистрали, наз. шиной. Если устройство выставило сигнал на
шину, другие могут его считать. Это свойство используется для организации
обмена данными. С этой целью шина разделена на 3 адреса – шина адреса, шина
данных и шина управляющего сигнала. Все современные ЭВМ также включают
устройство, наз. арбитром шины, которое определяет очередность занятия
ресурсов шины разными устройствами. В PC распространены шины ISA, EISA,
PCI, VLB.



                                            ШИНА


 2. Состав и функции основных блоков ВС: процессора, оперативной памяти,
    устройства управления, внешних устройств.

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

|Арифм.-логич.  |<----(  |Уст-во    |<----(    |Вн. уст-ва |
|уст-во         |(---(   |управления|(---(     |           |
|               |        |          |          || _        |
|               |        |Оперативна|(-------- |+ |        |
|               |        |я память  |----------|--+        |

      Процессор (ЦП) – устройство,  выполняющее  вычислительные  операции  и
управляющее  работой  машины.  Содержит  устройство  управления,  выбирающее
машинные  команды  из  памяти  и  выполняющее  их,  и  арифметико-логическое
устройство, выполняющее арифметические и логические  операции.  Работа  всех
электронных устройств машины координируется сигналами,  вырабатываемыми  ЦП.
В  современных  ПК  процессор  представлен  одной  СБИС,  содержащей   свыше
миллиона транзисторов.
      Оперативная память – предназначена для  хранения  программ  и  данных,
которыми они манипулируют.  Физически  выполнена  в  виде  некоторого  числа
микросхем. Логически ОП можно представить как линейную  совокупность  ячеек,
каждая из которых имеет свой  номер,  называемый  адресом.  Время  записи  и
чтения из ОП в современных машинах занимает доли микросекунды, а для  других
устройств это время в 10-1000 раз больше.
    Внешние устройства – устройства ввода и вывода  информации.  Поскольку,
как правило,  они  работают  значительно  меделенне  остальных,  управляющее
устройство должно приостанавливать программу для завершения операции  ввода-
вывода с соответствующим устройством.


 1. Программная модель ЭВМ. Основной командный цикл процессора. Понятие
    системы команд.

 2. Адресация. Данные в ЭВМ: структура и форматы представления.
Адресация на примере процессора 8086.
  Числа, устанавливаемые процессором на адресной шине,  являются  адресами,
т.е. номерами ячеек оперативной памяти,  из  которых  необходимо  считывать
очередную команду или данные. Размер ячейки оперативной памяти составляет 8
разрядов, т.е. 1 байт. Поскольку процессор использует 16-разрядные адресные
регистры, то это обеспечивает ему доступ  к  65536  (FFFFh)  байт  или  64К
(1K=1024 байт)  основной  памяти.  Такой  блок  непосредственно  адресуемой
памяти называется сегментом. Любой адрес  формируется  из  адреса  сегмента
(всегда кратен 16) и адреса ячейки внутри  сегмента  (этот  адрес  называют
смещением). На компьютерах, оснащенных процессором 8086, оперативная память
обычно имеет размер, равный 640К. Для того чтобы работать с памятью  такого
размера, процессор  осуществляет  пересчет  адресов  с  помощью  процедуры,
называемой вычислением эффективного адреса (рис.2.3).
Физический 20-разрядный адрес вычисляется сложением сдвинутого  влево  на  4
разряда 16-разрядного адреса сегмента оперативной памяти  со  значением  16-
разрядного  смещения  относительно  начала  этого  сегмента.  Используя  20-
разрядные адреса, можно адресовать 1М оперативной памяти (  1M=1024K=1048576
байт).  В  программе  на  ассемблере  полный  адрес  записывается   в   виде
SSSS:0000, гдe SSSS значение сегмента; 0000  –  значение  смещения.  Участок
оперативной памяти размером 16 байт называется параграфом.
Данные в ЭВМ – подразделяются на числовые и нечисловые.
Числовые данные:
1) Целые типы – для представления целых чисел.
2) Вещественные типы – для представления рациональных чисел. Бывают:
а) с фиксированной точкой;
б) с плавающей точкой.
Нечисловые данные:
1) Логические данные – принимающие значение истина или ложь.
2) Строковые данные.
3) Множества.
4) Произвольные данные (текст, звук, графика).

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

 2. Системные особенности архитектур ЭВМ. Примеры эволюции современных ВК –
    IBM 370, PDP11/VAX, Intel 80X86, RISC.
    Системные особенности архитектур ЭВМ заключаются в отличиях  аппаратных
средств, на которых реализована машина.
    Единая система электронных вычислительных машин  (ЕС  ЭВМ,  аналог  IBM
370) представляет  собой  семейство  программно-совместимых  машин  третьего
поколения. Каждая и машин семейства состоит из :
- процессора;
- оперативной памяти;
- каналов устройств, обеспечивающих операции обмена данными между памятью  и
внешними устройствами независимо от процессора;
- набора  внешних  устройств  ввода-вывода,  выполняющих  обмен  информацией
между внешними носителями и каналами.
      Для  ЕС  ЭВМ   характерно   наличие   каналов   -   специализированных
процессоров, позволяющих освободить процессор от выполнения операций  ввода-
вывода и тем самым повысить  скорость  обмена  с  внешними  устройствами.  В
машинах семейства ЕС с помощью каналов  обеспечивается  параллельная  работа
процессора и внешних устройств, а  также  параллельное  выполнение  операций
ввода-вывода с несколькими внешними устройствами.
В основу построения ЕС  ЭВМ  положен  принцип  модульности,  позволяющий  по
желаланию  пользователя   наращивать   вычислительную   мощность   (заменять
процессоры),  расширять  емкость  оперативной  памяти,   добавлять   внешние
устройства.
      Машины имеют большие наборы  команд,  развитое  системное  программное
обеспечение,  включающее  трансляторы  языков  программирования   Ассемблер,
ФОРТРАН, ПЛ/1, КОБОЛ, АЛГОЛ,  ПАСКАЛЬ,  операционные  системы  с  различными
функциональными возможностями.
      Основная особенность  управляющих  вычислительных  машин  типа  PDP-11
заключается в том, что взаимодействие между всеми устройствами, входящими  в
состав  комплексов  ,  включая  процессор  ,  и   оперативным   запоминающим
устройством ( ОЗУ  )  осуществляется  при  помощи  единого  унифицированного
интерфейса, получившего название "Oбщая шина" ( ОШ ).  Oбщая  шина  является
каналом, через который передаются адреса,  данные,  управляющие  сигналы  на
все  устройства  комплекса,  включая  процессор  и  память.   Физически   ОШ
представляет собой высокочастотную магистраль передачи данных, состоящую  из
56 линий.
      Процессор использует установленный набор сигналов для связи с  памятью
и для связи с внешними устройствами, благодаря чему  в  системе  отсутствуют
специальные команды ввода-вывода.
      Все устройства  комплекса  подключаются  в  ОШ  по  единому  принципу.
Некоторым  регистрам  процессора,  регистрам  внешних   устройств,   которые
являются  источниками  или  приемниками  при  передачи  информации,  на   ОШ
отводятся адреса. В программах адреса  регистров  устройств  рассматриваются
как адреса ячеек памяти, что позволяет обращаться к ним с  помощью  адресных
инструкций.  Так,  программирование  операций  вывода  данных   на   внешнее
устройство практически сводится к пересылке  этих  данных  по  определенному
адресу.
      VAX – 11 – более развитая машина, чем PDP-11. Это 32-битовая машина  с
адресным пространством свыше 4Г. Она по архитектуре  похожа  на  PDP-11,  но
имеет 2 шинных адаптера – адаптер общей шины и адаптер  массовой  шины.  Все
совместимые с общей шиной периферийные устройства могут  быть  подключены  к
ней, тогда как высокоскоростные устройства могут быть подключены к  массовой
шине  через  собственные  контроллеры.  VAX  –  сокр.  от  английских   слов
“виртуальное адресное расширение”, т.е. машина имеет  виртуальную  память  и
многозадачность.
      Обычно персональные компьютеры IBM PC состоят из трех частей : -
системного блока;
- клавиатуры;
- дисплея.
Системный блок содержит все основные узлы компьютера :
- электронные схемы, управляющие работой компьютера (микропроцессор,
оперативная память, контроллеры устройств и т.д.);
- блок питания;
- накопители для гибких магнитных дисков;
- накопитель на жестком магнитном диске.
К системному блоку можно подключить ряд дополнительных устройств ввода -
вывода. Кроме клавиатуры и монитора такими устройствами являются:
- принтер - для вывода на печать текстовой и графической информации;
- мышь - устройство, облегчающее ввод информации в компьютер;
- стример - для хранения данных на магнитной ленте;
- модем - для обмена информацией с другими компьютерами через телефонную
сеть;
- сканер - прибор для ввода рисунков и текстов в компьютер.

 3.  Двоичное  кодирование  информации.  Представление  элементарных  типов
    данных: натуральные числа, целые числа со  знаком,  числа  с  плавающей
    точкой.
Состояния  “установлен”  и  “сброшен”  соотв.  2  цифрам  двоичной   системы
счисления, фундаментальной для ЭВМ. Эти цифры  называются  битами.  Двоичное
кодирование – представление данных последовательностью битов.  При  двоичном
кодировании числовой информации степень двойки при каждой двоичной цифре  на
единицу больше, чем у предшествующей  цифры.  Пример  конструкции  двоичного
кода: 1012=(1*22)+(0*21)+(1*20)=510.
      Таким образом осуществляется  представление  целых  чисел  без  знака.
Отрицательные числа со знаком  представляются  в  дополнительном  коде  –  в
форме дополнения до двух. Чтобы найти двоичное представление  отрицательного
числа, надо взять его полжительную форму, проинвертировать ее и  добавить  к
полученному результату 1.
      Числами с плавающей точкой называются  числа  вида  x=M*Pq,  где  М  –
мантисса, P – порядок, q  –  основание  системы  счисления.  Нормализованная
форма таких чисел:
      M – дробное, |M| < 1.
      Q – фиксировано.
      P – целое число со знаком.
В  машине  в  двоичных  кодах  хранится  M  и  P.  Порядок,   как   правило,
выравнивается, т.е. приводится к большему по модулю  порядку,  путем  сдвига
мантиссы вправо  с  меньшим  порядком  на  кол-во  разрядов,  равное  (Pmax-
Pmin)log2Q.

 4. Правила арифметических и логических  операций  с  элементарными  типами
    данных.

 5. Свойства точности вычислений при  работе  с  плавающей  точкой.  Приемы
    программирования, обеспеч. необходимую точность вычислений.
    При работе с плавающими числами следует иметь в виду, что результат  не
полностью   соответствует   арифметике   действительных   чисел.    Диапазон
представления  чисел:  -1*Qp, и сборка прекратится.
      Использование многомодульной структуры необходимо:
       а)  для  разбиения  большого  текста  на  модули  по  функциональному
назначению;
      б) для создания библиотек процедур;
      в) для написания подпрограмм в языки высокого уровня.

34. Технология разработки программ –  трансляция  и  редактирование  связей.
Понятие об исходном, объектном, выполняемом модулях.
      Исходный код программы – код, написанный  на  языке  программирования.
Может включать модули на ЯВУ и модули с подпрограммами на языке ассемблера.
      Объектный  модуль  –  код  программы  после  трансляции  (компиляции),
преобразованный в машинные  коды.  Помимо  них  содержит  внешние  ссылки  и
информацию  для  редактора  связей  и  может  также   содержать   отладочную
информацию (debug info).
      Исполняемый модуль –модуль, содержащий готовую к выполнению  программу
– м.б. 2 видов:
      а) точный образ памяти программы с привязкой к абсолютным  адресам  (в
MS-DOS – формат файла *.COM)
      б) перемещаемый исполняемый формат, см. 17.
      Трансляция – получение объектного кода из исходного.
       Редактирование  связей  –  разрешение  внешних  ссылок   и   создание
исполняемого модуля из объектных.
       35.  Основные  функции  редактора  связей  –  распределение   памяти,
разрешение внешних ссылок – см. 17, 33.

      36. Программные сегменты и их атрибуты, способы  распределения  памяти
под сегменты.
Собственно сегменты и распределение памяти см. 30.
Атрибуты сегментов
Атрибут комбинации сегмента  предназначен  дляуказания  компоновщику,  каким
образом  объединять  сегменты,  находящиеся  в  разных  модулях  и   имеющие
одинаковые  имена.  М.б.  PRIVATE   (сегмент   не   будет   объединяться   с
одноименными из др. модулей), PUBLIC (будет) и некоторые другие.
Атрибут класса сегмента представляет собой строку,  заключенную  в  кавычки,
которая  позволяет  определить  компоновщику   нужный   порядок   размещения
сегментов при помещении их в программу  из  разных  модулей.  Он  группирует
вместе сегменты с одинаковым классом.
Атрибут  выравнивания  сегмента   –   сообщает   компонаовщику,   чтобы   он
позаботился о том, чтобы сегмент начинался с  указанной  границы.  Возможное
выравнивание:  BYTE  –  выравнивание  не  делается,  сегмент  начинается  со
следующего байта, WORD (DWORD)  –  выравнивание  погарнице  слова  (двойного
слова), PARA – выравнивание по границе 16-байтового параграфа, и т.п.
Атрибут размера сегмента – показывает размер, 16 или 32-битные сегменты.
Атрибут доступа – показывает возможность доступа  к  сегменту  в  защищенном
режиме – доступен как кодовый, для чтения, записи, чтения и записи.

37. Разрешение внешних  ссылок,  функция  автовызова,  библиотеки  объектных
модулей и их использование.
Разрешение внешних ссылок – см. 33, 17.
Библиотеки объектных модулей – пакет объектных  модулей,  собранных  в  один
файл и подключаемый к программе на  этапе  разрешения  внешних  ссылок  (все
идентификаторы, которые должны быть доступны  из  библиотек,  объявляются  в
модулях  как  PUBLIC).  Компоновщик   может   просматривать   библиотеку   и
самостоятельно находить  нужные  модули,  избавляя  от  этого  программиста.
Библиотеки делаются с  помощью  программы-библиотекаря.  Библиотекарь  может
добавлять  и  извлекать  модули,   а   также   получать   список   доступных
идентификаторов.
       Любой  компилятор  ЯВУ  имеет  в  комплекте   несколько   стандартных
библиотек, например, библиотеки ввода-вывода,  работы  с  плавающей  точкой,
графическую и т.п.

38. Типы внешних ссылок и общих имен. Статическое и динамическое  разрешение
ссылок.
Внешние ссылки см. 17, 33, 34.
Статическое и динамическое разрешение внешних ссылок.
Процесс разрешения внешних ссылок на этапе создания  исполняемого  модуля  –
статическое разрешение ссылок. Возможно и динамическое  подсоедиение  нужных
модулей на этапе работы программы.
а) Динамически вызываемый загрузчик, т.е.  программа  вызывает  загрузчик  и
подсоединяет недостающие части. Такой подход  невыгоден  (сложен  и  требует
много времени)
б)  DLL  –  принцип  разделяемых  библиотек.  DLL  –  это   пакет   функций,
отредактированный  для  исполнения  в  позиционно-независимом  стиле.  Имеет
таблицу всех содержащихся функций. Для работы с ним программа  выполняет  1)
функцию загрузки DLL, 2)переход по смещению в таблице функций.
При работе с DLL несколько программ  могут  использовать  одну  ее  копию  в
памяти.

39.  Динамическое  распределение   памяти,   оверлейные   программы.   Общая
структура объектного модуля.
      Стандартный исполняемый псевдоперемещаемый модуль (например, типа  EXE
для DOS) содержит сегменты в том виде,  в  котором  они  будут  размещены  в
памяти.  Такое  распределение  памяти  называется  статическим.  В  ситуации
нехватки памяти, отдельный код или данные, которые могут быть нужны  не  все
вместе, а по очереди, разумнее  было  бы  подгружать  в  память  в  процессе
выполнения.  Выделение  памяти  под  выполняемый  код  в   процессе   работы
программы  и  удаление  их  после  использования   называется   динамическим
распределением  памяти.  Программы,  содержащие   динамически   подгружаемые
модули, называются оверлейными, а сами такие модули  –  оверлеями.  Загрузка
данных из модуля в общем случае не представляет проблем, в  случае  загрузки
кода перед выполнением он должен быть особым образом подготовлен  (например,
с учетом  местоположения  вызывающей  программы  в  памяти  для  подпрограмм
должны  быть  образованы  правильные  ссылки).  Такую  подготовку  выполняет
специальная программа – менеджер оверлеев. Он  может  поставляться,  а)  как
библиотека компилятора [в Borland Pascal  7.0].  В  этом  случае  оверлейный
модуль, как правило, имеет какой-то свой специфический формат, работа с  ним
ведется с помощью стандартных  подпрограмм.  Код  оверлейных  подпрограмм  и
данных размещается в памяти [в BP буфер оверлеев имеет плавающую  границу  с
кучей] и по окончании работы с ним может быть удален. б) Может быть  внедрен
в  структуру  оверлейного  модуля.  В  этом  случае  модуль   имеет   формат
исполняемого файла, и для инициализации он должен быть  запущен  стандартным
для ОС способом из-под вызывающей программы.
      Оверлеи имеют широкое распространение в системе MS-DOS, при  подгрузке
используется не только основная память, но и  DOS-спецификации  расширенной:
XMS, EMS. В развитых многозадачных системах используется, в основном,  очень
похожая  технология  DLL.  Ее  отличие  в  том,  что  она  функционирует   в
защищенном режиме и позволяет использовать одну свою копию в  памяти  разным
программам.  DLL  можно  рассматривать  как  следущее  поколение  оверлейной
технологии.

40.  Основные  функции  ОС.   Принципы   мультипрограммирования.   Системные
ресурсы.
Основные функции ОС:
1) Управление процессором путем передачи управления программам.
2) Обработка прерываний, синхронизация доступа к ресурсам.
3) Управление памятью.
4) Управление устройствами ввода-вывода.
5) Управление инициализацией программ, межпрограммные связи.
6) Управление данными на долговременных носителях путем  поддержки  файловой
системы.
Ресурс – какой-либо объект или показатель  надежности  какого-либо  объекта.
Системные ресурсы – совокупность аппаратных ресурсов и  системных  сервисов.
Основными потребителями системных ресурсов являются процессы, выполняемые  в
системе.

41. Защита программ и данных в мультипрограммных средах. Режимы  управления.
Защита и распределение памяти.
       Защита  программ  и  данных  в  многозадачных   ОС   означает   малую
вероятность того, что  сбой  одной  из  выполняющихся  программ  не  вызовет
повреждения данных или кода других программ, и  по  возможности  изолировать
процессы друг от друга. Во всех ОС  сущ.  хотя  бы  2  режима  процессора  –
системный и пользовательский. Программа исп. в пользовательском режиме и  не
может  использовать  ряд  команд.   В   системном   режиме   доступно   все.
Переключение режимов работы осуществляется  системными  вызовами.  Системный
вызов  –  специальная  команда,  приводящая  к  прерыванию,  и  в  ядре   ОС
существует несколько точек, куда перейдет управление  по  этому  прерыванию.
386 имеет встроенный механизм для этих переключений – шлюз.
      Защита памяти –  осуществляется  путем  блокировки  доступа  к  памяти
других процессов,  а  также  блокировки  доступа  к  памяти  ядра.  Один  из
способов – вся память делится на страницы,  и  у  каждой  есть  замок  –  4-
битовый  признак,  который   можно   установить   только   привелигированной
командой. В процессоре есть 4-битовый регистр – ключ,  который  также  можно
установить  только  привелигированной  командой.  При  обращении  происходит
сравнение замка и ключа.
      С появлением многозадачности появилась проблема распределения  памяти.
При работе реальной программы обращения к ОП имеют тенденцию к  локализации.
Память можно разделить на используемую  и  неиспользуемую.  Чтобы  отследить
использование  области  памяти,   всю   ОП   можно   разбить   на   страницы
фиксированного размера (4К)  и  с  каждой  страницей  связать  бит,  который
устанавливать при обращении к данной странице.


42. Управление ЦП – фоновая обработка, пактная обработка, прерывания.

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


44. Виртуальная память и способы ее реализации. Страничная память. Свопинг.
      Виртуальная память отличается от  обычной  ОП  тем,  что  какие-то  ее
редко используемые фрагменты могут находиться  на  диске  и  подгружаться  в
реальную ОП по  мере  необходимости.  Такая  организация  памяти  позволяетс
снять ограничение, накладываемое объемом  физической  памяти,  установленной
на ЭВМ. Для реализации ВП используют, например,  динамическю  переадресацию.
Сегментом в терминах ВП называется область памяти из 2L страниц. Вначале  по
номеру в таблице сегментов отыскивается сегмент. Таблица сегментов  содержит
начальный адрес  таблицы  страниц.  Вторая  часть  адреса  используется  для
обращения в  эту  таблицу,  и  по  ней  находится  физический  адрес  данной
страницы. Результаты поизка по  таблицам  запоминаются  в  быстродействующем
ассоциативном  ЗУ,  называемом  TLB.  Наиболее  часто  употребляемые  адреса
откладываются в TLB и поэтому 98-99% обращений к памяти идут  без  просмотра
таблиц.
      Страничная организация памяти  –  организация,  при  которой  адресное
пространство памяти разбивается на малые участки  –  страницы.  Используется
для управления памятью  в  системах,  работающих  в  защищенном  режме.  Как
правило,  такая  организация  памяти  подразумевает  пейджинг   –   механизм
виртуальной  памяти,  при   котором   страницы   вытесняются   на   диск   и
подкачиваются с диска.
      Свопинг – алгоритм реализации виртуальной памяти.  Его  можно  разбить
на три  части:  управление пространством на  устройстве  выгрузки,  выгрузка
процессов из основной памяти и  подкачка  процессов  в  основную  память.  В
качестве устройства выгрузки используют раздел на устройстве  типа  жесткого
(swap-partition) или дисковый файл (swap-file) на таком устройстве.

45. Системная архитектура 80386:  сегментирование,  страничная  организация,
средства авторизации и защиты.
       Возможности  80386  полностью  раскрываются,  когда  он  работает   в
защищенном режиме. В этом режиме адресное пространство расширяется до 4Т,  а
виртуальное – до  64Т.  80386  использует  сегментацию  –  один  из  методов
управления памятью.  Сегменты  –  самостоятельные  области  памяти,  имеющие
собственные  атрибуты.  В  сегменте  м.б.  код  программы  или  данные.  Вся
информация о сегменте запоминается в  спец.  структуре,  наз.  дескриптором.
Дескрипторы используются аппаратно и не доступны из программ.  Межсегментные
вызовы в  80386  происходят  с  учетом  защиты.  Помимо  сегментации,  80386
поддерживает  другой  вид  организации  памяти  –  страничную   организацию.
Страницы  –  это  малые  блоки  памяти  одинакового  размера,   не   имеющие
логической связи со структурой программ.  Они  используются  в  основном  на
уровне ОС.  Страницы могут подкачиваться  с  диска  и  вытесняться  на  диск
(пейджинг).
      В 80386 есть режим виртуального  8086  –  режим,  эмулирующий  8086  в
защищенном режиме, при котором у каждого пользователя многозадачной  системы
создается иллюзия монопольного владения ресурсами машины.
      80386 поддерживает 4-уровненвую  систему  защиты,  управление  защитой
осуществляется    с    помощью    уровней    привелигированности.    Уровень
привелигированности  управляется  привелигированными  командами,   командами
ввода-вывода и доступом к сегментным дескрипторам.


-----------------------
Процессор

Уст-ва ввода-вывода

Опер. память





смотреть на рефераты похожие на "Ответы на вопросы по курсу Системное программирование"