• Computer Architecture,  Study

    [Computer Arch.] Endian

    Memory에 data를 저장하는 방식은 크게 두 종류 1) Big endian 2) little endian으로 나뉜다. 기본적으로 register에 저장될 때는 모르지만 memory로 옮겨서 저장할 때는 endian 방식에 따라서 다르게 저장된다. Big Endian 사람이 이해하는 숫자를…

  • OS,  Study

    [OS] Message Queue

    IPC를 위한 방법은 크게 6가지가 있다. Pipe FIFO Message Queue Shared Memory Semaphore Socket Pipe나 FIFO는 file descriptor를 이용해서 통신하기 때문에 virtual file system에 속한다. Message queue, shared memory, semaphore는 key값을 통해서 통신한다.…

  • OS,  Study

    [OS] Pipe

    Inter Process Communication (IPC) 방법 중 하나로, OS에서 process의 standard 출력을 다른 process의 standard input에 연결하는 방식이다. Process간 단방향 통신의 한 방법이며 동기화를 기본적으로 제공한다. Signal은 1~31번까지 번호만 전달할 수 있지만, pipe는 data를…

  • OS,  Study

    [OS] SIGALRM 동작

    Linux signal 종류 중 SIGALRM의 동작에 대해 알아본다. 기본적으로 alarm() 함수를 통해 signal을 줄 수 있으며, 인자로 “초”를 받는다. Signal number는 14번이다. Argument Description unsigned int seconds 알람을 주고자 하는 초0을 넣게 되면…

  • OS,  Study

    [OS] Signal 동작

    Process간 통신을 하기 위해 signal을 사용한다. 우리가 평소에 자주 사용하는 많은 명령어들이 signal로 process에게 전달된다. Ctrl+c Ctrl+z kill 명령어 잘못된 메모리 참조 우리가 인위적으로 signal을 줄 수 있는 것들을 보는 방법은 다음과 같다.…

  • OS,  Study

    [OS] Process Synchronization

    1. Introduction Multi-processing, multi-core, multi-threading과 같이 다수의 주체가 공유하고 있는 자원을 접근 할 때 synchronization을 하지 않으면 우리가 의도하지 않는 동작이 system에서 발생할 수 있다. 1.1 Critical section Critical section은 오직 하나의 process만이…

  • OS,  Study

    [OS] Daemon Process

    어떤 event가 발생할 때까지 기다리거나, 주기적으로 주어진 일을 수행하기 위해 background에 있는 process를 말한다. 특징은 다음과 같다. 제어 터미널을 가지지 않으며 background에서 수행 보통 system 부팅이 될 때 시작되며 shutdown 될 때 종료…

  • OS,  Study

    [OS] fork: Process 생성 및 종료

    Linux에서 fork()는 자식 process를 생성하는데 쓰이는 system call 함수다. Argument Description void – Return Description 0 Child process인 경우 0보다 큰 경우 Parent process인 경우 -1 비정상적 종료가 발생한 경우 위 코드를 수행하게…

  • OS,  Study

    [Linux] 표준 입출력 (stdin, stdout, stderr)

    Name Description stdin 키보드 입력을 뜻한다 stdout 화면 출력을 말한다 (line buffer 사용) stderr 화면 출력을 말한다 (non buffer) stdout과 stderr의 차이는 line buffer의 사용 유무다. 우리가 C programming에서 사용하는 printf는 fprintf(stdout, "")과…