프로그래밍 QnA

jtylor의 이미지

커널에서 dentry 증가이유가 무엇인지요?

사이트 한곳에서 메모리가 꾸준히 증가한다해서 살펴봤는데.
프로세스가 아니라 커널쪽에서 사용하고 있더라구요.

1기가 메모리를 가진 장비인데 250메가 이상을 커널에서 사용하고 있었습니다.

# slabtop

Active / Total Objects (% used) : 2705315 / 2720363 (99.4%)
Active / Total Slabs (% used) : 71391 / 71391 (100.0%)
Active / Total Caches (% used) : 48 / 56 (85.7%)
Active / Total Size (% used) : 284944.78K / 286239.05K (99.5%)
Minimum / Average / Maximum Object : 0.01K / 0.10K / 4.00K

mani85의 이미지

Gadget driver 질문

안녕하세요 타겟(2.6.38-8)의 gadget driver에서

ECM과ACM을 composite device로 구성한 g_cdc.ko 모듈을

올렸는데요.

윈도우에서 CDC Composite gadget이라고 새하드웨어가 뜹니다.

하지만 윈도우 .inf 파일이 필요한거 같은데... 어떻게 구할 수 있죠?

declspec의 이미지

무선랜 BSSID 를 왜 따로쓰는가?

무선랜에서 BSSID 라는것이 있는데
이것이 대부분 AP 의 맥주소와 동일하던데(다를때도 있고)
AP를 식별하려는것이면 맥주소를 쓰면될걸 왜
BSSID 라는 것을 따로 만들었을까요?

declspec의 이미지

무선랜 헤더

무선랜의 헤더길이는 30바이트라고 알고있었는데
실험을 하다보니 32바이트일때도 있고 30바이트일때도 있더군요??

관련 문서나 그런곳에는 그냥 30바이트로만 나와있는데
32바이트인경우 패킷덤프를 분석하니 reserved 라고 된곳이 사용되는거같은데...
제가 본 문서가 1996년도꺼라 요즘 뭔가 바뀐거같네요

무선랜 헤더길이와 헤더구조에 대해서
최신버전으로 자세하게 알수있느 문서나 자료같은것 없을까요?
구글링 해도 찾기 어렵네요 ㅠㅠ

익명 사용자의 이미지

ARM cpu의 linux 커널 소스 head.S에서 str 명령어 동작을 모르겠습니다

일단 str 인스트럭션 동작을 잘 모르겠습니다
ARM System Developer's Guide에서의 설명을 보면,

; store the contents of register r0 to the memory address pointed to by register r1.
STR r0, [r1] ; = STR r0, [r1, #0]

The instruction goes the other way by storing the contents of register
r0 to the address contained in register r1. The offset from register r1 is zero. Register r1 is
called the base address register.

idrukawa의 이미지

ksh 스크립트 작성 질문드립니다.

ip_list="192.168.10.1 192.168.10.2 192.168.10.3"

라는 변수를 만들었습니다.

for 문으로 이것을 출력할때 192.168.10.1 첫 번 째는 출력하지 않으려고 하는데요

어떻게 해야 하나요?

for print in $ip_list; do

echo $print

done

하면 3개 다 출력이 되어 버립니다.

jms_jms의 이미지

[완료] timeout 함수를 등록하려고 하는데, 좋은 방법 좀 추천해주세요!! [hash node삭제 시]

안녕하세요? 초보 개발자 입니다. ㅠ,ㅠ.
어플리케이션에서 Hash에 특정 node를 등록한 뒤에 해당 node를 참조를 한 시간이 일정 시간을 초과한 경우에 해당 node를 삭제하는 것을 생각중에 있는데... 딱히 좋은 방법이 떠오르지 않아서 고민중에 있습니다.
node등록할때마다 signal을 등록해서 해야 하는건가요? 이건 솔직히 무리수 인듯 보여서..ㅠ,ㅠ.
좋은 방법이 없을까요?
허접한 질문일지 모르지만, 답변 부탁합니다. 아니면 특정 time-slice를 주기로 hash를 traverse 해야 하는건가요? 이럴경우 O(n)에 해당하는 성능을 발생시킬 것 같아서 ㅠ,.ㅠ
어떤 방법이 효율적인지 몰라서 이렇게 질문을 올립니다.
아니면 ref할 수 있는 site라도 좀 추천 부탁드립니다.

감사합니다.

익명 사용자의 이미지

제가 배운것 시험코자 프로그램을 만들다가 말이죠,,,

특수문자,,,,

그러니깐 ○☆

이런종류의 특수문자를

printf("○");

이런 식으로 출력을 했습니다...

그런데 문제는 말이죠,,,

printf("○");
printf("\b");
이렇게 해주면... ○가 지워질 줄 알았는데 지워지지가 않는다는 겁니다...

어떻게 지울 수 있을까요,,?

익명 사용자의 이미지

커널 모드에서 커널 루틴이 호출되는 경우

커널 모드에서 커널 루틴이 호출되어 커널 소스가 실행되는 경우는
다음과 같다고 합니다

1. 프로세스에서 시스템 콜을 호출한 경우, 시스템 콜
2. 프로세스에서 예외를 발생시킨 경우, 예외 처리
3. 하드웨어가 CPU에 인터럽트 시그널을 보낸 경우, 인터럽트 핸들러
4. 커널 스레드를 실행한 경우

모듈 프로그램을 작성하여 실행시키면,

$ insmod test.ko

module_init()에 등록한,
test_init() 함수가 호출되면서
커널 모드에서 커널 루틴을 호출하여 커널 소스를 실행시킬 수 있습니다

이 경우는 위의 4가지 경우 중 어느 경우에 해당하나요?

답변 주시면 감사하겠습니다

gurumong의 이미지

어느정도 까지 데이터를 꼼꼼하게 검사해야할까요?

보통 프로그램 외부로 부터 받은 데이터가 유효한지에 대한 검사는 당연한것으로 알고있습니다
하지만 프로그램 내부적으로 처리되는 데이터는 어느정도까지 믿어야하는것인가요?

예를 들면 사용자로 부터 어떤 입력 값을 받고 그 데이터가 유효한지 체크한다음...
다음 작업을 위해 그 데이터를 어떤 함수로 넘겼습니다
그리고 그 함수 내부에서 조차 파라미터로 받은 데이터가 함수내부에서 처리하기 적절한지 또 값의 범위검사라던지 그런것들을 거칩니다

결과적으로는 똑같지는 안지만 비슷한 작업을 두번 세번 반복해서 처리하게 되는데요
이러한것이 프로그램과 프로그래머의 효율을(시간적, 에너지적!?) 낮추는것 같습니다

이것에 대해서 제가 알아야할것이 무엇이 있을까요?
작은 고민인데, 자꾸 신경이 쓰이는 문제라 답을 듣고 싶습니다 T.T

페이지

프로그래밍 QnA 구독하기