Knowledge

Memory segmentation

Source đź“ť

505:. (Every byte of every segment is always available to any program.) The 16-bit segment registers allow for 65,536 segments; each segment begins at a fixed offset equal to 16 times the segment number; the segment starting address granularity is 16 bytes. Each segment grants read-write access to 64 KiB (65,536 bytes) of address space (this limit is set by the 16-bit PC and SP registers; the processor does no bounds checking). Offset+address exceeding 0xFFFFF wraps around to 0x00000. Each 64 KiB segment overlaps the next 4,095 segments; each physical address can be denoted by 4,096 segment–offset pairs. This scheme can address only 1 MiB (1024 KiB) of physical memory (and memory-mapped i/o). (Optional 398: 337: 1493: 1483: 1473: 1463: 1453: 293:
offset and, optionally, an index register specified in the instruction. An access descriptor contains permission bits and a 26-bit object index; the object index is an index into a table of object descriptors, giving an object type, an object length, and a physical address for the object's data, a page table for the object, or the top-level page table for a two-level page table for the object, depending on the object type.
559:. When paging is enabled, addresses in linear memory are then mapped to physical addresses using a separate page table. Most operating systems did not use the segmentation capability, opting to keep the base address in all segment registers equal to 0 at all times and provide per-page memory protection and swapping using only paging. Some use the CS register to provide 524:", which retains 16-bit addressing, and adds segmentation (without paging) and per-segment memory protection. For backward compatibility, all x86 CPUs start up in "real mode", with the same fixed overlapping 64 KiB segments, no memory protection, only 1 MiB physical address space, and some subtle differences ( 292:
processors supported load and store instructions with the source or destination being an "access descriptor" for an object, and an offset into the object, with the access descriptor being in a 32-bit register and with the offset computed from a base offset in the next register and from an additional
441:
0 specifies a segment size of either 64 KiB or 1 MiB and a page size of either 2 KiB or 4 KiB; control register 1 contains a Segment Table Designator (STD), which specifies the length and real address of the segment table. Each segment table entry contains a page table location, a page table length
238:
on a system using segmentation with paging usually only moves individual pages back and forth between main memory and secondary storage, similar to a paged non-segmented system. Pages of the segment can be located anywhere in main memory and need not be contiguous. This usually results in a reduced
254:
computer was one of the first to implement segmentation, and "perhaps the first commercial computer to provide virtual memory" based on segmentation. The B5000 is equipped with a segment information table called the Program Reference Table (PRT) which is used to indicate whether the corresponding
213:
An implementation of virtual memory on a system using segmentation without paging requires that entire segments be swapped back and forth between main memory and secondary storage. When a segment is swapped in, the operating system has to allocate enough contiguous free memory to hold the entire
540:. If a program does not use the segment registers, or only puts values into them that it receives from the operating system, then identical code can run in real mode or protected mode, but most real-mode software computes new values for the segment registers, breaking this compatibility. 578:" (64-bit mode). Four of the segment registers: CS, SS, DS, and ES are forced to 0, and the limit to 2. The segment registers FS and GS can still have a nonzero base address. This allows operating systems to use these segments for special purposes such as thread-local storage. 459:
Each of IBM's DAT implementations includes a translation cache, which IBM called a Translation Lookaside Buffer (TLB). While Principles of Operation discusses the TLB in general terms, the details are not part of the architecture and vary from model to model.
479:(CR7), and to move data between the address spaces subject to protection key. DAS supports a translation table to convert a 16-bit address space number (ASN) to an STD, with privileged instructions to load the STD into CR1 (primary) or CR7 (secondary). 230:
for the segment. When a program references a memory location the offset is translated to a memory address using the page table. A segment can be extended by allocating another memory page and adding it to the segment's page table.
156:
is only allowed to make a reference into a segment if the type of reference is allowed by the permissions, and if the offset within the segment is within the range specified by the length of the segment. Otherwise, a
172:. In this case each segment has an associated flag indicating whether it is present in main memory or not. If a segment is accessed that is not present in main memory, an exception is raised, and the 90:
Segments usually correspond to natural divisions of a program such as individual routines or data tables so segmentation is generally more visible to the programmer than
1529: 982: 863: 1433: 901: 509:
hardware can add bank-switched memory under software control.) Intel retroactively named the sole operating mode of these x86 CPU models "
1094: 949: 1522: 137:, and for performing checks to make sure the translation can be done and that the reference to that segment and offset is permitted. 263:
computer also implemented segmentation; a version of its architecture is still in use today on the Unisys ClearPath Libra servers.
908: 1142: 956: 555:. In these processors, the segment table, rather than pointing to a page table for the segment, contains the segment address in 129:
In a system using segmentation, computer memory addresses consist of a segment id and an offset within the segment. A hardware
210:. When a program references a memory location, the offset is added to the segment base to generate a physical memory address. 1515: 1486: 1290: 1114: 1066: 602: 121:) and data they are using. It was intended to increase reliability of the systems running multiple processes simultaneously. 44: 536:
features, an 80286 or later processor must be switched into "protected mode" by software, usually the operating system or a
1476: 187:
is another, and they can be combined. The size of a memory segment is generally not fixed and may be as small as a single
1496: 1058: 847: 718: 442:
and an invalid bit. IBM later expanded the address size to 31 bits and added two bits to the segment table entries:
17: 285:, begun in 1975, attempted to implement a true segmented architecture with memory protection on a microprocessor. 1313: 1087: 818: 800:
Intel 64 and IA-32 Architectures Software Developer's Manual Volume 3 (3A, 3B & 3C): System Programming Guide
1438: 198:
does not fit either model and is discussed separately below, and also in greater detail in a separate article.
882: 471:(DAS), which allows a program to switch between the translation tables for two address spaces, referred to as 206:
Associated with each segment is information that indicates where the segment is located in memory— the
1538: 1298: 1136: 409: 348: 1275: 560: 1691: 1643: 1456: 1343: 1333: 1323: 1176: 1080: 260: 67:
using segmentation, a reference to a memory location includes a value that identifies a segment and an
1638: 1607: 1402: 215: 68: 380:
indicating whether the data are present in memory. There are distinct data and program descriptors.
1555: 1262: 1053:
Operating Systems: Internals and Design Principles by William Stallings. Publisher: Prentice Hall.
194:
Segmentation has been implemented several ways on various hardware, with or without paging. Intel
1466: 1328: 1303: 1209: 798: 622: 488: 376:, B5500 and B5700 reside in either the Program Reference Table (PRT) or the stack, and contain a 251: 195: 1612: 1280: 1232: 1130: 533: 239:
amount of input/output between primary and secondary storage and reduced memory fragmentation.
184: 130: 1308: 612: 248: 64: 1047: 777: 1622: 300: 218:
results if there is not enough contiguous memory even though there may be enough in total.
95: 1046:
IA-32 Intel Architecture Software Developer’s Manual Volume 3A: System Programming Guide.
27:
The division of computer's primary memory into separately relocatable segments or sections
8: 1570: 153: 114: 819:"The Architecture of the Burroughs B5000 - 20 Years Later and Still Ahead of the Times?" 1665: 1653: 1560: 1428: 1412: 1338: 688: 607: 162: 158: 84: 76: 1024: 757: 1670: 1507: 1204: 1103: 1062: 1054: 843: 714: 597: 532:). In order to use its full 24-bit (16 MiB) physical address space and advanced 502: 180: 1026:
AMD64 Technology AMD64 Architecture Programmer's Manual Volume 2: System Programming
759:
AMD64 Technology AMD64 Architecture Programmer's Manual Volume 2: System Programming
692: 1648: 1381: 1376: 1219: 678: 525: 438: 173: 134: 118: 41: 30:
This article is about segmented computer memory. For segments in object code, see
1371: 1270: 506: 455:
The segment is shared between address spaces; this bit is set to optimize TLB use
304: 110: 226:
Instead of a memory location, the segment information includes the address of a
1658: 1602: 1575: 1386: 1353: 1348: 1194: 1153: 617: 548: 521: 434: 296: 282: 235: 169: 52: 1685: 1592: 1363: 1166: 1161: 552: 308: 271: 80: 71:(memory location) within that segment. Segments or sections are also used in 274:
with segmentation and paging support added, was designed in 1964 to support
1582: 978: 938:(Eleventh ed.). IBM. September 1987. pp. 3-20–3-38. GA22-7000-10. 592: 537: 256: 103: 99: 683: 666: 1617: 1597: 1407: 1007: 983:"Everything You Need To Know To Start Programming 64-Bit Windows Systems" 587: 529: 517: 72: 31: 667:"Program Organization and Record Keeping for Dynamic Storage Allocation" 397: 336: 1565: 1171: 544: 498: 312: 289: 227: 964:(Second ed.). IBM. January 1987. pp. 3-13–3-14. SA22-7085-1. 1318: 1199: 575: 510: 1072: 740: 1252: 1247: 1237: 1227: 464: 133:(MMU) is responsible for translating the segment and offset into a 48: 1242: 641:
Models 115, 125, 135, 138, 145, 148, 155 II, 158, 165 II, and 168
275: 551:", which uses 32-bit addressing, retains segmentation, and adds 571: 564: 267: 140:
Each segment has a length and set of permissions (for example,
91: 567:
or use the FS or GS registers to access thread-local storage.
373: 316: 958:
IBM System/370 Extended Architecture Principles of Operation
776:
Arpaci-Dusseau, Remzi H.; Arpaci-Dusseau, Andrea C. (2014).
775: 739:
Glaser, Edward L.; Couleur, John F.; Oliver, G. A. (1965).
188: 711:
The architecture of computer hardware and systems software
176:
will read the segment into memory from secondary storage.
109:
Segmentation was originally invented as a method by which
1048:
http://www.intel.com/products/processor/manuals/index.htm
917: 742:
System Design of a Computer for Time Sharing Applications
494: 437:
models with virtual storage (DAT) and 24-bit addresses,
765:. Vol. 2. Advanced Micro Devices. 2018. p. 5. 327: 1537: 1115:
Memory management as a function of an operating system
973: 971: 1001: 999: 255:
segment resides in the main memory, to maintain the
738: 106:. Certain segments may be shared between programs. 968: 467:processor complexes, IBM offered a feature called 996: 1683: 574:architecture does not support segmentation in " 920:. September 1974. pp. 57–68. GA22-7000-4. 201: 1523: 1088: 1434:International Symposium on Memory Management 1032:. Vol. 2. Advanced Micro Devices. 2018. 977: 734: 732: 730: 704: 702: 501:, provide crude memory segmentation and no 221: 179:Segmentation is one method of implementing 94:alone. Segments may be created for program 1530: 1516: 1095: 1081: 929: 927: 660: 658: 124: 865:Introduction to the IAPX 432 Architecture 806:. Intel Corporation. 2012. pp. 3–13. 727: 708: 682: 98:, or for classes of memory usage such as 699: 388: 1008:"ELF Handling For Thread-Local Storage" 1005: 942: 924: 655: 259:and the size of the segment. The later 168:Segments may also be used to implement 14: 1684: 936:IBM System/370 Principles of Operation 910:IBM System/370 Principles of Operation 884:BiiN CPU Architecture Reference Manual 871:. Intel Corporation. 1981. p. 78. 840:Computer Architecture and Organization 769: 745:. 1965 Fall Joint Computer Conference. 1511: 1102: 1076: 837: 603:Memory management (operating systems) 428: 319:) computers use memory segmentation. 894: 785:Operating Systems: Three Easy Pieces 664: 392: 331: 328:Burroughs large system architectures 1143:Input–output memory management unit 482: 75:of compiled programs when they are 24: 1017: 25: 1703: 1040: 816: 749: 1492: 1491: 1482: 1481: 1472: 1471: 1462: 1461: 1452: 1451: 396: 335: 270:computer, a modification of the 1314:Concurrent mark sweep collector 934:"Dynamic Address Translation". 875: 635: 497:processors, beginning with the 1439:Region-based memory management 1006:Drepper, Ulrich (2013-08-22). 856: 831: 810: 791: 547:and later processors add "386 520:and later processors add "286 13: 1: 916:. Systems (Fourth ed.). 902:"Dynamic Address Translation" 648: 1539:Application binary interface 1487:Memory management algorithms 1299:Automatic Reference Counting 1137:Translation lookaside buffer 842:. McGraw-Hill. p. 371. 7: 1477:Automatic memory management 1276:C dynamic memory allocation 581: 561:executable space protection 322: 202:Segmentation without paging 10: 1708: 1644:Foreign function interface 1497:Memory management software 1344:Tracing garbage collection 1177:Virtual memory compression 563:on processors lacking the 486: 242: 29: 1639:Binary-code compatibility 1631: 1608:Position-independent code 1546: 1447: 1421: 1395: 1362: 1289: 1261: 1218: 1185: 1152: 1123: 1110: 756:"1.2 Memory Management". 671:Communications of the ACM 288:The 960MX version of the 1271:Static memory allocation 1263:Manual memory management 665:Holt, Anatol W. (1961). 628: 383: 367: 222:Segmentation with paging 152:) associated with it. A 47:technique of dividing a 1329:Garbage-first collector 1304:Boehm garbage collector 1210:x86 memory segmentation 838:Hayes, John P. (1978). 787:. Arpaci-Dusseau Books. 713:(3rd ed.). Wiley. 709:Englander, Irv (2003). 623:x86 memory segmentation 489:x86 memory segmentation 477:secondary address space 196:x86 memory segmentation 125:Hardware implementation 113:could isolate software 1334:Mark–compact algorithm 1131:Memory management unit 817:Mayer, Alastair J. W. 446:Segment-protection bit 131:memory management unit 83:and when the image is 684:10.1145/366786.366795 613:Virtual address space 473:primary address space 389:Multics architectures 249:Burroughs Corporation 234:An implementation of 1623:Virtual method table 1281:new and delete (C++) 465:3031, 3032, and 3033 449:Segment is read-only 216:memory fragmentation 1588:Memory segmentation 1187:Memory segmentation 372:Descriptors in the 38:Memory segmentation 1561:Calling convention 1429:Automatic variable 1413:Unreachable memory 1339:Reference counting 1309:Cheney's algorithm 1291:Garbage collection 890:. BiiN. July 1998. 608:Segmentation fault 469:Dual-address Space 463:Starting with the 452:Common-segment bit 429:S/370 architecture 408:. You can help by 347:. You can help by 163:segmentation fault 159:hardware exception 1692:Memory management 1679: 1678: 1671:Year 2038 problem 1505: 1504: 1457:Memory management 1205:Virtual 8086 mode 1104:Memory management 1067:978-0-13-147954-8 598:Flat memory model 503:memory protection 426: 425: 365: 364: 181:memory protection 45:memory management 16:(Redirected from 1699: 1649:Language binding 1532: 1525: 1518: 1509: 1508: 1495: 1494: 1485: 1484: 1475: 1474: 1465: 1464: 1455: 1454: 1382:Dangling pointer 1377:Buffer over-read 1349:Strong reference 1220:Memory allocator 1097: 1090: 1083: 1074: 1073: 1034: 1033: 1031: 1021: 1015: 1014: 1012: 1003: 994: 993: 991: 990: 975: 966: 965: 963: 954: 950:"Address spaces" 946: 940: 939: 931: 922: 921: 915: 906: 898: 892: 891: 889: 879: 873: 872: 870: 860: 854: 853: 835: 829: 828: 826: 825: 814: 808: 807: 805: 795: 789: 788: 782: 773: 767: 766: 764: 753: 747: 746: 736: 725: 724: 706: 697: 696: 686: 662: 642: 639: 526:high memory area 483:x86 architecture 439:control register 421: 418: 400: 393: 360: 357: 339: 332: 174:operating system 135:physical address 79:together into a 42:operating system 21: 18:Segment (memory) 1707: 1706: 1702: 1701: 1700: 1698: 1697: 1696: 1682: 1681: 1680: 1675: 1627: 1548: 1542: 1536: 1506: 1501: 1443: 1417: 1391: 1372:Buffer overflow 1358: 1285: 1257: 1214: 1181: 1148: 1119: 1106: 1101: 1043: 1038: 1037: 1029: 1023: 1022: 1018: 1010: 1004: 997: 988: 986: 976: 969: 961: 952: 948: 947: 943: 933: 932: 925: 913: 904: 900: 899: 895: 887: 881: 880: 876: 868: 862: 861: 857: 850: 836: 832: 823: 821: 815: 811: 803: 797: 796: 792: 780: 774: 770: 762: 755: 754: 750: 737: 728: 721: 707: 700: 677:(10): 422–431. 663: 656: 651: 646: 645: 640: 636: 631: 584: 507:expanded memory 491: 485: 431: 422: 416: 413: 406:needs expansion 391: 386: 370: 361: 355: 352: 345:needs expansion 330: 325: 245: 224: 214:segment. Often 204: 127: 111:system software 65:computer system 35: 28: 23: 22: 15: 12: 11: 5: 1705: 1695: 1694: 1677: 1676: 1674: 1673: 1668: 1663: 1662: 1661: 1651: 1646: 1641: 1635: 1633: 1632:Related topics 1629: 1628: 1626: 1625: 1620: 1615: 1610: 1605: 1603:Opaque pointer 1600: 1595: 1590: 1585: 1580: 1579: 1578: 1568: 1563: 1558: 1552: 1550: 1544: 1543: 1535: 1534: 1527: 1520: 1512: 1503: 1502: 1500: 1499: 1489: 1479: 1469: 1467:Virtual memory 1459: 1448: 1445: 1444: 1442: 1441: 1436: 1431: 1425: 1423: 1419: 1418: 1416: 1415: 1410: 1405: 1399: 1397: 1393: 1392: 1390: 1389: 1387:Stack overflow 1384: 1379: 1374: 1368: 1366: 1360: 1359: 1357: 1356: 1354:Weak reference 1351: 1346: 1341: 1336: 1331: 1326: 1321: 1316: 1311: 1306: 1301: 1295: 1293: 1287: 1286: 1284: 1283: 1278: 1273: 1267: 1265: 1259: 1258: 1256: 1255: 1250: 1245: 1240: 1235: 1230: 1224: 1222: 1216: 1215: 1213: 1212: 1207: 1202: 1197: 1195:Protected mode 1191: 1189: 1183: 1182: 1180: 1179: 1174: 1169: 1164: 1158: 1156: 1154:Virtual memory 1150: 1149: 1147: 1146: 1140: 1134: 1127: 1125: 1121: 1120: 1118: 1117: 1111: 1108: 1107: 1100: 1099: 1092: 1085: 1077: 1071: 1070: 1051: 1042: 1041:External links 1039: 1036: 1035: 1016: 995: 967: 941: 923: 893: 874: 855: 848: 830: 809: 790: 778:"Segmentation" 768: 748: 726: 719: 698: 653: 652: 650: 647: 644: 643: 633: 632: 630: 627: 626: 625: 620: 618:Virtual memory 615: 610: 605: 600: 595: 590: 583: 580: 549:protected mode 522:protected mode 487:Main article: 484: 481: 457: 456: 453: 450: 447: 435:IBM System/370 430: 427: 424: 423: 403: 401: 390: 387: 385: 382: 369: 366: 363: 362: 342: 340: 329: 326: 324: 321: 283:Intel iAPX 432 244: 241: 236:virtual memory 223: 220: 203: 200: 170:virtual memory 126: 123: 53:primary memory 26: 9: 6: 4: 3: 2: 1704: 1693: 1690: 1689: 1687: 1672: 1669: 1667: 1664: 1660: 1657: 1656: 1655: 1652: 1650: 1647: 1645: 1642: 1640: 1637: 1636: 1634: 1630: 1624: 1621: 1619: 1616: 1614: 1611: 1609: 1606: 1604: 1601: 1599: 1596: 1594: 1593:Name mangling 1591: 1589: 1586: 1584: 1581: 1577: 1574: 1573: 1572: 1569: 1567: 1564: 1562: 1559: 1557: 1554: 1553: 1551: 1545: 1540: 1533: 1528: 1526: 1521: 1519: 1514: 1513: 1510: 1498: 1490: 1488: 1480: 1478: 1470: 1468: 1460: 1458: 1450: 1449: 1446: 1440: 1437: 1435: 1432: 1430: 1427: 1426: 1424: 1420: 1414: 1411: 1409: 1406: 1404: 1403:Fragmentation 1401: 1400: 1398: 1394: 1388: 1385: 1383: 1380: 1378: 1375: 1373: 1370: 1369: 1367: 1365: 1364:Memory safety 1361: 1355: 1352: 1350: 1347: 1345: 1342: 1340: 1337: 1335: 1332: 1330: 1327: 1325: 1322: 1320: 1317: 1315: 1312: 1310: 1307: 1305: 1302: 1300: 1297: 1296: 1294: 1292: 1288: 1282: 1279: 1277: 1274: 1272: 1269: 1268: 1266: 1264: 1260: 1254: 1251: 1249: 1246: 1244: 1241: 1239: 1236: 1234: 1231: 1229: 1226: 1225: 1223: 1221: 1217: 1211: 1208: 1206: 1203: 1201: 1198: 1196: 1193: 1192: 1190: 1188: 1184: 1178: 1175: 1173: 1170: 1168: 1167:Memory paging 1165: 1163: 1162:Demand paging 1160: 1159: 1157: 1155: 1151: 1144: 1141: 1138: 1135: 1132: 1129: 1128: 1126: 1122: 1116: 1113: 1112: 1109: 1105: 1098: 1093: 1091: 1086: 1084: 1079: 1078: 1075: 1068: 1064: 1060: 1059:0-13-147954-7 1056: 1052: 1049: 1045: 1044: 1028: 1027: 1020: 1009: 1002: 1000: 984: 980: 974: 972: 960: 959: 951: 945: 937: 930: 928: 919: 912: 911: 903: 897: 886: 885: 878: 867: 866: 859: 851: 849:0-07-027363-4 845: 841: 834: 820: 813: 802: 801: 794: 786: 779: 772: 761: 760: 752: 744: 743: 735: 733: 731: 722: 720:0-471-07325-3 716: 712: 705: 703: 694: 690: 685: 680: 676: 672: 668: 661: 659: 654: 638: 634: 624: 621: 619: 616: 614: 611: 609: 606: 604: 601: 599: 596: 594: 591: 589: 586: 585: 579: 577: 573: 568: 566: 562: 558: 557:linear memory 554: 553:memory paging 550: 546: 541: 539: 535: 531: 527: 523: 519: 514: 512: 508: 504: 500: 496: 490: 480: 478: 474: 470: 466: 461: 454: 451: 448: 445: 444: 443: 440: 436: 420: 411: 407: 404:This section 402: 399: 395: 394: 381: 379: 375: 359: 350: 346: 343:This section 341: 338: 334: 333: 320: 318: 314: 310: 309:IBM System/38 306: 302: 298: 294: 291: 286: 284: 279: 277: 273: 269: 264: 262: 258: 253: 250: 240: 237: 232: 229: 219: 217: 211: 209: 199: 197: 192: 190: 186: 182: 177: 175: 171: 166: 164: 160: 155: 151: 147: 143: 138: 136: 132: 122: 120: 116: 112: 107: 105: 104:data segments 101: 100:code segments 97: 93: 88: 87:into memory. 86: 82: 81:program image 78: 74: 70: 66: 62: 58: 54: 50: 46: 43: 39: 33: 19: 1587: 1583:Machine code 1186: 1025: 1019: 987:. Retrieved 981:(May 2006). 979:Matt Pietrek 957: 944: 935: 909: 896: 883: 877: 864: 858: 839: 833: 822:. Retrieved 812: 799: 793: 784: 771: 758: 751: 741: 710: 674: 670: 637: 593:Data segment 569: 556: 542: 538:DOS extender 515: 492: 476: 472: 468: 462: 458: 432: 417:January 2024 414: 410:adding to it 405: 378:presence bit 377: 371: 356:January 2024 353: 349:adding to it 344: 295: 287: 280: 265: 257:base address 246: 233: 225: 212: 208:segment base 207: 205: 193: 178: 167: 149: 145: 141: 139: 128: 108: 89: 73:object files 60: 56: 37: 36: 1618:System call 1598:Object code 1549:conventions 1408:Memory leak 985:. Microsoft 588:BSS Segment 530:unreal mode 518:Intel 80286 315:(including 165:is raised. 32:Object file 1613:Relocation 1566:Call stack 1172:Page table 989:2023-04-18 824:2012-03-15 649:References 545:Intel i386 499:Intel 8086 475:(CR1) and 313:IBM AS/400 290:Intel i960 228:page table 161:such as a 1556:Alignment 1319:Finalizer 1200:Real mode 576:long mode 511:real mode 115:processes 1686:Category 1253:ptmalloc 1248:mimalloc 1238:jemalloc 1228:dlmalloc 1124:Hardware 693:18973700 582:See also 323:Examples 61:sections 57:segments 49:computer 1659:dynamic 1571:Library 1324:Garbage 1243:libumem 1145:(IOMMU) 433:In the 301:Stratus 276:Multics 243:History 154:process 150:execute 96:modules 63:. In a 1666:Loader 1654:Linker 1576:static 1547:Parts, 1396:Issues 1065:  1057:  846:  717:  691:  572:x86-64 565:NX bit 493:Early 311:, and 305:Apollo 272:GE-635 268:GE 645 185:Paging 92:paging 85:loaded 77:linked 69:offset 40:is an 1541:(ABI) 1422:Other 1233:Hoard 1139:(TLB) 1133:(MMU) 1030:(PDF) 1011:(PDF) 962:(PDF) 953:(PDF) 914:(PDF) 905:(PDF) 888:(PDF) 869:(PDF) 804:(PDF) 781:(PDF) 763:(PDF) 689:S2CID 629:Notes 384:B6500 374:B5000 368:B5000 317:IBM i 297:Prime 261:B6500 252:B5000 146:write 119:tasks 55:into 1063:ISBN 1055:ISBN 844:ISBN 715:ISBN 570:The 543:The 516:The 281:The 266:The 247:The 189:byte 142:read 102:and 918:IBM 679:doi 534:MMU 513:". 495:x86 412:. 351:. 59:or 51:'s 1688:: 1061:. 998:^ 970:^ 955:. 926:^ 907:. 783:. 729:^ 701:^ 687:. 673:. 669:. 657:^ 528:, 307:, 303:, 299:, 278:. 191:. 183:. 148:, 144:, 1531:e 1524:t 1517:v 1096:e 1089:t 1082:v 1069:. 1050:. 1013:. 992:. 852:. 827:. 723:. 695:. 681:: 675:4 419:) 415:( 358:) 354:( 117:( 34:. 20:)

Index

Segment (memory)
Object file
operating system
memory management
computer
primary memory
computer system
offset
object files
linked
program image
loaded
paging
modules
code segments
data segments
system software
processes
tasks
memory management unit
physical address
process
hardware exception
segmentation fault
virtual memory
operating system
memory protection
Paging
byte
x86 memory segmentation

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑