ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 프로세스(Process)와 쓰레드(Thread)
    Today I Learned 2021. 3. 10. 20:56

    프로그램

    • 컴퓨터에서 실행될 때 특정 작업을 수행하는 일련의 명령어들의 모음
    • 어떤 작업을 위해 실행할 수 있는 파일

     

    프로세스

    • 컴퓨터에서 연속적으로 실행되고 있는 프로그램(음악 재생 프로그램, 문서 작성 프로그램 등)
    • 프로그램을 구동하여 프로그램의 상태가 메모리 상에서 실행되는 작업 단위를 지칭
    • 운영체제로부터 시스템의 자원을 할당받는 작업의 단위
    • 운영체제 위에서 독립적으로 실행되고 있는 프로그램
    • Code, Data, Stack, Heap 으로 구성된다

     

    프로세스의 구성

    • Code: 프로그램을 실행하기 위해 작성된 코드
    • Stack: 프로세스 안에서 함수들의 실행 순서에 대한 정보를 저장
    • Heap: 동적으로 할당된 변수들을 저장
    • Data: 전역 변수, 스태틱 변수들을 저장

     

    쓰레드

    • 프로세스에서 실행되는 여러 흐름의 단위 ("프로세스 안에서 동작하는 일꾼들")
    • 한 프로세스 안에서 여러 개의 쓰레드를 실행할 수 있다
    • 쓰레드는 각각 할 일을 배정받아 각자의 작업을 수행한다
    • 쓰레드마다 각자의 일을 수행하기 위해 각자의 Stack이 할당된다
    • 쓰레드들은 프로세스에 지정된 Code, Data, Heap에 공통적으로 접근할 수 있다

     

    두 개의 스레드를 실행하고 있는 하나의 프로세스. (출처 : 위키백과)

    'Today I Learned' 카테고리의 다른 글

    함수형 프로그래밍 입문  (0) 2021.03.22
    WEB APIs  (0) 2021.02.18
    Redux  (0) 2020.10.28
    브라우저의 렌더링 과정  (0) 2020.10.21
    리액트에서 여러 input 태그 다루기  (0) 2020.10.14

    댓글

Designed by Tistory.