📒 Tech Note/CS 기본기 뚝딱

    [운영체제] IPC(Inter-Process Communication, 프로세스 간 통신)란?

    [운영체제] IPC(Inter-Process Communication, 프로세스 간 통신)란?

    IPC(Inter-Process Communication)란? 프로세스 간의 통신을 위한 메커니즘을 의미합니다. 프로세스는 원래 독립적으로 존재하는데, 상황에 따라서 프로세스끼리 협력해야하는 경우가 있습니다. 이렇게 프로세스 간의 통신을 커널 영역에서 IPC라는 내부 프로세스간 통신을 제공하고, 이를 통해 프로세스끼리 자원과 데이터 공유할 수 있습니다. 프로세스 개념에 대한 자세한 내용은 다음 글을 참고해주세요. [운영체제] 프로세스란? 프로세스(Process)란? 프로세스는 실행중인 프로그램을 뜻합니다. 여기서 프로그램은 명령어들의 모음을 포함하는 디스크에 저장된 파일을 의미합니다. 프로그램이 실행되면, 프로그램의 명령어 metleeha.tistory.com IPC가 필요한 이유 정보 공유: 여러 사용..

    [운영체제] 프로세스란?

    [운영체제] 프로세스란?

    프로세스(Process)란? 프로세스는 실행중인 프로그램을 뜻합니다. 여기서 프로그램은 명령어들의 모음을 포함하는 디스크에 저장된 파일을 의미합니다. 프로그램이 실행되면, 프로그램의 명령어들과 데이터가 메모리에 쌓이고 이를 프로세스라고 정의합니다. 프로세스의 메모리 구조 각 프로세스는 고유의 메모리 주소를 가지고 있다. Code 영역 (Text 영역): 프로그램을 실행시키는 명령어들이 위치하는 공간 Data 영역: 전역변수, static 변수들이 위치하는 공간 Heap 영역: 동적할당을 위한 메모리 공간 Stack 영역: 지역변수, 파라미터(함수에 전달되는 인자), 주소값 등이 위치하는 공간 프로세스 상태 (Process State) 프로세스가 실행되면 프로세스의 상태가 변화한다. New(생성): 프로..

    [운영체제] 동기와 비동기, 블로킹과 논블로킹

    [운영체제] 동기와 비동기, 블로킹과 논블로킹

    동기(Synchronous)와 비동기(Asynchronous) 동기/ 비동기는 주로 어플리게이션에서 다뤄지는 개념이며, 다음 작업이 요청되는 시간과 관련이 있다. 동기(Synchronous) 현재 작업의 응답이 끝남과 동시에 다음 작업이 요청된다. 함수를 호출하는 곳에서 호출되는 함수가 결과를 반환할 때까지 기다린다. 작업 완료 여부를 계속해서 확인한다. 비동기(Asynchronous) 현재 작업의 응답이 끝나지 않은 상태에서 다음 작업이 요청된다. 함수를 호출하는 곳에서 결과를 기다리지 않고, 다른 함수(callback)에서 결과를 처리한다. 작업 완료 여부를 확인하지 않는다. 자바스크립트는 Single Thread 기반의 언어로 한번에 한 명력씩만 수행된다. 따라서 시간이 많이 걸리는 작업을 진행하는..