R&D 543

[x86] PIC 구조

PIC은 Uniprocessor 에서 CPU로 Interrupt를 전달하기 위한 intel 8259 chip 이다. Master 와 Slave 구조로 되어 있으며, Master가 CPU와 연결되어 있다. 하나의 8259 chip에는 8개의 input line 을 가지고 있고, 1개는 slave chip과 연결되어 있다. 따라서 총 15개의 interrupt line을 받을 수 있다. Multi-processor에서는 PIC을 사용할 수 없기 때문에 Advanced PIC (APIC)이 나왔고, 이는 CPU chip 내장되어 있는 Local APIC과 motherboard에 붙어 있는 I/O APIC으로 발전하였다. --> 다음 시간에는 PIC에서 발생하는 IRQ가 IDT(Interrupt Descript..

R&D/OS 2013.11.21

Page table & address translation

Linux 의 메모리 관리를 이해하기 위해서는 2단계 address translation에 대해서 이해해야 한다.1단계 전환(GDT/LDT) : Logical Address --> Linear Address2단계 전환(Page Table): Linear Address --> Physical Address 다음으로 구분을 해야 하는 것이 virtual address 와 Linear address의 관계이다. Process 별로 page table을 관리함 Context switching이 일어나면, mm_struct->pgd 의 값이 CR3로 로드되어, cpu는 virtual address를 physical address로 MMU를 이용해서 변환할 수 있다.또한 CR3에 새로운 값이 로드되면, x86에서는..

R&D/OS 2013.11.15

GDT vs .LDT

ㅇ GDT 란GDT(global descriptor table)란 Real Mode 에서 Protected Mode 로 변화되면서 추가된 테이블로써 해당 세그먼트의 베이스 주소와 세그먼트 제한 길이 등의 정보가 들어있다. 제한 길이가 들어있기 때문에 보호기능이 제공되며, 베이스 주소를 제공하기 때문에 16bit에서 24-31bit까지의 베이스 주소를 확장시킬수 있다. 그럼으로써 1b에서 4g까지 자유롭게 설정이 가능하게 된다. 또한 이 테이블에 권한설정까지 적어 넣을 수 있기 때문에 메모리에 대한 권한까지 부여할 수 있게 된다. ㅇ GDT vs LDT - GDT(Global Descriptor Table) : 커널모드에서 사용하는 테이블 / 커널모드용 하나 생성 / 전체내용 - LDT(Local desc..

R&D/OS 2013.11.08

[Summary] Intel Virtualization Technology: Hardware Support for Efficient Processor Virtualization

IntroductionVMM 은 Host 머신의 모든 resource 를 접근가능하여, Guest OS에게 virtual platform interfaces를 제공한다. IA-32 Architecture가 가상화 하기 어렸웠던 문제점들- IA-32는 2 bit privilege level을 제공함. - 그 중에서 Ring 0는 OS가 사용하고, Ring 3은 Application이 사용하도록 개발됨- 하지만 이런상황에서 VMM을 개발하면, VMM이 Ring0에서 동작해야 하며,Guest OS는 VMM 보다 낮은 privilege level을 가져야 한다. (ring deprivileging)- 따라서 가능한 모델은 VMM/GuestOS/GuestApplication (0/1/3 또는 0/3/3) 모델이 ..

R&D/Hypervisor 2013.11.04
728x90
반응형