프로그래밍 QnA

훌륭한녀석의 이미지

kernel thread에서 t_affinitycnt란 무엇인가요?

설명으로는 간단히

Quote:
t_affinitycnt Maintains CPU affinity (loose coupling to a specific processor, a best effort to keep a thread on the same CPU)

이렇게 되어있구요 코드에는
	void	(*t_startpc)(void);	/* PC where thread started */
	struct cpu *t_bound_cpu; /* cpu bound to, or NULL if not bound */
	short	t_affinitycnt;	/* nesting level of kernel affinity-setting */
	short	t_bind_cpu;	/* user-specified CPU binding (-1 if none) */

이렇게 되어 있습니다. 3번째 라인이 그 내용이네요. 이 내용은 솔라리스의 소스를 가져 왔습니다.
kkojiband의 이미지

부팅 초기에 로더 없이 c 파일 읽어올때...?

부트 로더로 보호 모드 진입 후 간단한 c파일을 읽어오게 하려고 하는데요,

전역 변수 사용할 때 문제가 있더군요...

어셈파일에서는 org 로 선언해서 offset 위치를 맞추면 되는데,

c에서는 어떻게 해야할까요??

첨엔,

ld -o ttt -Ttext 0x80000 -Tdata 0x80080 -e main ttt.o

이런 식으로 한 후에,

objcopy -R .comment -R .note -S -O binary ttt ttt.bin

이렇게 해봤는데, 문제는 objcopy 로 뽑아낸 파일이 이상합니다...--;

offset 0 ~ 80080 까지 모두가 파일에 쓰여지더군요...

woosungp의 이미지

ethernet protocol에서 data 부분의 내용을 알아내려고 합니다.

dhcp 에서 주고 받는 메시지들을 ethernet protocol의 패킷에서 dhcp format field값을 뽑아내는 함수를 만들려고 합니다.
알아내려고 하는 것들은 ciaddr, yiaddr ,request ip,dns,giaddr,option등
입니다.물론 field의 값을 다 알아낼수 있으면 더욱 좋지만..

저는 지금 커널 프로그래밍을 책을 보고 어찌해야할지 손을 못대고 있습니다.
skbuff에서 조작을 해야하는거 같다는 생각은 드는데 어디서부터 손을 대야할지 ..
프로그래밍에도 별로 재주가 없어 참 난감합니다.
힌트 좀 주셨으면 좋겠습니다.

geneven의 이미지

컴파일러 정보 얻을수 있는곳?

CPU제조회사에서 만든 컴파일러에 대한 한글로 된 자료를 구할수 있을까요?

iehwang의 이미지

[질문]공유메모리 문제

안녕하세요. 저는 황일억 이라고 합니다.

지리한 장마가 끝나고 본격적인 더위가 시작된다고 하네요..
벌써부터 걱정이... ㅡ.ㅡ

최근에 리눅스기반으로 해서 작업을 하고 있는데..
공유 메모리부분에서 문제가 생겨 이렇게 질문을 합니다.

두개의 타스크가 돌고 있습니다. 한쪽은 공유메모리에
특정 값( 어드레스 )을 써 넣는 타스크 이고 또 한 쪽은
공유메모리의 내용을 읽고 특정 일을 하라고 하는 메시지를 보내는
역활을 합니다.

+-----------------+

jinoos의 이미지

openssl 을 이용한 프로그래밍에서..

미리 진문의 요를 말씀드리겠습니다.
소스에 들어있는 pem 파일들을 생성하는 법을 모르겠습니다.

openssl 용 socket을 이용해서 데이터 전송을 하려고 합니다.

리눅스저널에 두개의 자료를 찾아서 해보고 있구요.
http://www.linuxjournal.com/article.php?sid=4822
http://www.linuxjournal.com/article.php?sid=5487
자료에서 사용된 파일은
http://www.rtfm.com/openssl-examples/openssl-examples-20020110.tar.gz
입니다.

의 소스를 수정해서 좀더 공부하려고 하는데..
*.pem 파일들 때문에 골머리를 싸고 있습니다.

장준영의 이미지

MSMQ를 사용한 프로그램을 유닉스 환경으로 포팅

질문의 요지는 MSMQ를 사용하여 구축한 시스템을 유닉스환경으로 포팅하려 하는데,
MSMQ에 대응하는 유닉스 환경에서의 솔루션은 어떤것이 있는가 입니다.

자세한 상황을 말씀드리자면,
원래 시스템은 (당연히) 모두 윈도우2000으로 구성되어 있습니다.

A 시스템에는 MSMQ 서버가 구성되어있고..
MQ에서 (주로 메시지를 꺼내오는) C++로 작성된 MQ클라이언트 프로그램이 있습니다.
B 시스템에는 MQ에서 (주로 메시지를 집어 넣는) ASP/VB로 작성된
MQ클라이언트 프로그램이 있습니다.

eunhasoo의 이미지

이런거 물어보면 욕 먹을텐뎅..

검색을 하는데 원하는 바를 찾을 수가 없어...
여쭤봅니다..

main()
{
    char    aaa[7];

    aaa[0] = '4';
    aaa[1] = '7';

    aaa[5] = '6';

    printf ("[%s]\n", aaa);
}


구현을 [47 6 ] 이렇게 하고 싶은데..

[0][1] 값은 이미 쓰는 것이고.. [5]배열에 새로운 문자를 집어 넣어야 합니다.
물론 중간부분은 공백이죠..

어떻게 값을 집어 넣을 수 있을까요?[/code]

윤형수의 이미지

fork가 계속 발생하네요..

간단한 프로그램을 작성해서 실행 시켰습니다.

실행시킨 후 ps -ef |grep test로 보면은..

12343 1 ./test
12344 12343 ./test
12346 12344 ./.test
12347 12344 ./.test
12348 12344 ./.test
12349 12348 ./.test
12350 12351 ./.test
.......................................

위 처럼, 계속 프로그램이 fork를 한 것 같은데요....

원인을 알기 위해 gdb에서
gdb> run 실행하구 quit 한 후
# ps -ef |grep test
... ... /tmp/test
이렇게 하나만 떠 있습니다.

yabaman의 이미지

커널 모듈 프로그래밍 관련.

어떤 하드웨어가 있는데요, 이 하드웨어 드라이버 모듈을 올리면 /dev/ 아래에 장치가 생성되고,

이 하드웨어를 사용할때는 장치에 대해서, open() system call 을 통해서, fd 를 얻고, ioctl / read / write 등을 통해서, 컨트롤을 하는데요,

user mode 에서는 기냥 open / ioctl / read / write / close 등을 통해서 제어를 하면 되는데, 이를 커널 모듈에서 사용 해야 할 일이 생겼습니다.

커널 모듈에서는 어떠한 방식으로 저것 들을 사용 할 수 있을까요?

kmalloc 이 있고, printk 등을 쓰고 하는 것으로 봐서는,

페이지

프로그래밍 QnA 구독하기