Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Старий CS






Старий IP


ІзTSS

Програми, яка викликає

 

SS: SP


Figure: Стек програми, яка викликає

 

 

Сергiй Стасюк Системне програмне забезпечення


Керування процесорним часом

 

 

У неформатованiй частинi TSS можуть мiститися вiдомостi про власника завдання, область збереження для регiстрiв 80287 i тому подiбне.

Селектор, що знаходиться в TR не можна використати для прочитування i запису в TSS, тому зазвичай в GDT вiдразу за дескриптором TSS знаходиться дескриптор сегменту даних, вiдповiдного TSS, вiн має номер TR+8 (оскiльки молодшi бiти TI i RPL чiпати не можна).

Завдання можна перемикати командою мiжсегментного переходу JMP, яка в якостi аргументу отримує селектор TSS i зсув, який iгнорується.

За допомогою команди CALL можна здiйснювати виклик iншого завдання.

 

Сергiй Стасюк Системне програмне забезпечення


Керування процесорним часом

 

 

Правила захисту сегментiв поширюються i на TSS. Безпосередньо його можна використати тiльки усерединi кiльця, визначуваного його рiвнем DPL чи в кiльцi з бiльшим прiоритетом. Перемкнутися на завдання, що має TSS в кiльцi з меншим номером, можна через шлюз завдання:

 


63 47 39 31


15 0


NOTHING P TYPE NOTHING


Селектор TSS


NOTHING


TYPE =


DPL 0010 1


Figure: Формат шлюза задачi

 

 

Сергiй Стасюк Системне програмне забезпечення


Керування процесорним часом

 

Якщо виклик завдання здiйснюється командою CALL, встановлюється прапор NT=1 i в полi зворотного зв’язку в TSS програми, яка викликана заноситься селектор TSS завдання, яке викликає.

Команда JMP скидає бiт NT в 0 при перемиканнi завдань, а команда CALL не модифiкує (не скидає) бiт B в селекторi TSS програми, яка викликає, зате встановлює в 1 цей бiт в селекторi TSS завдання, яке викликається.

Команда IRET у разi NT=1 робить перемикання на завдання, селектор TSS якого мiститься в полi зворотного зв’язку сегменту стану поточного завдання.

 

Сергiй Стасюк Системне програмне забезпечення


Керування процесорним часом

 

 

Приклад диспетчеризацiї RR:

 

; переривання таймеру PUSH DS

PUSH AX

STR AX; зберiгаємо TR в AX

ADD AX, 8; пропустити 0 дескриптор MOV DS, AX

ASSUME DS: TSS; повiдомити асемблеру про TSS, що використов JMP DWORD PTR nextproc

POP AX POP DS IRET

 

 

Сергiй Стасюк Системне програмне забезпечення


Керування процесорним часом

 


TSS1

TR


TSS2


 


поточна nextproc


 

 

nextproc


 

Figure: Зв’язок мiж задачами в реалiзацiї RR

 

Сергiй Стасюк Системне програмне забезпечення


Керування процесорним часом

 

Перемикання контексту для 80287 виконується командами FSAVE i FRESTOR. Процесор зустрiвши команду ESC перевiряє бiт TS в MSW. Якщо TS=1, то виникає особливий випадок використання спiвпроцесора. Процедура обробки цього переривання аналiзує бiт EM: якщо EM=1, команди спiвпроцесора емулюються програмно, iнакше необхiдно вiдновити регiстри 287 з поточного TSS i скинути бiт TS в 0.

 

 

Сергiй Стасюк Системне програмне забезпечення


Керування процесорним часом

 

 

У 80486 TS знаходиться в регiстрi CR0. Узагальнимо. Перемикання завдань вiдбувається:

JMP або CALL для дескриптора TSS; JMP або CALL для шлюзу завдання;

Переривання або виключення iндексують шлюз завдання в IDT;

Поточне завдання виконує команду IRET при встановленому прапорi NT.

 

 

Сергiй Стасюк Системне програмне забезпечення


Керування процесорним часом

 

Шлюзи виклику дозволяють робити мiжсегментну передачу управлiння без перемикання процесiв.

Формат шлюзу виклику:


63 47


39 36 31 15 0


NOTHING or 0 P TYPE


COUNTER


Селектор


Смещение


 



Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.008 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал