LINUX

· LINUX/Linux
GCC(GNU Compiler Collection) GCC 설치 명령어 yum install gcc -y GCC C++ 설치 명령어 yum install gcc-c++ -y .c파일 컴파일 명령어 gcc -o 실행파일경로 .c파일경로(명) .cpp 파일 컴파일 명령어 g++ -o 실행파일경로 .cpp파일경로(명)
· LINUX/Linux
[aiocbp 구조체] 이외에도 int aio_reqprio //priority offset요청 필드가 있지만 생략했다. [aio_sigevent] 구조체 aio_sigevent.sigev_notify // 2가지 옵션을 갖는데 이 옵션에 따라 I/O 처리 후 시그널 여부가 결정된다. SIGEV_NONE -> 운영체제가 I/O 완료시 시그널을 발생시키지 않음. SIGEV_SIGNAL -> 운영체제는 aio_sigevent.sigev_signo에서 지정한 시그널을 생성함. Interface int aio_read(struct aiocb *aiocbp) Parameter aiocb 구조체 포인터변수 Function 입력된 구조체에 지정된 파일로부터 aio_bytes만큼 aio_buf에서 읽어온다. Retur..
· LINUX/Linux
sigsuspend함수 이전에 pause함수 프로세스를 일시 중단시키는 함수부터 아라보자. sigsuspend Interface int sigsuspend(sigset_t *sigmask) Parameter sigmask: process를 중단시킴과 동시에 블록(무시할) signal set Function 호출한 프로세스를 중단시킴과 동시에 시그널 셋을 블록시킴. Return Always -1 errno 설정 sigfillset(&sigmost); // 모든 시그널을 sigmost에 포함! sigdelset(&sigmost, signum); // 모든 시그널 중 signum만 제외시킴 sigsuspsend(&sigmost); // signum을 제외한 모든 시그널을 Block시킴과 동시에 프로세스 중단 ..
· LINUX/Linux
Signal mask: 현재 Process가 블록시키고 있는 signal들의 집합 목록 이렇게 시그널 마스크를 다루기 위한 함수들을 아라보자.. 함수 기능 int sigaddset(sigset_t *set, int signo) 시그널 set에 특정한 시그널번호를 추가 int sigdelset(sigset_t *set, int signo) 시그널 set에 특정한 시그널번호를 삭제 int sigemptyset(sigset_t *set) 이미 세팅된 시그널 마스크 목록의 모든 시그널을 삭제 int sigfillset(sigset_t *set) 해당 시그널 세트에 모든 시그널을 포함 int sigismember(sigset_t *set) 해당 시그널 세트에 등록된 시그널이 있는지 체크 sigismemeber 함..
· LINUX/Linux
모든 시그널은 SIG_ 로시작하는 Symbolic name을 가진다. 각각의 Signal에 대한 기본동작은 이미 OS단에서 정의되어있다. 더 자세히 설명하면? 시그널은 프로세스의 PCB 블록에 담겨있는 SIGNAL 관련 자료구조에 기본적인 액션이 명세되어있고, 이 기본 액션에 따라서 시그널이 도착하는 시점에 프로세스가 동작한다, 물론 sigaction 같은 함수를 통해 동작의 재정의가 가능하다. POSIX에서 지정한 시그널 번호와 이름은 다음과 같다. Signal symbolic name Signal Number default action Signal 0: question process alive? 0 SIGHUP 1 SIGINT 2 프로세스에 인터럽트를 발생시켜 죽임 ( Ctrl+C ) SIGQUIT ..
· LINUX/Linux
Siganl 시그널이란? Kernel or Process 에서 다른 process에게 어떤 사건이 발생했음을 알려주는 소프트웨어적인 통지(이벤트) Signal lifetime: 시그널 생성 시점부터 process에게 전달되는 시점까지 [Signal Handler] When process catch the signal , do specific action [Signal Pending] Signal that has been generated, but not yet delivered is said to be pending [Singal mask] 시그널을 블록시키는것, 시그널 마스크는 블록된 시그널의 리스트를 가진다. SIGNAL을 받은 시점에서 해당 프로세스의 ACTION Signal IGNORE SIgna..
M_Falcon
'LINUX' 카테고리의 글 목록 (3 Page)