Information Security - 2. Descriptor Tables Descriptors are stored in three tables: – Global descriptor table (GDT) Maintains a list of most segments.

Slides:



Advertisements
Similar presentations
Memory Management Unit
Advertisements

O PERATING I N P ROTECTED M ODE Prof.P.C.Patil Department of Computer Engg Matoshri College of Engg.Nasik M ICROPROCESSOR A RCHITECTURE.
Types of Code Segments Conforming Code Segment
Presented By Dr. Shazzad Hosain Asst. Prof. EECS, NSU
Introduction to The x86 Microprocessor
Unit 4 Chapter-1 Multitasking. The Task State Segment.
16.317: Microprocessor System Design I
Intel MP.
CSC 221 Computer Organization and Assembly Language
IA32 Paging Scheme Introduction to the Pentium’s support for “virtual” memory.
IA-32 Processor Architecture
X86 segmentation, page tables, and interrupts 3/17/08 Frans Kaashoek MIT
Memory Management (II)
Venturing into protected-mode
CS2422 Assembly Language & System Programming September 22, 2005.
Microprocessor Systems Design I Instructor: Dr. Michael Geiger Fall 2012 Lecture 15: Protected mode intro.
Protected Mode. Protected Mode (1 of 2) 4 GB addressable RAM –( to FFFFFFFFh) Each program assigned a memory partition which is protected from.
UNIT 2 Memory Management Unit and Segment Description and Paging
Intel MP (32-bit microprocessor) Designed to overcome the limits of its predecessor while maintaining the software compatibility with the.
Microprocessor system architectures – IA32 segmentation Jakub Yaghob.
The Pentium Processor.
The Pentium Processor Chapter 3 S. Dandamudi To be used with S. Dandamudi, “Introduction to Assembly Language Programming,” Second Edition, Springer,
Multitasking Mr. Mahendra B. Salunke Asst. Prof. Dept. of Computer Engg., STES SITS, Narhe, Pune-41 STES Sinhgad Institute of Tech. & Science Dept. of.
System Address Registers/Memory Management Registers Four memory management registers are used to specify the locations of data structures which control.
80386DX.
1 i386 Memory Management Professor Ching-Chi Hsu 1998 年 4 月.
1 iAPX86 Protection Electronic Computers M. 2 Protection The protection mechanism is active only after PE setting in CR0 and is used before any access.
Virtual 8086 Mode  The supports execution of one or more 8086, 8088, 80186, or programs in an protected-mode environment.  An 8086.
EFLAG Register of The The only new flag bit is the AC alignment check, used to indicate that the microprocessor has accessed a word at an odd.
Microprocessor system architectures – IA32 tasks Jakub Yaghob.
Segment Descriptor Segments are areas of memory defined by a programmer and can be a code, data or stack segment. In segments need not be all the.
80386DX.
D P L s G D X U P Segment Descriptor A T Y P E
1 Microprocessors CSE Protected Mode Memory Addressing Remember using real mode addressing we were previously able to address 1M Byte of memory.
Page Replacement Implementation Issues Text: –Tanenbaum ch. 4.7.
Chapter 2 The Microprocessor Architecture Microprocessors prepared by Dr. Mohamed A. Shohla.
Information Security - 2. Other Registers EFLAGS – 32 Bit Register CFPFAFZFSFTFIFDFOFIO PL IO PL NTRFVM Bits 1,3,5,15,22-31 are RESERVED. 18: AC, 19:VIF,
Lecture 5 Rootkits Hoglund/Butler (Chapters 1-3).
Information Security - 2. Task Switching Every process has an associated Task State Segment, whose starting point is stored in the Task register. A task.
Memory Management Unit and Segment Description and Paging
Information Security - 2. Descriptor Tables There are two descriptor tables – Global Descriptor Tables – Local Descriptor Tables The global descriptor.
Information Security - 2. CISC Vs RISC X86 is CISC while ARM is RISC CISC is Compiler’s heaven while RISC is Architecture’s heaven Orthogonal ISA in RISC.
contains 8086 processor and several additional functional chips: –clock generator –2 independent DMA channels –PIC –3 programmable 16-bit.
Privilege Check for Control Transfer(Code Access) Control transfers (except interrupts) are accomplished by the instructions JMP, CALL, and RET The "near"
Microprocessor Systems Design I
32- bit Microprocessor-Intel 80386
Introduction to The x86 Microprocessor
Lecture on Real Mode Memory Addressing
Descriptor Table & Register
16.317: Microprocessor System Design I
Microprocessor Systems Design I
Microprocessor and Assembly Language
Microprocessor Systems Design I
Microprocessor Systems Design I
Anton Burtsev February, 2017
Privilege Levels.
Electronic Computers M
143A: Principles of Operating Systems Lecture 5: Address translation
Protection UQ: Explain the protection mechanism of X86 Intel family microprocessor(10 Marks)
Information Security - 2
x86 segmentation, page tables, and interrupts
System Segment Descriptor
Page Replacement Implementation Issues
Subject Name: Microprocesor Subject Code: 10CS45
Tutorial 7 MODULE 6.
Operating Modes UQ: State and explain the operating modes of X86 family of processors. Show the mode transition diagram highlighting important features.(10.
Linux 운영체제 및 응용 Lecture Note 2 Memory Addressing 오상규 정보통신대학원.
Lecture 37 Syed Mansoor Sarwar
Information Security - 2
CS444/544 Operating Systems II Virtual Memory
Presentation transcript:

Information Security - 2

Descriptor Tables Descriptors are stored in three tables: – Global descriptor table (GDT) Maintains a list of most segments May contain special “system” descriptors The first descriptor is a null descriptor – Interrupt descriptor table (IDT) Maintains a list of interrupt service routines – Local descriptor table (LDT) Is optional Extends range of GDT Is allocated to each task when multitasking is enabled The first descriptor is a null descriptor

Locations of the tables In Memory Pointed out by GDTR, LDTR and IDTR for the GDT, LDT and IDT respectively. The GDTR and IDTR are 48-bits in length, the first 16- bits (least significant) storing the size (limit) of the table and the remaining storing a 32-bit address pointing to the base of the tables Limit = (no. of descriptors * 8) - 1 LLDT stores a 16-bit selector pointing to an entry in the GDT.

Segment Selectors Out of several segments described in your GDT and LDT, which of the segment(s) that are currently being used are pointed to by the 16-bit CS,DS,ES,FS,GS and SS registers. Each store a selector Since descriptors are at 8-byte boundaries, the 16-bit selectors store the first most significant 13 bits to point to the corresponding descriptor. The bit 2 is the T1 bit, which when 0 (1) implies the selector is pointing to a descriptor in GDT (LDT). The bits (0-1) – are the Request Privilege Level (RPL) bits used for privilege assignments.

Loading Segment Selectors into segment registers Whenever segment registers are loaded, the following rules are checked by the processor and if violated an exception is raised thus giving high degree of memory protection Rule 1: Index field of the selector within limits of the GDT/LDT to be accessed – else raise a General Protection Fault exception.

Loading Segment Selectors into segment registers Rule 2: Loading a selector into DS,ES,FS or GS that points to a non-readable segment results in an exception Rule 3: For loading into SS, the segment pointed to should be readable and writable Rule 4: For loading into CS, the segment should be executable type Rule 5: Privilege level check rules to be described later

Loading segment selectors All segment registers except CS may be loaded using MOV, LDS, LES, LFS, LGS and LSS. The CS is loaded using a JMP or a CALL instruction – discussed later

Local Descriptor Table Is defined by a system descriptor (S=0) in GDT which is pointed to by the LDT. Limit 15-0 Base Address PLimit Base Address The 64-bit descriptor in GDT

End of Session-16 Thank You