프로세스와 스레드(Process, Thread)



🖥️ Process와 Thread 정리

하나의 프로그램에 반드시 하나의 프로세스가 포함함.

CPU - Core CU - 한 줄 한 줄 읽으라고 명령 Decoder - 명령에 따라서 번역. ALU한테 명령 수행 내림. ALU - 명령 수행.(계산) ↑ RAM - 운영체제가 구역을 만듦. > PCB : 프로세스 구역 ↑ PMA I/O CODE ↑ DATA SSD(.exe) Stack Heap BSS

[CPU - Core (하나로 간주) : 병행성]

New Ready Running(Runtime) (Termicated) 생성 -> 준비 (A, B) -> 운영체제가 우선순위 부여하고 실행 (스케쥴링) -> 종료 대기 후 준비로 다시 ↓ <┙ 인터럽트로 인한 대기 (wait)

※ 만약 Core가 2개 이상일 경우 : 병렬성

※ 멀티 프로세스는 IPC 때문에 느림. => 해결을 위해 한 프로세스를 쪼개서 쓰레드 사용 * Thread - 프로세스처럼 TCB가 각각 붙음.


선점형

  • 코어에 할당되어 실행 중인 프로세스(혹은 쓰레드)를 운영체제가 끄집어내고 대기 중인 다른 프로세스를 할당.

비선점형

  • 운영체제가 코어에 할당되어 실행 중인 프로세스가 전부 끝나고 대기 중인 다른 프로세스를 할당.

🖥️ 강사님 판서 정리 (따로 그려서 정리해볼 것!)


출처 :
* https://medium.com/@cloud.devops.enthusiast/thread-in-os-e457142e71ca


© 2024. All rights reserved.

Powered by Hydejack v9.2.1