본문 바로가기

반응형

개발

커널 모듈 커널 모듈 - 모듈은 대부팅없이 드라이버 개발을 쉽게 한다. - 커널이미지 사이즈를 최소화 하는데 유용하다.- booting 시간을 줄이는데 유용하다. (디바이스와 커널 초기화는 나중에 해도 되기 때문이다)- root 계정만 load unload를 할 수 있다. - A와 B의 모듈이 있을때 A가 동작되어야 B가 동작되는 모듈이 있다 이러한 모듈의 관계를 B가 A에 의존한다고 표현! 예를 들어!! usb-storage모듈은 scsi_mod, libusual, usbcore모듈이 먼저 동작 해야 동작 할 수 있다. - 새로운 커널이 load되면 이와 관련된 정보는 kernel log에 저장된다. 더보기
라즈베리파이랑 아두이노 공부 해야쥥 http://www.rasplay.org/?cat=291www.mechasolution.com스터디 하드!! 더보기
파이프 - 프로세스 파이프, popen/pclose 파이프란 무엇인가?- 파이프는 두 프로세스 사이의 자료 흐름 통로를 제공하는 수단이다. 일반적으로 파이프는 한 프로세스의 출력을 다른 프로세스의 입력에 연결하는 용도로 쓰인다. - 셸에서는 | 기호를 이용하여 명령을 넣는 것으로 파이프를 사용한다. 프로세스 파이프#include FILE *popen(const char *command, const char *open_mode);- popen_mode가 "r"인 경우 호출한 프로그램은 fread 같은 통상적인 stdio 라이브러리 함수들을 이용해서 popen이 반환한 파일 스트림 FILE*을 읽음으로써 호출된 프로그램의 표준 출력을 읽을 수 있다.- popen_mode가 "w"인 경우 호출한 프로그램은 fwrite로 popen이 반환한 파일 스트림에 자료를.. 더보기
프로세스와 신호 - 안정적인 신호 인터페이스 안정적인 신호 인터페이스#include int sigaction(int sig, const struct sigaction *act, struct sigaction *oact);이 함수는 sigaction 구조체를 이용한다 void (*) (int) sa_handler -> 신호를 처리 함수를 가리키거나 또는 SIG_DFL(기본행동복원)이나 SIG_IGN(신호무시) sigset_t sa_mask -> sa_handler에서 차단할 신호들int sa_flags -> 신호 행동 수정자들 signal 과 같은 방식으로 일어나게 하려면 SA_RESETHAND를 추가 예제 소스 실행 결과 더보기
프로세스와 신호 - 신호 보내기 신호 보내기 #include #include int kill(pid_t pid, int sig); - sig로 지정된 신호를 pid로 지정된 프로세스에게 보낸다. - 성공시에는 0을 리턴하고, 실패 하면 -1을 리턴한다.- 실패의 경우에서 신호가 유효하지 않으면 errno 에는 EINVAL이, 권한이 없으면 EPERM, 대상 프로세스가 존재하지 않으면 ESRCH 가 설정된다.예제 소스실행 결과 - kill(getppid(), sigalrm) 자식이 여기서 부모 pid를 얻어서 신호를 보낸다 그리고 끝 - 부모는 (void) signal(~~ 여기서 받아서 ding 를 호출- 그래서 아래 Ding가 출력되고 done가 출력된 후 종료 - 느린 시스템 호출이 발생하는 도중 다른 신호가 발생하면 오류를 돌려준.. 더보기
프로세스와 신호 - 신호 신호- 신호는 유닉스와 리눅스 시스템이 어떤 조건에 따라 발생시키는 사건(event)이다. 시스템이 특정 시건에 반응해서 특정 프로세스에 신호를 보내면, 신호를 받은 프로세스는 그에 맞는 행동을 취하게 된다. - 신호가 발생하는 것은 일으킨다(raise)라고 칭하며, 프로세스가 신호를 감지해서 반응하는 것은 잡는다(catch)라고 한다. 프로그램 안에서 실호를 처리할 때는 signal 라이브러리 함수를 사용#include vodi (*signal(int sig, void(*func)(int)))(int); 예제 소스실행 결과처음 ctrl+c에 의해 SIGINT가 발생 하면서 ouch가 호출된다. 메시지가 출력된 후 다시 제어권을 main으로 반환한다.두번째 ctrl+c 가 눌러지면 기본 행동이 일어난다... 더보기
프로세스와 신호 - 입출력 재지정 입출력 재지정- 입력된 자료를 읽어 적절히 변환한 결되를 표준 출력으로 내보내는 프로그램예제 소스결과 더보기
프로세스와 신호 - 좀비 프로세스 좀비 프로세스- 자식프로세스가 종료되어도 부모와의 관계는 부모가 wait를 호출하거나 종료될 때까지 유지된다.그러므로 운영체제는 자식 프로세스가 종료되어도 시스템안에 남겨둔다. 이렇게 부모와 연관 관계가 있는 프로세스를 가리켜 소멸된(defunct) 프로세스 또는 좀비 프로세스(zombie process)라고 부른다. 라는 표시가 좀피 프로세스라는 뜻 라고 표시 되기도 한다. 더보기

반응형