프로그래밍 QnA

qualis의 이미지

이제 막 c++ 을 시작한 초짜입니다.

안녕하세요.
이제 막 리눅스 프로그래밍을 시작한 초짜입니다.
책이 몇권 있기는 한데 읽어보면 이론적인 내용들 뿐입니다.
( 제가 실력이 바닥이라 이해를 못 하는것일지도... )

해서, 고수님들께 부탁드리고자 합니다.
간단한 퀴즈 ( 프로젝트..??) 를 내주실수 있을까요 ?

문법을 읽히고 따라해보는것만으로는
실력이 잘 늘지가 않는거 같아서요...

제가 생각해봐도 참으로 황당한 글이라고 생각합니다. ;;;

넓은 아량으로 이해해주시리라 믿고 물러갑니다.

neverdie의 이미지

[시리얼통신 질문]select()함수에서 struct timeval::tv_usec에

현재 시리얼통신을 하고 있습니다.
윈도우컴퓨터에 가상 시뮬레이터가 돌고 있고
리눅스컴퓨터에서 제가 만든 프로그램하고 시리얼통신을 합니다.

select()함수를 이용해서 비동기송신을 하고 있습니다.
그런데 시뮬레이터가 긴 데이타를 보내면 제 프로그램에서 제대로
수신을 못해서
struct timeval::tv_usec = 6100;
값을 넣어줬습니다.

저렇게 하면 프로그램이 블락되는거 맞나요?
타임아웃값을 안주면 제대로 수신안되고... ㅠ.ㅠ

et3569의 이미지

커널2.6에서 extern void *sys_call_table[] 가 불려지질 않네요

소스파일입니다.
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/syscalls.h>
#include <linux/sched.h>
#include <linux/fs.h>
#include <asm/uaccess.h>
#include <asm/unistd.h>


extern void *sys_call_table[];
asmlinkage int(*original_call)(const char *, int, int);
asmlinkage int(*getuid_call)();

kingchobo의 이미지

어셈 잘하시는 분 답변 좀 부탁드립니다.

커널 내부에 있는 어셈 코드인데요.

3203         __asm__ __volatile__("lgdt %0": "=m" (gdt_descr));
3204         __asm__ __volatile__("lidt %0": "=m" (idt_descr));

이게 몬가요?

lgdt가 gdt를 load한다는 건 알고 있는데
코드 해석이 안되네요.

어셈 고수님들

조언 좀 부탁드려요.

저런 코드는 어떻게 읽나요?

jhanglim의 이미지

IGMP 메세지(멀티캐스트 조인 메세지)를 캡춰하는 가장 효율적인

리눅스 머신에서 다른 컴퓨터에서 날아오는 IGMP 메세지를 캡춰할 필요학 있습니다. 리눅스 머신이 데스크탑이라면 별 문제가 없으나 200MHz짜리 arm이라서 문제입니다.
pcap을 사용할 것인가 아니면 멀티캐스트 조인 메세지를 잡기 위해 여러개의 멀티캐스트 데몬을 띄워놓을것인가 고민중입니다.
혹 좋은 방법 있으면 조언 부탁드립니다.
커널은 2.4입니다.

*클라이언트 컴퓨터가 접속할 멀티캐스트 주소레인지는 리눅스 머신이 알고 있습니다.( 약 20~30

서지훈의 이미지

파일 access와 IPC(Shared-memory)로의 접근 성능차이 ...

제가 아무리 환경을 만들어 직접 측정을 해보려 해도 대부분의 프로세스들이 순차적으로 실행이 되어 성능차이를 좀 정확하게 측정 하기가 힘드는 군요.
대략 데이타 사이즈는 10K~100K정도이고 프로세스가 50~200정도일 경우 이 차이가 얼마만큼 날지 되도록 정확한 측정(병렬로 실행 되는 상황)을 할 수 있을지요?
측정 프로그램에서 실행할 프로세스를 포크시킨 후 잠 재우고 부하를 100%로 준 상태에서 측정을 해도 대두분이 순차적으로 실행이 되어 힘드네요.

hsjin120의 이미지

PF_PACKET을 이용해서 ethernet 패킷을 만들어서 보내고 싶습니

요즘 무선구간에서 EAP-MD5 인증을 하는 경우가 있지요.
이걸 구현하는걸 해보고 싶은데..
일단 RAW socket을 이용해야 한다는걸 알게되었고..

1. socket(PF_PACKET, SOCK_RAW, htons(ETH_P_ALL));

로 소켓을 생성 한다음..
보내고자 하는 버퍼를 생성 해야 할것 같더군요.

2. MakePacket(char*buf, ... ... )

이렇게 해서 buf에 패킷이 만들어 지면..

3. sendto (fd, buf, len ..... )
이렇게 해서 보내면 되는건가요?

buf는
| dstmac |srcmac | type | DATA | 로 구성이 되겠지요
6byte 6byte 2byte diff...

sadrove의 이미지

MSN 클라이언트 개발해보신 분들께 조언 구합니다..

허접 MSN 클라이언트를 만들고 있는데요..
언어는 파이썬 이고요...
로그인까진 했는데.. QRY 응답명령에서 계속 헤매네요..
서버가 보내는 PING 인 CHL 명령에 대한 QRY 답변을 보내는데..서버는 계속 에러 메시지만 보냅니다..
코드는 아래와 같이 했고요..

[code:1]
if(recvCmd[0] == 'CHL'):
hashedStr = md5.new(recvCmd[2] + 'Q1P7W2E4J9R8U3S5' ).hexdigest()
self.sendRecvCmd('QRY ' + getTrid() + ' ' + self.useid + ' ' + str(len(hashedStr)) + '\r\n ' + hashedStr)

innersys의 이미지

[질문] GDT설정...

부트로더에서 gdt를 설정할때
처음에는 null로 하고
다음에는 code디스크립터를 설정하고
data디스크립터를 보통 설정하더군여..,,
비트 단위로 설정하는데 .. 이 각각의 비트들이
뭘 의미하는지 ... 그리고 디스크립터는 코드하고 데이터만
설정해야하는지..
그런 기본적인 것들을 모르겠습니다.
아시는 분이나 관련문서 알고 계신분
답변부탁드립니다.

페이지

프로그래밍 QnA 구독하기