Thread

Computer Science

OS | MultiThreading(멀티 스레딩) & MultiProcessing(멀티 프로세싱)

최근에 프로그램 성능 향상을 위해 병렬 처리를 하고자 했으며, 이 포스팅은 스레딩을 사용할 것이냐 멀티 프로세스를 사용할 것이냐, 무엇이 더 적합한가에 대해 알아보고 고민을 하며 정리한 글이다. 1. 프로세스 프로세스는 프로그램이 실행되는 하나의 instance로 컴퓨터에서 연속적으로 실행 중인 프로그램을 의미한다. 각 프로세스는 각각 메모리 공간을 가지며 데이터를 저장하기 때문에 여러개의 프로세스를 사용할 때 하나의 프로세스가 죽어도 다른 프로세스에 영향을 끼치지 않아 작업이 중단되지 않는다. 2. 스레드 스레드는 하나의 프로세스 내에서 실행되는 흐름의 단위로 프로세스의 component이다. 하나의 프로세스에 여러 쓰레드가 생성될 수 있으며 부모 프로세스의 메로리 공간을 공유하기 때문에 하나의 프로그..

Computer Science

OS | 프로세스와 스레드의 비교, Process & Thread

- 프로세스(Process)란? 프로세스는 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다. 프로그램은 하드 디스크 등에 저장되어 있는 실행코드를 뜻하며, 프로세스는 프로그램을 구동해서 프로그램 자체와 프로그램의 상태가 메모리 상에서 실행되는 작업 단위를 의미한다. 스케줄링의 대상이 되는 task(작업)이라는 용어와 같은 의미로 쓰이기도 한다. 여러 개의 프로세스를 사용하는 걸 '멀티 프로세싱'이라고 하며 같은 시간에 여러 개의 프로그램을 띄우는 시분할 방식을 '멀티 태스킹'이라고 한다 프로세서의 상태에는 생성, 실행, 준비, 대기, 종료가 있다. 커널 내 준비 큐, 대기 큐, 실행 큐 등의 자료 구조가 있고 커널은 이것들을 이용해 프로세스의 상태를 관리한다. 생성(create) : 프로세스..

토오오끼
'Thread' 태그의 글 목록