본문 바로가기

CS 백엔드

[CS] 백엔드 (추가중) - 운영체제

 

※ Development common sense

 

프로세스와 스레드

프로세스 ->

  • 실행중인 프로그램을 의미.
  • 운영체제로부터 자원을 할당받는다.

스레드 ->

  • 실쟁 제어만 분리한 것.
  • 프로세스로부터 자우너을 할당받고, 프로세스의 코드, 데이터, 힙영역을 공유하기 떄문에 좀 더 효율적으로 통신할 수 있다.
  • 캐시메모리를 비우지 않아도 되는 스레드 쪽이 빠르다.
  • 한 프로세스 안에 여러개의 스레드가 생성될 수 있다.

동기와 비동기

동기 방식 ->

  • 메서드 리턴과 결과를 전달받는 시간이 일치하는 명령 실행 방식.
  • 한 함수가 끝나는 시간과 바로 다음의 함수가 시작되는 시간이 같다.

비동기 방식 ->

  • 여러 개의 처리가 함께 실행되는 방식.
  • 동기 방식에 비해 단위시간 당 많은 작업을 처리할 수 있다.
  • CPU나 메모리를 많이 사용하는 작업을 비동기로 처리하게 되면 과부하가 걸릴 수 있습니다.
  •  

멀티 스레드 프로그래밍

  • 하나의 프로세스에서 여러 개의 스레드를 만들어 자원의 생성과 관리의 중복을 최소화 하는 것.