Presentation is loading. Please wait.

Presentation is loading. Please wait.

Special Registers Flags Page Directory Base Interrupt Vector Base Call Gate Base Call Gate Length Debug Address System Stack Pointer 0111??? 000 12 000.

Similar presentations


Presentation on theme: "Special Registers Flags Page Directory Base Interrupt Vector Base Call Gate Base Call Gate Length Debug Address System Stack Pointer 0111??? 000 12 000."— Presentation transcript:

1 Special Registers Flags Page Directory Base Interrupt Vector Base Call Gate Base Call Gate Length Debug Address System Stack Pointer 0111??? 000 12 000 000 1 000 2 000 1 000 5 5 SSIPSYSVMZNOF 00000000 FFFFFFFE

2 Interrupts 1 = clock tick 2 = page fault 3 = keyboard click 4 = debug breakpoint 5 = privileged operation etc

3 System Call Indexes (call gate entries) 0 = fork 1 = exit 2 = alloc (request more memory pages) 3 = read 4 = write etc

4 Current Virtual Memory Map virtual addressphysical addresscontent 00000000 00001000 00002000... 0... Does not exist... 7FFFD000 7FFFE000 7FFFF000... 0 Does not exist 80000000 80001000 80002000... 00009000 0000A000 0000B000... O.S.... FFFFD000 FFFFE000 FFFFF000... 0 00015000 00014000 System mode stack

5 What happens when interrupt N is signalled if IP flag = 1, nothing push all normal regs on system stack push FLAGS on system stack set IP flag and SYS flag push PC on system stack set PC = [interrupt vector base reg + N]

6 What happens when SYSCALL N is executed if N =call gate length register signal “privileged operation” interrupt push all normal regs on system stack push FLAGS on system stack set SYS flag push PC on system stack set PC = [call gate base reg + N]

7 Page Table Entries Page addresses are all multiples of 4096 (4K)  last 12 bits are useless Used for page specific flags instead. Minimum Necessary: 2 bits RResident / Valid UUser-mode access permitted Any attempted access when R=0 or (U=0 and SYS flag = 0) results in PAGE FAULT interrupt.


Download ppt "Special Registers Flags Page Directory Base Interrupt Vector Base Call Gate Base Call Gate Length Debug Address System Stack Pointer 0111??? 000 12 000."

Similar presentations


Ads by Google