kmalloc

    2

    3답변

    를 구조체의 데이터에 액세스 할 수 없습니다 : 우리는 시도로 가 // 그러나 static const contain _vector = { .a = "John", .allowed = 1, .suit = { .t = { .option = "ON", .count = 7 }, .inner = { .o

    0

    1답변

    리눅스 장치 드라이버 (http://lwn.net/Kernel/LDD3/)에서 예제를 연구 중이며,이 컨텍스트에서 memset 함수의 유용성과 유용성을 이해하지 못한다. 누군가 나에게 설명해 줄 수있다. kmalloc을 사용하여 장치 구조에 메모리를 할당하고 memset에 메모리 주소 앞에 0을 넣는 것으로 알고 있습니다. int scull_p_init(d

    0

    1답변

    과제에서 나는 카드 더미를위한 장치 드라이버를 만들어야합니다. 그러나 구조체의 배열에 kmalloc 사용하여 문제가 있습니다. 갑판 및 크기 (52)의 나는 지금까지 다음 한 구조체의 배열 (분명히 그것은 불완전) : #include <linux/slab.h> // kmalloc() #include <linux/fs.h> // everything

    0

    1답변

    new을 사용한 메모리 할당이 malloc 인 각 유형 생성자 및 메모리 할당을 호출하는 것으로 알려져 있습니다. 그러나 kmalloc은 어떨까요? 일부 시스템 호출을 개발하려고하는데 메모리를 아래 구조에 할당해야합니다. 내가 kmalloc이 함께 메모리를 할당 할 경우 struct mailbox{ unsigned long existing_mess

    0

    1답변

    kmalloc과 vmalloc에서 이미 많은 스레드가 실행되고 있지만 정확한 대답을 얻지 못 했으므로 여기에 넣겠습니다. 는 지금까지 내가 알고 kmalloc이 : 그것은 물리적으로뿐만 아니라 실질적으로 연속 된 메모리를 할당하는 커널 API입니다. vmalloc : 물리적으로 인접하지 않지만 가상적으로 인접한 메모리를 할당하는 커널 API입니다. 내 질문

    1

    2답변

    물리적으로 연속적인 메모리 영역은 사실상 연속적인 메모리보다 더 효율적이라고합니다. Robert Love의 저서에 따르면 커널은 물리적으로 인접한 메모리를위한 페이지 테이블 항목을 설정할 필요가 없다고합니다. 그러나 모든 시나리오에서 커널이 페이지 테이블을 필요로하지 않습니까? 따라서 가상적으로 인접한 메모리의 경우 생성해야하는 페이지 테이블 항목.

    2

    1답변

    저는 커널 드라이버 프로그래밍에 익숙하지 않으며 몇 가지 측면을 이해하고 싶습니다. 아래의 코드에서 static int ocores_i2c_probe(struct platform_device *pdev) { struct ocores_i2c *i2c; i2c = devm_kzalloc(&pdev->dev, sizeof(*i2c), GFP_

    3

    1답변

    Linux에서 DMA 장치 용 장치 드라이버를 쓰고 있습니다. Linux Device Drivers, Chapter 15에서는 말한다 제한 이런 종류의 장치 용 는 메모리가 인 kmalloc에 ​​GFP_DMA 플래그를 추가하거나 get_free_pages 호출하여 DMA 영역에서 할당한다. 이 플래그가 존재하면, 이 24 비트로 주소 지정 될 수있는 메모

    0

    1답변

    리눅스의 장치 드라이버에 kmalloc이라는 메모리 블록을 할당하려고합니다. 내가받는 주소는 0xffff880000180000입니다. 46 비트 물리적 주소 공간이있는 IvyBridge 프로세서를 사용하고 있습니다. 이는 CPU가 46 개 이상의 어드레싱 핀을 가지지 않으므로 0x00003fffffffffff 이상의 모든 주소에 액세스 할 수 없음을 의미합

    5

    2답변

    다른 것들 중에서도 kmalloc으로 메모리 블록을 할당하는 장치 드라이버를 작성하고 있습니다. 이 메모리는 사용자 프로그램이 파일을 닫을 때 해제됩니다. 내 실험 중 하나에서 파일을 닫지 않고 사용자 프로그램이 중단되었습니다. 아무 것도이 메모리를 해제 했습니까? 다른 실험에서는 close() 함수에서 module_exit() 함수로 이동했습니다. 사용자