.

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

Язык: русский
Формат: реферат
Тип документа: Word Doc
0 1514
Скачать документ

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

История развития ВТ в связи с историей развития системного программного
обеспечения.

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

Общая классификация вычислительных машин. Современные архитектурные
линии ЭВМ. Системное ПО и его место в современной информатике.

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

Универсальные ЭВМ – предназначены для решения большого круга задач,
состав которых при разаработке ЭВМ не конкретизируется.

Пример современных архитектурных линий ЭВМ: персональные ЭВМ (IBM PC и
Apple Macintosh – совместимые машины), машины для обработки
специфической информации (графические станции Targa, Silicon Graphics),
большие ЭВМ (мэйнфреймы IBM, Cray, ЕС ЭВМ).

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

1) Управление процессором путем передачи управления программам.

2) Обработка прерываний, синхронизация доступа к ресурсам.

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

4) Управление устройствами ввода-вывода.

5) Управление инициализацией программ, межпрограммные связи.

Управление данными на долговременных носителях путем поддержки файловой
системы.

См. также стандарты в (1).

Общее понятие архитектуры. Принципы построения ВС 4-го поколения.

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

ШИНА

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

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

Арифм.-логич.

уст-во , и сборка
прекратится.

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

а) для разбиения большого текста на модули по функциональному
назначению;

б) для создания библиотек процедур;

в) для написания подпрограмм в языки высокого уровня.

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. Динамическое распределение памяти, оверлейные программы. Общая
структура объектного модуля.

40. Основные функции ОС. Принципы мультипрограммирования. Системные
ресурсы.

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

1) Управление процессором путем передачи управления программам.

2) Обработка прерываний, синхронизация доступа к ресурсам.

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

4) Управление устройствами ввода-вывода.

5) Управление инициализацией программ, межпрограммные связи.

6) Управление данными на долговременных носителях путем поддержки
файловой системы.

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

41. Защита программ и данных в мультипрограммных средах. Режимы
управления. Защита и распределение памяти.

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

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

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

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

43. Общая схема функционирования ОС – супервизор, диспетчер,
планировщик. Виртуализация.

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

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

44. Виртуальная память и способы ее реализации. Страничная память.
Свопинг.

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

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

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

45. Системная архитектура 80386: сегментирование, страничная
организация, средства авторизации и защиты.

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

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

80386 поддерживает 4-уровненвую систему защиты, управление защитой
осуществляется с помощью уровней привелигированности. Уровень
привелигированности управляется привелигированными командами, командами
ввода-вывода и доступом к сегментным дескрипторам.

PAGE 2

Процессор

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

Опер. память

Нашли опечатку? Выделите и нажмите CTRL+Enter

Похожие документы
Обсуждение

Оставить комментарий

avatar
  Подписаться  
Уведомление о
Заказать реферат!
UkrReferat.com. Всі права захищені. 2000-2020