Process - 관리(OS)의 단위(연산)로 실행의 흐름(Thread)을 가지고 있다.
Thread - Process가 존재하면 반드시 Thread도 1 개 존재한다. CPU 주로 사용
한 Process에 n개의 흐름(실행)을 가지게 되면 동시에 각자 실행 되는데 이를 멀티 쓰레딩이라고 한다.
(멀티스레딩이 발생되면 동시성, 동기화가 일어난다.)
프로세스가 여러개면 멀티태스킹(Multi tasking)이라고 한다.
스레드(Thread)에 할당된 메모리(Thread Local Storage)는 Stack 메모리
스레드(Thread)가 사용 할 수 있는 메모리는 heap 메모리
운영체제(OS)는 프로세스 관리 블록(PCB)와 스레드 관리 블록(TCB)이 있다.
프로세스는 한정된 CPU를 시분할사용 한다.
설치된 프로그램을 메모리에 올린다(인스턴스화 한다.) = 실행 한다. = 프로그램이 프로세스가 되는 과정
Sleep(자발적) + Suspend(외부 요인 발생)
Sleep()과 우연
Thread: 실행(코드 연산)의 단위, 상태를 가지고 있음
프로세스가 실행 중 보류 상태가 되면 아래와 같이 상태를 PCB에 저장 후 보류 되었다가 다시 실행 시 PCB에 저장된 상태를 다시 불러와서 이어가는 문맥 교환 과정이 발생 된다.
6. 멀티스레드와 동기화 기본 / CPU스케줄링 개요 (0) | 2023.06.29 |
---|---|
5. 프로세스 생성과 복사 (0) | 2023.06.28 |
3. CPU 예측이 가져올 수 있는 문제(보안사고)/프로세스와 스레드 (0) | 2023.06.26 |
2. DMA와 고성능 소켓/CPU의 예측 (0) | 2023.06.25 |
1. 컴퓨터는 3층 구조/인터럽트에서 DirectX까지 (0) | 2023.06.24 |