프로그래밍 QnA + 설치 및 활용 QnA

eonil의 이미지

coroutine과 어셈블리어 학습

안녕하세요. 방금 가입한 에오닐입니다.
사이트 주제에서 벗어날지도 모르겠으나, 국내에서는 고수들이 모여있는 사이트여서 도움을 구하고자 합니다.

제가 Mac OS X에서 C로 코루틴 작성을 시도했는데, ucontext.h 가 지원되지 않아서 상당히 고생을 하던 중, 코루틴이란 놈이 C의 추상화 수준을 벗어난다는 느낌을 받았습니다. (실제로 그렇다는 주장을 하는 게 아닙니다. 단순히 제 느낌입니다.)

이를 제대로 제대로 이해하고 사용하려면 더 하부인 기계/어셈블리 수준에서의 이해가 필수적일 것 같더군요.
제가 전산전공이 아니라 C보다 하부인 어셈블리나 CPU는 거의 모릅니다. 그런데 여기저기서 자료를 구하다보니 Program Counter, Register 등의 용어가 마구 튀어나오는데, C 함수가 호출되고, 프로그램 흐름이 전달되는 방식에 대해서 원형에 대한 이해가 필수적이더군요. 대략적인 개념만 알지 실제로 완벽하게 이해하지는 못하는 것들이라 제대로 공부해야겠다는 생각이 들었습니다.

trymp의 이미지

linux 에서 iptables 로 NAT 설정시 허용 host 에 제한이 있나요?

linux에서 iptables 로 source NAT 설정시에 일반적으로 N 대 1 로 되잖아요

그 때 N 에 해당하는 호스트의 수가 갯수에 제한이 있는지 알고 싶습니다.

NAT 테이블이 혹시 overflow 되지 않나 라는 생각도 들고요.

사설 -> 공인 이런식으로 갈 때에 뒤의 사설망에 몇백대 몇천대도 붙여서 똑같은 공인IP로 나갈수 있는 것인지?

아니면 이 호스트의 갯수에 제한이 있는지 알고 싶습니다.

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

jongi의 이미지

Emacs 자동완성 기능에서 이상한 현상

우분투 10.10 사용자입니다. 이맥스는 기본 설치된 것 그대로 사용중이구요. (snopshot버전 아님)
버전은 GNU Emacs 23.1.1 입니다.

자동완성 기능을 제대로 써보려고 KLDP에 자동완성 기능을 설명해주신 primewizard님의 설정 파일을 그대로 설치했습니다.

잘 되는 듯 했는데, 실제로 사용해 보려고 하니 문제점이 생겼습니다.

첨부한 캡처파일을 보시면 아시겠지만,

ui->

위와 같이 입력한 상태에서는 자동완성 기능이 잘 동작하는데,

wlsl1821의 이미지

sofrirq 처리 중 irq가 잘생하면 irq처리 후 어떻게 복귀 하게 될까요?

안녕하세요. 처음으로 질문 글을 올려봅니다.
질문은 제목에서 거의 다 설명하고 있습니다. 말그대로 softirq(tasklet 포함)가 발생하여 처리되던중에 hardirq가 발생하여(인터럽트 금지하지 않았을 경우)
irq 처리로 커널제어경로가 변경되고 난 뒤, 해당 처리가 종료하고 복귀할때! 이전에 처리하던 softirq에서 중단된 지점으로 복귀하게 되나요?
아니면 softirq가 ksoftirqd로 넘겨져서 나중에 다시 처리를 시작하게 되나요? 혹은 다른 형식으로 처리되나요?
전 softirq도 irq 중첩 실행 처럼 irq가 치고 들어왔을 시점으로 복귀할 줄 알았는데 아닌것 같아서 이렇게 질문을 드립니다.

lanny의 이미지

프로세스에 할당된 가상메모리 사이즈가 바뀌는데요...

질문있습니다.

통신 장비 프로그래밍하고 있는데요 ps -aux로 보면 다른 프로세스들은 가상메모리 사이즈가
거의 변하지 않습니다. 변하더라도 아주 작은 사이즈로 커졌다 다시 돌아오는 정도..
근데 제가 짠 프로세스는 그 변동폭이 너무 큽니다. 3일째 돌리고 있는데 21202124 ~ 21935340
최대 최소 사이즈의 차이입니다. (10분 간격으로 체크하고 있음) 커졌다 작아졌다 합니다.

소스를 검토하면 메모리릭은 없는거 같은데 valgrind로 시험 해봐도 릭은 없다고 나오는데요
이 사이즈가 계속 변하니 릭이 아닌가 해서요.

다른 프로세스들은 변하지 않는데 이렇게 가상메모리 사이즈가 계속 변하는게 정상인가요?
답변 부탁드립니다.

sawa500의 이미지

Gentoo - Totem-2.30.2 설치시 gconfaudiosink plugin 관련 문제 해결법

얼마전에 emerge -uDN world하다가 totem에서 설치가 진행되지 않길래 log를 봤더니 totem plugin중 gconfaudiosink plugin을 찾지못해 컴파일이 안되는 것이었습니다. 그래서 qlist -IC gst로 검색되는 모든 패키지를 재설치하기도 하고 해봤는데 원인이 해결이 안되어서 한창 고민하던중 gentoo forum ( http://bugs.gentoo.org/show_bug.cgi?id=332139 )에서 겨우 실마리를 찾아 해결했습니다.

해결방법은 root terminal에서 emerge totem하면 제대로 설치가 되는데 su나 sudo로 설치를 진행하면 안되는 좀 이상한 버그였습니다.

혹시나 저같은 문제로 고민하시는 분이 계실까하여 올려봤습니다.

wahihi의 이미지

이클립스에서 안드로이드 네이티브(파일시스템) 소스 컴파일 하는 방법

이클립스에서 안드로이드 네이티브(파일시스템) 소스 컴파일 하는 방법을 찾고 있습니다.
보통은 우분투에서 빌드 명령어 줘서 하는것 같은데요.
그것 말고, 이클립스에서 소스 관리 하고 compile 및 디버깅까지 될것 같은데요.
혹시 그렇게 사용하고 계신다면 세팅하는 방법 좀 가르쳐 주시면 감사하겠습니다.

redstorm의 이미지

[완료] cmake 빌드 시..

안녕하세요

제가 진행중인 프로젝트를 KDE4에서 cmake로 빌드 하려고 하는데요
프로젝트 내에 여러가지 디렉토리가 있을 때
예를 들어 Hello 라는 프로젝트이고

Hello - lib - lib.cpp, lib.h
└ main - main.cpp

와 같이 구성되어 있다고 가정한다면 CMakeLists.txt 파일을 각 디렉토리 내에 만들어줘야 하나요?(그렇다면 총 3개가 되는건가요? Hello에 하나 lib에 하나 main에 하나)
제가 알기로는 CMakeLists.txt 파일을 참조해서 cmake가 빌드하는 것으로 알고있거든요.
그렇다면 각 하위 디렉토리마다 CMakeLists.txt 파일을 손수 하나하나 만들어줘야 되는건지 궁금합니다.

rogon3의 이미지

(완료)floppy/cdrom/usb 부팅할 수 없는 노트북에 grub 새로 설치

구형 노트북에 하드를 교체해서 리눅스를 새로 설치하려고 합니다.

/usb/floppy/cdrom 으로 부팅할 수 없는 환경입니다.

오직 외장케이스에 새 노트북 하드를 넣고 다른 집 컴퓨터에서 최소한 grub 를 설치하고, linux, initrd.gz 두 파일을 받아 와야 데비안을 하드 부팅해서 네트웍 설치를 할 수 있습니다.

기존 제가 사용하던 방법은 작은 파티션을 하나 만들어서 외장하드로 다른 컴에 붙여 wingrub 를 설치하고 linux, initrd.gz 파일을 받아 /boot/grub/menu.lst, /boot/newinstall/linux, initrd.gz 로 구성해서 하드 부팅, 데비안을 네트웍설치했었습니다.

그런데, 이제는 부팅용 윈도우파티션을 만들지 않고 순수한 리눅스 파티션 만으로 새로 설치를 하고 싶습니다.

즉, 데비안이 설치된 컴에 하드를 외장으로 붙여서 grub를 설치하려고 하는데, 검색되는 방법들은 모두 실패했습니다.

plugon의 이미지

리눅스에서 하드웨어 정보를 가져오는 방법이 머가 있을까요

에이전트 프로그램을 납품하는 업체입니다.

에이전트를 설치해서 구성정보를 가져올때 논리적 정보말고 하드웨어의 물리적정보를 가지고 올려면 어떤 스크립트를

써야하죠?

예를 들어 박스에(서버) cpu가 4개 memoy가 2개 disk가 8개 네트워크 카드가 5개 이렇게 구성되어 있을때

OS가 8개가 설치되어 잇다고 가정하면 각각의 8개의 논리적 정보의 합이 물리적 하드웨어 정보라고 말할수 없잖아요. 하드웨어적으로 block시킬수도 잇으니

랜카드 경우는 포트가 2개인경우도 잇는데 온라인일경우에만 논리적인 포트정보가 들어오니 그것도 정확한 정보라고 할수도 없고..

완벽히 하드웨어 정보(cpu가 4개 memoy가 2개 disk가 8개)를 가져오려면 어떤 스크립트를 콘솔에서 날려야 하는지요?

페이지

프로그래밍 QnA + 설치 및 활용 QnA 구독하기