연재작/OS (1) 썸네일형 리스트형 Thread와 자원 분배 문제 1. Thread의 정의와 만들어진 배경 스레드(Thread)란, 프로세스(Process) 보다 작은 프로그램의 실행 단위이다. 컴퓨터가 발달하면서 하나의 프로그램에서 복잡한 동시 작업의 필요성이 제기됐다.이에 따라서 하나의 프로그램에 여러 개의 프로세스가 필요했지만, 프로세스 간에는 자원의 공유가 어려웠다. 왜냐하면 서로 다른 프로세스는 완벽히 독립적인 메모리가 할당되기 때문이다. CPU가 프로세스의 작업 중에 다른 프로세스에게 작업을 전환하는 과정을 컨텍스트 스위칭(Context Switching)이라고 한다. 그런데 프로세스라는 단위 자체가 Context Switching에는 적합하지 않은 실행 단위이다. 각각의 프로세스는 고유한 스택과 데이터 영역을 가지고 이는 침범하지 않도록 보호받기 때문이다... 이전 1 다음