Download presentation
Presentation is loading. Please wait.
Published byPaula Allyson Lindsey Modified over 8 years ago
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.
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.