프로그래밍 QnA

bosub의 이미지

커널에서 세그멘트 에러가 났을때..

수정한 커널을 이미지로 만들어서 부팅을 했습니다.

그런데 저희가 원하는 동작을 시도하면 동작이 되면서

세그먼트 폴트가 납니다.

커널에서 세그먼트 폴트 부분을 뿌리는 tty가 어디에 있는지? 궁금합니다.

조언 부탁드려요 ㅎㅎ

stoneshim의 이미지

ethernet 환경에서 fragmentation없이 UDP로 보낼 수 있는 최대

UDP 프로토콜위에 간단한 프로토콜을 만들 일이 생겼습니다.

application 패킷의 사이즈가 커서 fragmentation이 발생하게 되면 프로토콜 설계가 복잡하게 될듯 하여, 패킷 사이즈를 제한하려고 합니다.

ethernet에서의 MTU가 1500byte 이므로, ip header의 크기와 udp header의 크기를 빼고, ethernet header의 크기까지 빼야 fragmentation 없이 한번에 전송할 수 있는 최대 size가 나올듯 했습니다.
이렇게 계산하면 1500 - 20(ip header크기) - 8(udp header크기) -14(ethernet header 크기) 가 되어 1458이 될 것으로 생각했는데... ping test를 해보니 아닌듯 하더군요.

issue00의 이미지

X window 폴그래밍 폰트...적재시...

XLoadFont (dpy, "fixed")
를 쓸경우
BadFont 하면서....X error 를 내는데요....

폰트쪽을 잘 몰라서 그러는데,
fixed는 X window 기본 폰트라구 하던데....
아 그리고......다른 폰트명을 쓰려면...xfontsel 해서..그중 아무거나 셋팅해서 써도 되는거 아닌가요......그런데 결과는 에러가 같다는....

결론? 어디서 자신의 컴퓨터에 있는 폰트이름을 불러와야 하는건가요?
알려주세요....

warpaint의 이미지

디바이스 드라이버에 대한 여러 질문입니다

네트워크 디바이스 드라이버(cs89x0.c)를 보며 공부하고 있습니다
다른것이 아니라
1.드라이버에 정의된 변수들의 값들을 paintk을 이용해서 출력하려고 하는데 오류는 없이 돌아가는데 계속 이 paintk에 지정된 값만 출력되고 더이상 진행되지 않습니다.

2. 드라이버에 정의된 변수들의 값들을 저장해서 사용자 메모리에서 사용하려면 어떻게 해야 하는지요?

자세한 답변 부탁 드려염

indizarm의 이미지

다른 PC/ 시스템 사이에서 msg qu 사용은 문제가 있겠죠?

서로 다른 PC/ 시스템에 위치해있다면, 과연 msg qu를
이용해서 서로 데이터를 주고 받는 것이 의미가 있을까요?

msgrcv(). msgsnd() 함수를 사용하는 것 같은데, 첫번
째 파라미터가 msqid 더군요. 주고 받는 프로세스의 위치
가 다르다면 (다른 시스템에 위치한다면) msqid가 같을
수 없을텐데, 과연 가능할지 궁금합니다.

그냥 소켓을 사용해야겠죠?

yimwooya의 이미지

make include 파일에 관하여.질문.

include.h 란 파일을 하나 만들어 여기에 include 목록을 지정하고
다른 폴더에 있는 c 프로그램에서 이 파일만 include 하여 사용 할려고 합니다.

지금 root 밑에 3개의 폴더를 만들고 3개중 1나의 폴더에만 include.h란 파일이 들어 있습니다. .... makefile에서 INCLUDE = include.h가 들어 있는 폴더로 지정을 하였는데 다른 폴더에 있는 c 파일에서 include.h 부분에 에러가 나네요.. ?

include.h를 사용한 c파일에서 include "../os/oss/include.h" 이런 식으로 하면 에러가 떠지 않는데. 이런 식으로 하면 include.h란 파일을 사용한 곳마다 다 고쳐 주어야 하는 번거로움 때문에.. 그냥. "include.h" 만으로는 해결 방법이 없는지.. ...??????

kkojiband의 이미지

디바이스 드라이버 작성시...?

interruptible_sleep_on 과 wake_up_interruptible 을 사용하려고 하는데요,

제대로 동작하는지 확인하기 위해 read 파일과 write 파일을 만들었습니다...

근데 이상한게 read 한 후에 블럭 되고 나서 write 를 하면 read 가 깨어나질 않습니다...

더 이상한건 write 를 실행시키고, read 를 실행 시킨 후에 write 에다가 임의의 문자열을 입력을 해서 보내면 read 가 깨어납니다...

대체 왜 이럴까요?

open 에서 wait_queue_head_t 는 초기화 시켜줬습니다...

참고로 커널 2.4.20 를 사용하고 있습니다...

kook1979의 이미지

로그파일 전송

네 계속 삽질만 하고 있네요..

지금 os는 freebsd를 사용하고 있구요

우선은 wtmp의 로그가 발생하는 곳을 찾아서

그 구조체를 소켓프로그래밍으로 보내려 하고 있습니다.

freebsd에서 제가 그곳을 수정하고 컴파일 하려 하는데

잘 되지 않네요.. 제가 컴파일 하는 방법을 잘 모르는것 같아요.

makefile을 활용해서 해야 하는데.. 잘 모르겠구요.. make 하면

결과가 아무것도 나오지 않습니다. 그리고 상위에서 make world를

해서 전체를 다시 해도 아무것도 원하는 것이 안되네여..

exsider의 이미지

연결리스트 구현에 관한 질문입니다.

제가 하는 과제에 연결리스트를 구현하는게 있는데요,

class ListNode
{
.....  // 연결리스트의 노드를 나타냄
};


class List
{
    private:
           static ListNode * ptr;      // 안쓰는 노드를 연결해 두었다가
                                                 // 나중에 필요할 때 꺼내 씀
     ...
};

대충 구조가 이런데요, ptr 에는 List 에서 삭제한 노드를 따로 연결해 두었다가
자료를 넣을 때 여분의 노드가 있을 경우 새로 할당하지 않고 여기서 가져다

iamsjkim의 이미지

memusage :부동소수점 예외 ??

memusage -p test ./server

이런식으로 실행했는데 어쩔때에는 제대로 나오다가 어쩔때에는 부동소수점 예외라고 나옵니다.

/usr/bin/memusage: line 250: 1699 부동 소수점 예외     $memusagestat $memusagestat_args "$datafile" "$png"

게다가 서로 다른 두개의 프로그램을 실행시켰는데, 예를 들어

memusage -p test1 ./server1

memusage -p test2 ./server2

둘다 결과가 완전히 동일하게 나옵니다. (두개의 프로그램은 사용하는 struct나 stack, array등의 사용량이 완전히 틀린게 확실한데도....)

페이지

프로그래밍 QnA 구독하기