달력

5

« 2024/5 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
2011. 10. 19. 00:34

kfree() OS이야기2011. 10. 19. 00:34

kmalloc과 반대되는 함수로 kfree()로 이것은 <linux/slab.h>에 선언되어 있다.
void kfree(const void *ptr);

인터럽트 핸들러에서 메모리를 할당하는 예를 들어보자. 이 예제에서는 인터럽트 핸들러가 버퍼를 할당하여 입력 데이터를 담으려 한다. 버퍼의 크기는 BUF_SIZE에 바이트 단위로 정의되어 있는데, 2바이트 이상으 ㅣ값이라 가정하면

char *buf;
buf = kmalloc(BUF_SIZE, GFP_ATOMIC);
if(!buf)
  /*메모리할당 오류 */

나중에 메모리가 더 필요치 않게되면 잊지말고 해제해야 한다.
kfree(buf); 

'OS이야기' 카테고리의 다른 글

슬랩 레이어  (0) 2011.10.19
vmalloc()  (0) 2011.10.19
kmalloc()  (0) 2011.10.19
페이지 얻기  (0) 2011.10.18
영역(Zone)  (0) 2011.10.18
:
Posted by НooпeУ


Code Start Code End