23 th Korea Operating Syste 23 th Korea

  • Slides: 59
Download presentation

태스크 스위 칭이 뭘까? ? 23 th Korea Operating Syste

태스크 스위 칭이 뭘까? ? 23 th Korea Operating Syste

태스크를 스위칭하는 것이 다!!! 23 th Korea Operating Syste

태스크를 스위칭하는 것이 다!!! 23 th Korea Operating Syste

23 th Korea Operating Syste

23 th Korea Operating Syste

대기중인 쓰레드 실행중인 쓰레드 Thread Task Switching Thread 23 th Korea Operating Syste

대기중인 쓰레드 실행중인 쓰레드 Thread Task Switching Thread 23 th Korea Operating Syste

그럼! Task라는게 뭘까? ? 23 th Korea Operating Syste

그럼! Task라는게 뭘까? ? 23 th Korea Operating Syste

Task Information 테스크 정보를 저장하는 구조 체가 있다!!! TASK STATE SEGMENT TSS 23 th

Task Information 테스크 정보를 저장하는 구조 체가 있다!!! TASK STATE SEGMENT TSS 23 th Korea Operating Syste

23 th Korea Operating Syste

23 th Korea Operating Syste

인텔 CPU메뉴얼을 함봐 보자!!! 23 th Korea Operating Syste

인텔 CPU메뉴얼을 함봐 보자!!! 23 th Korea Operating Syste

IA 64 TSS는 어떻게 생겼을까 ? ? ? 23 th Korea Operating Syste

IA 64 TSS는 어떻게 생겼을까 ? ? ? 23 th Korea Operating Syste

X 64의 TSS는 어떻게 생겼을까 ? ? ? 23 th Korea Operating Syste

X 64의 TSS는 어떻게 생겼을까 ? ? ? 23 th Korea Operating Syste

GDT 0 NULL Descriptor 1 RING 0 CS 2 RING 0 DS 3 RING

GDT 0 NULL Descriptor 1 RING 0 CS 2 RING 0 DS 3 RING 3 CS 4 RING 4 DS 5 TSS 1 6 TSS 2 Task 1 TSS Task 2 TSS TR = 6번째 5번째 23 th Korea Operating Syste

64비트 or 32비트 Base Address Task Register (TR) TSS Selector GDT TSS Descriptoer 23

64비트 or 32비트 Base Address Task Register (TR) TSS Selector GDT TSS Descriptoer 23 th Korea 32비트Limit Attributes TSS Task State Segment Operating Syste

23 th Korea Operating Syste

23 th Korea Operating Syste

Task Register (TR) TSS Selector 23 th Korea Operating Syste

Task Register (TR) TSS Selector 23 th Korea Operating Syste

GDT TSS Descriptoer 23 th Korea Operating Syste

GDT TSS Descriptoer 23 th Korea Operating Syste

GDT TSS Descriptoer 23 th Korea Operating Syste

GDT TSS Descriptoer 23 th Korea Operating Syste

CALL [Task. Gate. Index]: 0 GDT LDT Task Gate JMP [Task. Gate. Index]: 0

CALL [Task. Gate. Index]: 0 GDT LDT Task Gate JMP [Task. Gate. Index]: 0 23 th Korea Operating Syste

CALL [Task. Gate. Index]: 0 GDT TSS Descriptor JMP [Task. Gate. Index]: 0 23

CALL [Task. Gate. Index]: 0 GDT TSS Descriptor JMP [Task. Gate. Index]: 0 23 th Korea Operating Syste

INT Task. Gate. Index IDT TSS Descriptor 23 th Korea Operating Syste

INT Task. Gate. Index IDT TSS Descriptor 23 th Korea Operating Syste

INT Task. Gate. Index IDT TSS Descriptor 23 th Korea Operating Syste

INT Task. Gate. Index IDT TSS Descriptor 23 th Korea Operating Syste

IRET EFLGAS의 NT == 1 23 th Korea TSS Task State Segment Operating Syste

IRET EFLGAS의 NT == 1 23 th Korea TSS Task State Segment Operating Syste

그럼 “쓰레드”라는게 뭔가? 23 th Korea Operating Syste

그럼 “쓰레드”라는게 뭔가? 23 th Korea Operating Syste

23 th Korea Operating Syste

23 th Korea Operating Syste

어떻게 ? ? ? ? 23 th Korea Operating Syste

어떻게 ? ? ? ? 23 th Korea Operating Syste

타이머 Int 발생 TSS Descriptor IDT GDT SW TSS Descriptor TM TSS Descriptor TSS

타이머 Int 발생 TSS Descriptor IDT GDT SW TSS Descriptor TM TSS Descriptor TSS Task State Segment 23 th Korea Operating Syste

타이머 Int 발생 TSS Descriptor IDT GDT SW TSS Descriptor TM TSS Descriptor TSS

타이머 Int 발생 TSS Descriptor IDT GDT SW TSS Descriptor TM TSS Descriptor TSS Task State Segment 23 th Korea Operating Syste

이렇게하 SW TSS Descriptor 고 IRET OLD NEW 하면 TSS 어떻게 Task 될까? ?

이렇게하 SW TSS Descriptor 고 IRET OLD NEW 하면 TSS 어떻게 Task 될까? ? ? 쓰레드르 State 바꿔칠수 Segment 있는것이 다!!!! BASE ADDRESS 23 th Korea Operating Syste

타이머 인터럽트가 발생하면 IDT 20번째 Descriptor를 타이머 Int 발생 참고해서 인터럽트를 처리한 다. 23

타이머 인터럽트가 발생하면 IDT 20번째 Descriptor를 타이머 Int 발생 참고해서 인터럽트를 처리한 다. 23 th Korea Task Gate Descriptor IDT Operating Syste

GDT TASK_SW_SEG TMR_TSS_SEG 23 th Korea Operating Syste

GDT TASK_SW_SEG TMR_TSS_SEG 23 th Korea Operating Syste

GDT TASK_SW_SEG TMR_TSS_SEG 태스크 스위칭 하고. . Iret 하면 이전 task로 다 시 23

GDT TASK_SW_SEG TMR_TSS_SEG 태스크 스위칭 하고. . Iret 하면 이전 task로 다 시 23 th 스위칭!!!!!된다 Korea Operating Syste

GDT TASK_SW_SEG TMR_TSS_SEG 이놈이 이전 태스크 상태를 처리하 는 놈이다. 23 th Korea Operating

GDT TASK_SW_SEG TMR_TSS_SEG 이놈이 이전 태스크 상태를 처리하 는 놈이다. 23 th Korea Operating Syste