반응형

전체 글 119

리눅스 커널2.6 에서의 proc 생성

- 리눅스 소스파일 위치/Documentation/DocBook/procfs_example.c 위의 파일을 참고하면 된다. - 커널 2.4 와 비교하여 struct proc_dir_entry 의 멤버가 바뀌었다. ** 참고 ** - /proc/net 아래에 디렉토리나 파일 생성할 경우. - root 가 net 이 되며, 이때 net 디렉토리는, net/core/net_namespace.c 파일에 있는 init_net을 사용한다. struct net init_net; EXPORT_SYMBOL(init_net); 예) macro_root = proc_mkdir("macro", &init_net->proc_net);

리눅스 2010.09.16

에뮬레이터에서 GPS 셋팅

** GPS 정보를 에뮬레이터에 셋팅 ** 이미 GPS를 이용한 어플이 코딩된 상태라고 가정함. 즉 어플에서 퍼미션등 모두 셋팅되어 있고, 로케이션 관련 코드들도 다 코딩된 상태에서, GPS 정보를 에뮬레이션 하는 방법만 소개함. 1. 에뮬레이터를 실행시킨다. 단 로케이션 기능이므로 에뮬레이터는 goole api 를 사용하는 에뮬레이터. 2. 이클립스에서 DDMS 화면으로 바꾼다. 3. DDMS에서 devices 라는 탭에 보면, 현재 실행중인 에뮬레이터가 나온다. 4. 이 에뮬레이터 이름을 한번 클릭하여 활성화 시킨다. 즉 클릭이 안된 상태에서는 아래 진행이 안된다. 5. Emulator Control 이라는 탭으로 가서, 아래로 쭉 내리면 Location control 항목이 나온다. 6. 가장 간단..

Android 2010.05.10

IO 계열에서 time out 설정하기

* 상황 : 패킷을 받는 역할을 하는 쓰레드에서 recvfrom 함수 사용중, 종료 시그널을 받으면 프로그램을 종료시키기 위해 쓰레드를 종료하기 위함. * 문제 : 이때 read, readv, recv, recvfrom, recvmsg 등의 함수는 그냥 사용시 block 된다. 따라서 block을 피하기 위한 time out 이 필요함. -> write 계열도 마찬가지. * 해결 방법 1. SIGALRM 을 사용하여, read 계열 리턴시 errno == EINTR 인지 확인함. r 2. read 계열의 함수를 select 로 구현함. UNP v1. p.385 참고. 3. 소켓 옵션으로 타임아웃을 설정함. read계열 리턴시 errno == EWOULDBLOCK 으로 확인. UNP v1. p.210 * ..

리눅스 2010.04.16

Alarm Clock - 유닉스 계열에서 alarm signal 설정

리눅스, 유닉스에서 SIGALRM 을 설정하여 테스트를 해 봤는데, 리눅스에서는 signal함수가 잘 되었지만, 유닉스에서는 Alarm Clock 이라는 메시지가 나오면서 클락이 죽어버리고 프로그램이 종료되었다. 아래는 모든 유닉스계열에서 잘 돌아가도록 만들어진, UNP 책에 나온 시그널 함수다. 특히 SIGALRM을 전처리기를 이용하여 처리되도록 되었고, 리눅스, HP, SUN, AIX 테스트 해본 결과 이상없었다. #include void (*signal(int signo, void (*func)(int)))(int); typedef void Sigfunc(int); Sigfunc *Signal(int signo, Sigfunc *func); --------------------------------..

리눅스 2010.04.02

H2

===== 특징 ===== * JDBC API로 사용. pure java 이므로 C 로는 사용 못함. * 구글앱 에서 사용 * http://www.h2database.com/html/main.html * H2 supports row level locks when using multi version concurrency. * embedded mode, server mode, mixed mode 가 가능하므로, 임베디드 DB를 다른 프로세스가 억세스 할 수 있는 장점이 있다. 따라서 데이터 insert는 임베디드로 하고 쿼리는 서버모드로 접근가능함. * http://www.h2database.com/html/features.html#products_work_with * To backup data while ..

Embedded DB 2010.03.23

SQLite3

===== 특징 ===== * c, java 모두 지원. * 클라이언트 서버 모델이 아니고, DB가 파일로 저장됨. * 따라서 여러 프로세스가 DB를 공유하려면, 파일 레벨의 lock이 필요하기 때문에, 이 DB는 lock이 파일 lock인 DB락으로 처리됨. * Shared Cache Mode 로 인해 여러 쓰레드 사용 가능하고, 한 쓰레드가 write 하는 동안 다른 쓰레드는 read 가능함 ===== 메모리 DB 사용시 문제점 ===== * In most extensions, if you use :memory: or an empty string as the name for the database, it will create the database in RAM. The database will onl..

Embedded DB 2010.03.23
반응형