프로그래밍 QnA

waka@Google의 이미지

C++이나 C#에서 RAM내부의데이터를 다른위치로 옮기는 효율적인 방법이 있을까요?

RAM에 올라와있는 데이터중 대략 1~3GB정도의 데이터를 RAM의 다른 위치로 옮기는 작업을 하려고 합니다.
(여러번 반복해서 수행합니다)

Parallel.For문 안에서 Buffer.MemoryCopy함수를 이용해서 옮겨보니, CPU점유율도 너무 많이 사용하고, 시간도 오래걸리네요

지금 프로그램에서 다른 연산을 수행하느라 이미 점유율을 8~90%정도 사용하고있어서 리소스를 대기하느라

오래걸리는 것 같기도 합니다.

DMA같은 방식도 찾아보았는데, 이건 주변장치와 통신할때만 가능한 것으로 보이네요.

혹시 CPU점유율을 최소화 하거나, 빠른 속도로 RAM내부의 데이터를 다른 위치로 옮기는 방법을 아시는분이 있으실까요??

trymp의 이미지

linux kernel 에서 접근권한이 있는 포인터 주소인지 판별하는 함수가 있나요?


리눅스 버전은 4.4.xx 대를 사용하고 있고요

리눅스 커널에서 해당주소의 할당여부를 떠나서

주소값이 읽기접근이 가능한 주소인지 아닌지 확인하는 간단한 함수가 있을까요?

가령 0x001 같은 값은 딱봐도 읽기접근에도 유효한 주소가 아니자나요 ~

이런것을 검사하는 매크로나 함수가 있을까요?

알려주시면 감사하겠습니다.

zensjj의 이미지

C언어에서 스레드 사용

제가 비주얼 스튜디오에서 C언어로 스레드를 사용 해보고 싶은데 스레드 종류가 엄청 많은데
보통 어떤걸 주로 사용해서 스레드를 돌리나요?

trymp의 이미지

UDP 패킷도 사이즈가 중간에 짤릴수 있나요?

가령 PC A --> PC B 로 UDP 패킷을 보낸다고 할때

A에서 400byte(1개) 를 보냈는데 B에서 recvfrom() 했는데 150byte 만 읽어지는 경우가 있나요?

제가 테스트할때는 이런 경우를 못 봐서요

이런 경우가 발생할수 있는지 알려주시면 감사하겠습니다.

haoun1의 이미지

cuda, 드라이버에서 사용하는 메모리 pinning에 대해서 질문드립니다.

현재 진행중인 프로젝트에서 GPU cuda나 일부 장치 드라이버 서비스에서, 현재 장착중인 메모리가 page swap되지 않게 메모리 고정(pin)을 하는 기능을 사용하고 있습니다.

cuda에서는 cudaHostAlloc()함수를 사용하고, 커널 드라이버 에서는 mmProbeAndLockPages 함수를 사용합니다.

이렇게 가상 메모리로 스왑되지 않고 항상 physical 메모리에 상주하게끔 하는식으로 메모리를 사용해야 하는데, 이런식으로 할당 된 메모리가 어떤 영역에 있고, 얼마만큼 할당이 되어있는지 확인하는 방법이 있는지 궁금합니다.

현재 대략 128GB정도 해당 함수들로 할당을 해놓고 RamMap이나 ProcessExplorer에서 확인해보려고 하는데, 확인이 불가능한 것 같습니다. 혹시 아시는분 있으시면 방법을 공유해주시면 감사하겠습니다!!

익명 사용자의 이미지

리눅스 스크립트 질문드립니다.

고수님들 안녕하세요..
밑에 파일에서 여러 숫자를 동시에 치환을 해야하는데요!

5-?? 10-?? 15-??
4-?? 9-?? 14-??
3-?? 8-?? 13-??
2-?? 7-?? 12-??
1-?? 6-?? 11-??

입력 예)
read -p "숫자입력 : " ("1 2 8 11 15"를 입력 했을 때)

출력 예) (해당되는 자리를 "??"로 치환)
5-?? 10-?? ??
4-?? 9-?? 14-??
3-?? ?? 13-??
?? 7-?? 12-??
?? 6-?? ??

이렇게 숫자를 입력받아
sed를 사용하여 $REPLY에 해당 되는 자리($REPLY-??)를 "??"로 치환하려고 합니다.
sed가 하나씩 밖에 처리가 안되어 여러개를 처리하지 못하고 있는 상황인데
입력 갯수에 상관없이 "1 2 8 11 15" 이런식으로 입력을 받아 동시에 "??"로 치환 가능할지 여쭙니다..
부탁드립니다 고수님들 ㅠㅠ

zensjj의 이미지

다중 UDP 통신

안녕하십니까

Unity와 C 그리고 다른 기기에서 보내는 신호까지 동시에 3곳에서 UDP 통신을 해야하는 상황입니다.

요약하자면

센서값 -> Unity <-> C (센서는 Unity로 보내기만, Unity와 C는 서로 값 주고 받기)

이렇게 통신 중인데

처음 UDP 통신을 만드는데 2개도 겨우 했는데 3개를 동시에 하려니 잘 안됩니다.

일단 Unity에서

_udpClient1 = new UdpClient(1470); // 센서값 받는 포트
_udpClient2 = new UdpClient(1471); // C와 통신하는 포트

이렇게 포트 2개 만들고 통신하고 있는데 C와 Unity는 통신이 잘 되는데
Unity는 센서값을 잘 못 받는 것 같습니다.

이 통신을 꼭 성공하고 싶은데 찾아볼 사이트나 소스 또는 팁을 주시면 감사하겠습니다.

세벌의 이미지

메일 포워딩 전용 서버?

http://www.vinecenter.or.kr/page/page60 보다가 든 생각.
이메일 : vinecenter@naver.com
이라고 나오는데요.

여기서 질문.
admin@vinecenter.or.kr 로 메일 보내면
자동으로 vinecenter@naver.com 로 가도록 하려면
어떻게 서버를 구축하고 설정하면 되나요?

kkb의 이미지

shell script program에서 config 파일 처리 방법?

shell script program에서 config 파일 처리 방법?

예를 들어서,
설정값들을 적용하려면 아래와 같이 적용하면 됩니다.

trymp의 이미지

GFP_KERNEL 으로 할당한 메모리는 free 할때 sleep 가능성이 있나요?

ptr = kmalloc(24, GFP_KERNEL);
.
.
.
.
kfree(ptr);

위와 같을 때 GFP_KERNEL 타입으로 할당받으면 sleep 가능성이 있자나요

kfree 할때도 sleep 가능성이 있는지 궁금합니다.

알려주시면 감사하겠습니다.

페이지

프로그래밍 QnA 구독하기