프로그래밍 QnA

yhlvyp의 이미지

리눅스기반 라우터에서 라우팅테이블만을 갱신하고 forwarding은 안되게?

리눅스 기반 기가빗 라우터에서 fault tolerance데몬을 구현중입니다.

master라우터가 있고 standby상태의 slave라우터가 있습니다.

이때 master만이 라우팅을 해주는 것이죠

이 master가 죽게 되면 slave가 master의역할을 대신 수행하게 됩니다.

이때 신속한 전환을 위해

slave가 standby상태에 있을때 slave의 라우팅테이블을 master와 같은 상태로 유지하려 합니다.

물론 master에게 주기적으로 request하여 받는 방법도 있겠지만

그것보다는 어짜피 slave서버가 master가 받고있는 라우팅정보 패킷을 동시에 받을수 있으므로

sjg0120의 이미지

'만들면서 배우는 os커널의 구조와 원리'중에......

안녕하세요 그동안 여기 수준이 너무 높은것 같아
눈팅만 했는데 결국 처음으로 글을 올리게 되는군요
이제 막 커널 공부를 시작하려고 하는데 시작하자마자 막히네요
nasm으로 부트섹터만드는걸 하고있는데
times 510-($-$$) db 0
이런 문장이 있더군요...이게 510번까지 0으로 채우라는 명령이라고 나와있는데
이게 왜이렇게되는지 잘모르겠네요 ㅜㅜ
허접스럽지만 설명좀 해주시면 감사하겠습니다~

handrake의 이미지

유닉스와 리눅스 시그널의 차이점?

안녕하세요,
이번에 작은 프로그램을 하나 맡게 되었는데요, 이 프로그램은 전부 System V Unix용으로 짜여 있습니다. 제 일은 이걸 전부 Linux (Redhat 엔터프라이즈 버젼 3, 4)로 포팅하는 것입니다. 제가 유닉스 프로그래밍을 많이 접해보지는 못한 터라 어려운 부분이 많네요.
현재 막힌 부분은 시그널 처리에 관한 부분에서 유닉스와 리눅스의 구현이 약간 다른거 같아서 입니다. 현재 프로그램에서는 시그널을 전부 sigsend()를 사용해서 보내고 있는데요, 리눅스 man 페이지를 읽어보니 sigaction()이나 sigqueue()를 사용해서 구현 해야 되는 하는것 같더라고요. 그런데 sigsend()는 같은 사용자의 프로세스에 전부 시그널을 보내는 등의 기능이 있던데 이건 리눅스에서도 비슷한 기능이 있나요? 없다면 sigsend()를 랩퍼 함수로 만들어서 구현하는것이 좋을까요?

shamlock의 이미지

cvs notify 1.1.0 설치에러

cvs notify 1.1.0 설치를 하고
체크아웃해서 실행해보았더니 아래와 같은 에러가 발생합니다

Insecure dependency in require while running setgid at /home/cvs/CVSROOT/cvsnotify-commitinfo.pl line 12.
cvs commit: Pre-commit check failed
cvs [commit aborted]: correct above errors first!
cvs commit: saving log message in /tmp/cvsAIU4Oj

수동으로도 설치해보고
자동으로도 해봣는데.. 다 동일한 메시지인거 같습니다.
도와주세요

잠수오리배의 이미지

printf 종류의 함수와 putchar 종류의 함수의 차이

Beginning Linux Programming 의 터미널 파트를 보고 있습니다.

setupterm() 함수로부터 시작하는 터미널 출력을 공부하고 있는데요,

tigetstr()로 넘겨받은 터미널 이스케이프 시퀀스를 tparm()으로 매개변수를 수정하여 다시 출력해보는 실습을 하다가 궁금한게 생겼습니다!!

tparm()을 사용하여 터미널 이스케이프 시퀀스를 터미널에 전송하는데, printf를 사용하면 안되고 putp, tputs를 사용하라고 책에서 일러주네요. 터미널이 연산을 완료하는 동안 필요한만큼 적절히 지연시킬 수 있어야 한다고...

rabbitkang의 이미지

kernel 상에서 virtual address 와 할당된 length 가지고 page정보를 알수 있나요?

kernel 상에서 kmalloc을 가지고 메모리를 할당 했을때
virtual address 와 할당된 length 가지고
해당 struct page *page정보를 알수 있나요??
알수 있는 함수나.. 등등...

kernel 고수님들.. 답변 부탁합니다.

pok의 이미지

배시스크립트에 if []구문에 관한 질문입니다.

DNS에 새로운 네임서버를 추가하고 싶은데 있으면 추가 안하려합니다.

if grep $DNS /etc/resolv.conf
then echo already
else echo nameserver $DNS >> /etc/resolv.conf
fi

이렇게 해서 사용하고 있습니다. 그런데, []구문이랑 어떻게 다르나요?
그러니까...
if [ "grep $DNS /etc/resolv.conf" ]
then echo already
else echo nameserver $DNS >> /etc/resolv.conf
fi

는 작동을 안하는것 같은데, 어떤이유인지요?
그리고 if에 관련된 여러 팁들도 부탁드리
cbers의 이미지

텍스트 파일을 카피해주는 프로그램을 만드는데.워닝이..

#include <stdio.h>

int main(int argc, int *argv[])
{
    char ch;
    FILE* src = fopen(argv[1], "rt");
    FILE* dst = fopen(argv[2], "wt");

    if(argc!=3)
        return 1;

    while(1)
    {
        ch=fgetc(src);
        if(feof(src)!=0)
            break;
        fputc(ch, dst);
    }

    return 0;
}

FILE* src = fopen(argv[1], "rt");
FILE* dst = fopen(argv[2], "wt");

여기서 워닝이 나는데요..

leoric99의 이미지

lcc compiler에서 symbol선언부....

현재 lcc 4.2 소스 분석중에 있습니다....
관련해서 A Retagetable C Compiler란 책이 있긴한데...
소스 3.6버젼을 기반으로 만든 책이라 현재 4.2버젼과는 조금 차이가 있네요...
그 중에서 symbol을 다루는 부분에 다음과 같이 변경이 되었는데...

void (*g)(void)의 기능을 이해하지 못하고 있습니다.
Constant symbol의 value의 각 타입을 정의한 부분인데...
뭐 shotr나 int를 long으로 포함시킨건 알겠는데...
void *p;(4.2에선 void (*g)(void);)로 변경되었습니다.
과연 어떤 value값을 위한 것일까요??

lovethecorners의 이미지

perl + jabber log file parse

아직까지도 정확히는 perl 을 모르지만, 사용할수록 perl 이 점점 재미있어져 가고 있습니다.

jabber 서버를 사용하고있습니다. jabber 는 log file을 XML 로 저장합니다. 이 XML 중에 필요한 id, date, message body 정도를 parse 해서 DB 에 저장한후 search가 가능하게끔 하려합니다.

parse 한후에 DB 에저장하는것이야 문제는 없을것 같습니다. 그런데, 어떤식으로 XML log file에서 필요한 data 만 빼낼수있을까요?

페이지

프로그래밍 QnA 구독하기