1. Общ преглед на компютърните системи
Операционната система използва hardware-ните ресурси на един или повече
процесора за да осигури обслужване на един или повече потребители. Операционната
система управлява паметта и входно/изходните устройства.
1.1 Базисни елементи
- Процесор
- Памет
- I/O устройства
- Системни връзки
--- FIGURE
1.1 ---
Регистри на процесора за връзка между компонентите:
MAR - memory address register
MBR - memory buffer register I/O
AR - I/O adderss register I/O
BR - I/O buffer register
1.2 Регистри на процесора
** Видими за потребителя регистри
- регистри за данни
- адресни регистри:
-- индексни,
-- сегментни указатели [деление на паметта на сегменти],
-- указател за стека и др.
- флагове: резултат от сравнение, от аритметична операция,...
** Контролни регистри и регистри на състоянията
PC - program counter (съдържа адреса на текущата инструкция)
IR - instruction register (съдържа текущата инструкция)
PSW - program status word (дума за състоянието на програмата) :
Sign, Zero, Carry (пренос), Equal,Overflow, Interrupt enable/disable,
Supervisor (supervisor/kernal mode or user mode)
Ограничение за някои инструкции и достъп до паметта в user mode.
Управляваща информация може да се съхранява и в долната част на паметта.
1.3 Изпълнение на инструкциите
** Цикъл на инструкциите
Две стъпки:
1. зареждане (fetch - донасям, довеждам) от паметта
в IR;
2. изпълнение на инструкцията, записана в IR.
--- FIGURE
1.2 ---
Най-общо има 4 вида инструкции:
1. Processor-memory
2. Processor-I/O
3. Data processing
4. Control
Пример:
AC - accumulator
Формат на командите: OpCode Address
OpCode действие: 1 - зарежда AC от паметта; 2 - записва AC в паметта;
5 - добавя към AC от паметта
Към съдържанието на клетка 941 от паметта се добавя съдържанието на
клетка 940 (2+3=5)
--- FIGURE
1.4 ---
Задачата се решава с 3 цикъла на инструкциите.
** Входно/изходни функции
- Директен обмен на данни процесор-диск;
- Използване на I/O модула DMA (direct memory access).
1.4 Прекъсвания
Класове от прекъсвания:
- Program - overflow, division by zero, illegal instruction, out of
memory
- Timer
- I/O - сигнал за завършване на действието или код на грешка
- Hardware failure
--- FIGURE
1.5 ---
** Прекъсвания и цикъла на инструкциите
--- FIGURE
1.7 ---
--- FIGURE
1.8 ---
--- FIGURE
1.9 ---
** Обработка на прекъсването
Прекъсването предизвиква събития в hardware и software:
1. Устройството изпраща прекъсване към процесора.
2. Процесорът завършва изпълнението на текущата инструкция преди да
отговори на прекъсването.
3. Процесорът проверява за прекъсване, идентифицира прекъсването и
връща потвърждение на устройството, че прекъсването е прието.
4. Процесорът запазва информация за текущата програма (поне PSW), като
я записва в системния управляващ стек (system control stack).
5. Процесорът зарежда PC с първия адрес на програмата, съответстваща
на прекъсването (interupt-handling program).
6. Програмата за обработка на прекъсванено записва в системния управляващ
стек регистрите и друга информация.
7. Изпълнява се прекъсването - проверява се кода на изпълнение на I/O
операцията, отговаря се на I/O устройството.
8. Програмата за обработка на изключенията възстановява състоянието
на регистрите.
9. Възстановява се PC и PSW и прекъсната програма продължава работата
си.
--- FIGURE
1.10 ---
--- FIGURE
1.11 ---
** Многократни прекъсвания
--- FIGURE
1.12 ---
--- FIGURE
1.13 ---
** Multiprogramming
Няколко програми се изпълняват "едновременно". След прекъсване процесорът
може да изпълнява друга програма в зависимост от зададени приоритети на
чакащите за изпълнение програми.
1.5 Йерархия на паметта
Характеристики: цена, обем, бързина на достъп.
- малко време за достъп, висока цена (бърза, скъпа)
- голям обем, ниска цена (голяма, евтина)
- голям обем, голямо време за достъп (голяма, бавна)
регистри |
кеш (бърза памет) |
оперативна памет |
дисков кеш (буфер) |
твърд (магнитен) дик |
сменяеми носители |
Надолу по таблицата:
1. намалява цената
2. расте обемът
3. расте времето за достъп
4. намалява честотата на достъп от процесора
--- FIGURE
1.15 ---
Виртуална памет
1.6 Кеш памет
** Необходимост
Времето за достъп до паметта е определящо за бързодействието.
** Принципи
--- FIGURE
1.16 ---
--- FIGURE
1.17 ---
--- FIGURE
1.18 ---
** Дизайн
- Cash size - големина на кеша
- Block size - големина на блока
- Mapping function - функция за разполагане на нови данни в кеша
- Replacement algorithm - алгоритъм за заместване: least-recently-used
(LRU)
- Write policy - правила за записване в ОП на променени данни
1.7 I/O методи за комуникация
--- FIGURE
1.19 ---
** Програмирани I/O
- процесорът пряко управлява I/O устройствата
- обмена на данните между ОП и I/O устройствата минава през регистрите
на процесора
- процесорът проверява състоянието на I/O устройствата
** I/O основани на прекъсвания
- обмена на данните между ОП и I/O устройствата минава през регистрите
на процесора
- процесорът изпълнява други команди докато I/O устройствата изпълнят
заявката
** Директен достъп до паметта
- процесорът задава: четене/писане, адрес на I/O устройство, начален
адрес в ОП и брой байтове
- DMA модула изпълнява заявката.