ITFN 2601 Introduction to Operating Systems Lecture 16 Segmentation
Segmentation vs Paging? Paging is incidental Page-data is heterogeneous Statically Sized Segments are intentional Segment data is homogenous Dynamically Sized
Pure Segmentation Segment size varies and changes External Fragmentation Also called “Checkerboarding” Swapping large segments for small Resolution: Compaction
MULTICS Implementation Similar to Multi-Level Paging Address contains Segment # for table Segment table holds Segment Descriptors Descriptor contains page table location Standard Page Table Has 2 18 segments 2 16 Pages With 36-bit entries 2 34 Total Pages
MULTICS Segment Descriptor Page Table address Segment Size Scale and Paged bits
Multics Lookup
Pentium Implementation Local/Global Descriptor Table Local contains program information Global is OS information 3-level Paging (Segment +2-level Virtual) 2 13 Global Local (per Program) Segments 2 14 Total Segments per program 2 32 Pages with 32-bit entries 2 46 Total Pages
Pentium Code Descriptor In-memory System or Application segment Type & Protection (Code/Data) Segment Scale (16-bits or all 32?)
Pentium 2-level Paging
Pentium Protection 2-bit Protection Entry Access granted to all higher levels 00 (0) Can access all 11 (3) Can access 3 Easy to decide access rights Must make paths for system calls