[운영체제(OS)] 프로세스와 스레드 - (3) 스레드
2022. 2. 14. 20:26
CS/운영체제
0. 🚶들어가며 프로세스와 스레드 3편입니다. 이번 글에서는 프로세스와 항상 같이 나오는 개념인 스레드(Thread)에 대해 알아보겠습니다. 1. 📕스레드의 개념 1) 스레드의 정의 스레드는 어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위이다. 이전 글에서 살펴보았듯 CPU를 할당받은 프로세스는 작업을 수행합니다. 이때 CPU가 처리하는 작업 단위가 프로세스로부터 전달받은 스레드(lightweight process)입니다. 집을 짓는 작업을 프로세스로 비유하면 스레드는 집을 짓는 세부 작업들인 설계, 공사, 인터레어 정도로 비유할 수 있습니다. 위 글만 보면 프로세스와 스레드가 어떤 차이인지 감이 잘 오지 않습니다. 따라서 프로세스와 스레드의 차이점에 대해 더 살펴보겠습니다. 2) 프..
[운영체제(OS)] 프로세스와 스레드 - (2) 프로세스 제어 블록과 문맥 교환
2022. 2. 14. 01:36
CS/운영체제
0. 🚶들어가며 프로세스와 스레드 2편입니다. 이번 글에서는 1편에서 개념만 소개했던 프로세스 제어 블록, PCB에 대해 좀 더 알아보고 시분할 방식과 관련된 개념인 문맥 교환(Context switch)에 대해서 알아보겠습니다. 1. 📕프로세스 제어 블록과 문맥 교환 1) 프로세스 제어 블록(PCB) 프로세스 제어블록(PCB)는 CPU가 프로세스를 실행할 때 필요한 중요 정보들을 보관하는 자료구조입니다. 운영체제 커널의 Data 영역에서 관리되고 있죠. 1편에서 살펴본 바와 같이 모든 프로세스는 고유의 PCB를 가집니다. 또한 PCB는 프로세스 생성 시 만들어져 실행이 완료된 후 폐기됩니다. 그렇다면 PCB에 저장되는 정보는 무엇인지, 각 정보는 무슨 역할을 하는지에 대해서 알아보겠습니다. (1) 프로..