프로그래밍 QnA

blkstorm의 이미지

ELF의 데이터 영역(.data/.bss) swap/reclamation 여부?

(마땅한 제목이 안떠올라서 마구 썼습니다. 죄송합니다.)

Memory management/swap을 공부하고 있는데요. ELF관련해서 질문이 있습니다.

(참고로, 커널 2.6.36입니다)

어떤 ELF가 로딩/실행될 때 그 ELF의 각 섹션이 do_mmap으로 mapping이 되는 것은

확인했습니다. (elf_map:binfmt_elf.c)

이후에 동적으로 할당되는 메모리 영역들(스택,힙)은 Demand paging이 발생할 때

메모리 영역이 커널에 의해서 할당되죠. (do_anonymous_page)

다른 표현으로 anonymous page라고 부르고,

PAGE_MAPPING_ANON definition으로 anonymous page 영역인지를 나타냅니다. (PageAnon매크로)

DRAM영역들이 부족할 것같다고 판단되면 이 anonymous page들이 swap cache를 통해서

swap out이 되는것까지는 이해했습니다.

declspec의 이미지

쉬운질문... gcc 에서 static라이브러리 설정은 어떻게 하나요?

안녕하세요

VC++ 6.0 에서 프로젝트 옵션에 보시면
기본적으로 컴파일러가 추가해주는 lib 파일들이 있잔아요?(정적 라이브러리)

gcc 의 경우도 libc.a 같은 정적 라이브러리들을 컴파일러가
기본적으로 링크시켜주는거로 아는데요
기본적으로 링크해주는 라이브러리들의 목록을 어떻게하면 볼수있나요?
또한 컴파일시 어떠한 정적 라이브러리를 추가적으로 링크하게 하고싶을땐
어떻게 하나요??
(VC++6.0 은 프로젝트 메뉴에서 걍 추가로 써주면 되죠)

binoopang의 이미지

[완료] 보호모드에서 디스크 섹터에 접근하는 방법을 알고 싶습니다.

안녕하세요. NASM으로 MBR을 작성하고 테스트하는 일을 하다가 궁금한게 생겨서
질문글을 올립니다.

x86 리얼 모드에서 하드디스크의 특정 섹터를 읽거나 쓸때 BIOS 인터럽트를 사용했습니다.
int 13h를 사용하였는데요.

그런데 보호모드로 넘어가니까 BIOS 인터럽트가 하나도 먹히지 않았습니다.
검색을 해보니 보호모드에서는 BIOS 인터럽트 사용이 금지된다고 하더군요.

그럼 보호모드에서는 어떻게 하드디스크에 접근하는지 궁금해집니다.
BIOS 인터럽트가 안된다면 다른 어떤 방법을 사용하나요?

athxue의 이미지

리눅스 모듈 작성시 함수의 길이가 길어지면 나는 에러

안녕하세요 리눅스 디바이스 드라이버 개발중에 다음과 같은 에러를 만나 고생하고 있습니다.

the frame size of 2672 bytes is larger than 1024 bytes

함수의 일부분을 잘라내가면 2672라는 숫자가 줄어들다 컴파일이 됩니다.
한 함수의 크기를 제한하는것 같이 보이는데 해당 크기를 늘릴수 있나요?

yahu77의 이미지

crontab 미동작 질문드려요...

안녕하세용...

crontab 작업은 늘 하는거라 별 무리 없이 사용했었는데,
아래 오류에 대해서는 감이 안오네요...

고수분들 help 부탁드려요...

00 10 * * * /user/sms/shl/app1.sh > /dev/null 2>&1
00 20 * * * /user/sms/shl/app2.sh > /dev/null 2>&1

app1.sh >> 그냥 실행하면 잘 동작하나, crontab에 올리면 동작하지 않음
#!/bin/sh
cd /user/sms/bin
app1 -f /user/sms/apps/conf/app1.conf &

app2.sh >> crontab에 올려도 잘 동작함
#!/bin/sh
cd /user/sms/bin
app2 /user/sms/apps/conf/app2.conf &

[결론]
app2.sh번 쉘이 잘 동작하는 걸로 봐서는 환경변수 문제도 아닌거 같습니다.

silveracy의 이미지

웹로봇에 대해서 질문드립니다.

요즘 제가 웹 크롤러를 만들고 있습니다.
물론 학교 과제로 만들고 있는건데요

제가 제작한 크롤러는 정말 간단합니다.

URL->파일분석->URL추출->URL 큐에 삽입 ->큐에서 다시 URL POP->URL->처음부터 반복

보통 한페이지를 읽어오면 URL이 200~300개쯤 있습니다.
그럼 중복검사를 거쳐도 100개쯤은 새로운 URL이 포함되게 되어 있습니다.
다 유용한 URL이 되게 되는것입니다.

근데 여기서 문제점... 큐가 줄어들지 않습니다. 교수님께서는 페이지 20만개 쯤은 가져왔으면 좋겠다고 생각하십니다.

근데 7~8만개쯤 되면.. 큐에 삼백만개 쯤 들어가게 되고, 메모리가 800메가쯤 할당했음에도 불구하고 800메가를 넘겨 뻗어버립니다.

현재 프로그램을 php로 짜서 쉘스크립트 처럼 돌리고 있는데요...

프로세스를 나누는 방법에 대해서 좀 알려 주실 수 있으신가요?

Queue가 무한 증가하지 않게 할 수 있는 방법에 대해서요;;

domiisa의 이미지

jsp spring + ibatis 게시판 질문요.

eclipse , spring , ibatis , mysql 연동

spring 게시판을 만들려고합니다.

구글링으로 샘플 받아서 실행을 했는데 첨부파일 처럼 나옵니다.

DB 연결이 잘못된거같은데.. 해결방안좀 아시는분 계신가요??

trymp의 이미지

리눅스에서 static NAT 를 설정할 때, SNAT와 DNAT를 동시에 거는 이유??


iptables 에서 NAT를 설정할때 두가지 궁금한 사항이 있습니다.

리눅스의 netfilter 에서 iptables 로 static NAT를 설정할때,

왜 SNAT와 DNAT 를 동시에 거나요?

dynamic NAT 처럼 SNAT 하나만 걸면 역방향도 같이 걸리도록 못하나요?

또 dynamic NAT는 1:N 이 되는데, static NAT는 1:1 만 가능한지 모르겠습니다.

답변주시면 고맙겠습니다.

고수님들의 많은 조언 부탁드립니다.

foxmaster의 이미지

fileTime을 간단하게 계산하기 방법에 어떤 문제가 있나요?

short dataCount, requestCount((SHORT)(1 + ((long long&)end - (long long&)start) / Minute(1).To100Nanosecond()) );

--1분 기준으로 정수로 떨어짐 ;분모는 총 초로 나타냄/분자는 10*7승 이므로 1초 단위로 filetime을 바꾼 것으로 생각됨

dw(((DWORD)((long long&)ft) / Second(1).To100Nanosecond() ) +2);

---ft가 2개 여야 한다는 건가요?

두줄을 비교 하여 위줄은 컴파일 에러가 안나는데 아래는 에러가 나네요

에러내용ㅇ--error C2064: 항은 1개의 인수를 받아들이는 함수로 계산되지 않습니다.

어떤 문제 일까요? 해결이 안됩니다. 부탁좀 드릴께요

위줄 선언과 코드

whoss의 이미지

Eclipse API Tools


혹시 Eclipse PDE 3.4 버전부터 제공되는 API tools 라는 기능 사용해 보신분 있으신가요?
문서에 보면 이 툴의 기능 중 하나가 플러그인 버전관리를 해준다고 나와있는데..
실제로 사용해봤는데
그렇지가 않은것 같습니다.

플러그인의 API의 버전을 표시하는 태그인
@since의 역할을 정확히 파악을 못하겠습니다.
이 태그를 함수마다 넣지 않으면 error를 내준다고 합니다.

그런데 제가 사용을 잘못한 것인지;;
문서처럼 실제 코딩시 error를 내주지도 않구요..

이 태그를 명시하지 않으면 왜 error를 내 주는지 궁금합니다.
이 태그 정보를 툴에서 활용하기 위해 error을 내주는건지..
실제 플러그인의 버전정보는 manifest 파일에 있는데 말이죠..

아시는 분, 답변 부탁드려요..ㅜㅜ

페이지

프로그래밍 QnA 구독하기