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:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.