1
0
mirror of https://github.com/Snailclimb/JavaGuide synced 2025-06-16 18:10:13 +08:00

Update operating-system-basic-questions-02.md

This commit is contained in:
paigeman 2023-06-25 10:07:06 +08:00 committed by GitHub
parent 2f262ab8a5
commit 43145485af
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -33,7 +33,7 @@ head:
内存碎片是由内存的申请和释放产生的,通常分为下面两种:
- **内部内存碎片(Internal Memory Fragmentation简称为内存碎片)**:已经分配给进程使用但未被使用的内存。导致内部内存碎片的主要原因是,当采用固定比例比如 2 的幂次方进行内存分配时,进程所分配的内存可能会比其实际所需要的大。举个例子,一个进程只需要 65 字节的内存,但为其分配了 1282^7 大小的内存,那 63 字节的内存就成为了内部内存碎片。
- **外部内存碎片(External Memory Fragmentation简称为外部碎片)**:由于未分配的连续内存区域太小,以至于不能满足任意进程所需要的内存分配请求,这些小片段且不连续的内存空间被称为外部碎片。也就是说,外部内存碎片指的是那些并分配给进程但又不能使用的内存。我们后面介绍的分段机制就会导致外部内存碎片。
- **外部内存碎片(External Memory Fragmentation简称为外部碎片)**:由于未分配的连续内存区域太小,以至于不能满足任意进程所需要的内存分配请求,这些小片段且不连续的内存空间被称为外部碎片。也就是说,外部内存碎片指的是那些并分配给进程但又不能使用的内存。我们后面介绍的分段机制就会导致外部内存碎片。
![内存碎片](https://oss.javaguide.cn/github/javaguide/cs-basics/operating-system/internal-and-external-fragmentation.png)