- •1. Вычислительные машины.
- •1.1. Модель эвм фон-Неймана.
- •1.2. Архитектуры современных эвм. Основные принципы работы отдельных компонентов. Центральные процессоры. Каналы (устройства обмена).
- •1.3. Иерархия и организация памяти эвм. Запоминающие устройства с произвольной выборкой. Внешние запоминающие устройства. Стековая память.
- •1.4. Организация и обработка прерываний от внешних устройств эвм. Схема с общей шиной. Буферизация.
- •1.5. Относительная адресация. Виртуальная память. Прямой доступ к памяти.
- •Страничная организация виртуальной памяти
- •Сегментная организация виртуальной памяти
- •1.6. Конвейеризация. Устройства ввода-вывода. Организация ввода-вывода.
- •1.7. Векторные машины. Машины с архитектурой risc. Многопроцессорные машины. Понятие о параллельных процессах.
- •Типы Процессорная симметричность
- •Потоки команд и данных
- •Соединения процессоров
- •Программные реализации Многопроцессорная обработка с sisd
- •Многопроцессорная обработка simd
- •Многопроцессорная обработка misd
- •Многопроцессорная обработка mimd
- •Понятия и терминология параллельного программного обеспечения
- •2. Персональные эвм.
- •2.1. Архитектура семейства микропроцессоров 286/586 (регистры, сегментация памяти, реальный и виртуальный режимы, защита памяти, шина, структура памяти, структура ввода/вывода, прерывания).
- •2.2. Пэвм. Система команд и способы представления информации. Архитектура математического сопроцессора.
- •3. Программный интерфейс вычислительных систем.
- •3.1. Программирование на машинном языке. Ассемблеры и макроассемблеры. Компиляторы.
- •3.2. Система управления вводом/ выводом. Спулинг.
- •3.3. Языки высокого уровня. Интерпретаторы. Абсолютные и перемещающие загрузчики. Связывающие загрузчики и редакторы связей.
- •3.4. Микропрограммы. Эмуляция. Микропрограммная поддержка.
- •4. Операционные системы.
- •4.1. Функции ядра операционной системы.
- •4.2. Управление заданиями и процессами. Понятие процесса, состояния процесса. Обработка прерываний.
- •4.3. Управление памятью, файловые системы. Концепции распределения памяти. Понятия оверлейного перекрытия, свопинга. Концепции виртуальной памяти.
- •4.4. Понятие файла, организация файла, файловой системы. Блок управления файлом.
- •4.5. Управление внешними устройствами и связью. Принципы функционирования систем управления вводом/выводом.
- •4.6. Ос. Поддержка систем программирования. Надежность, безопасность и защита. Поддержка интерфейса прикладного программирования (api)
- •4.7. Понятие о режимах реального времени. Мультизадачность и многопоточость.
- •4.8. Составные части ос ms dos, unix, Windows 95/98.
- •4.9. Загрузка ос. Основные группы команд ms dos, unix.
- •5. Парадигмы программирования.
- •5.1. Процедурное, декларативное и объектно-ориентированное программирование.
- •5.2. Логическое и функциональное программирование.(Принципы и сравнительная характеристика).
- •5.3. Параллельное программирование.
- •5.4. Абстракция данных.
- •6. Формальные языки и грамматики.
- •6.1. Иерархия Хомского.
- •6.2. Регулярные грамматики. Конечные автоматы.
- •6.3. Кс-грамматики и мп-автоматы.
- •6.4. Алгоритмическая разрешимость проблем в автоматных и кс языках.
- •6.5. Нисходящий и восходящий анализ.
3.2. Система управления вводом/ выводом. Спулинг.
В общем, система управления вводом-выводом (IOCS) — это набор программ, который повышает эффективность операций ввода-вывода и облегчает пользователю программирование операций ввода-вывода. Система управления вводом-выводом состоит из двух частей: 1) физической системы управления вводом-выводом и 2) логической системы управления вводом-выводом. Физическая система управления вводом-выводом (PIOCS) — это часть ядра, выполняющая операции ввода-вывода и управляющая ими на уровне системы в целом. Использование отдающего супервизора ввода-вывода.
В современных системах объем основной памяти, который выделен для исполнительной системы, зависит от экономических соображений. При проектировании стремятся достигнуть соответствия между эффективностью работы центрального обрабатывающего устройства и стоимостью используемой основной памяти. Устраняет конфликт, который мог бы возникнуть, если бы каждый пользователь создавал свой собственный ввод-вывод. Программы логической системы управления вводом-выводом (LIOCS) представляют собой часть программы пользователя и устанавливают связь программы с программами физической системы управления вводом- выводом. Программы логической системы ввода-вывода выполняют
блокирование и деблокирование логических записей, буферизацию, а также позволяют приписывать устройствам символические имена. Боул (1972) и Ченфетелли (1967) дают краткое введение в использование и функциональные задачи системы управления вводом-выводом.
Термин спулинг (spooling) был получен от сокращения SPOOL (Simultaneous Peripheral Output On Line — одновременный вывод информации), который, как это видно нз названия, относится к процессу совместного выполнения вычислений и вывода информации. В употреблении этот термин был расширен и применим теперь как для ввода, так и для вывода информации.
Идея, лежащая в основе спулинга, состоит в том, что медленные устройства ввода - вывода, работающие со скоростями электромеханических устройств, функционируют существенно медленнее, чем центральное обрабатывающее устройство может \ управлять их операциями в дополнение к его нормальной загрузке и без заметного снижения производительности. Использование спулинга на практике можно коротко описать следующим образом:
1. Процесс спулинга выполняется с наивысшим приоритетом. Когда ему необходимо обслуживание центрального обрабатывающего устройства, процесс спулинга получает доступ к нему в соответствии с принятой системой организации. Он подает сигнал центральному обрабатывающему устройству с помощью прерывания (которое раньше называли прерыванием от канала — chanal trap).
2. Программа спулинга инициирует операцию ввода-вывода; этот процесс занимает всего несколько машинных циклов.
3. Управление центральным обрабатывающим устройством возвращается программе пользователя, которая может занимать довольно много машинных циклов.
4. Операция ввода-вывода прерывает работу центрального обрабатывающего устройства, и управление возвращается к процессу спулинга.
5. Программа спулинга, занимая всего несколько машинных циклов, обслуживает запрос на ввод-вывод, и выполнение программы пользователя возобновляется с того самого места, где она была прервана. (Описанный процесс продолжается с шага 4.)
Процесс спулинга обычно расширяется и охватывает несколько операций ввода-вывода.
Спулинг по существу заменяет описанные выше автономные операции перевода информации с перфокарт на магнитную ленту и выдачи информации с магнитных лент на перфокарты или печать. Этот процесс (спулинг) очевиден для программы пользователя, и многие программы исполнительной системы выполняются одновременно с вводом-выводом.
Читатель догадается, что спулинг был первым этапом «мультипрограммирования» о чем мы знаем сегодня. Во многих исполнитель - пых системах вместо ленты использовались устройства прямого доступа, такие, как барабаны или диски. Таким образом, четыре или пять накопителей на магнитных лентах были заменены одним устройством прямого доступа.