프로세스
명령어의 집합체. 즉, 작업이라고 이해하면 됨
최소 1개의 Thread 존재
PCB
OS에서 프로세스 상태 관리
- pid (process id)
- 실행중인 코드 (기계어) 명령어의 메모리 주소를 담고 있음
cpu core 8가 있다고 가정해보자. process는 100개 있고 process내 쓰레드는 3000개가 있다고 했을 경우, 3000개가 cpu를 쓰겠다고 할경우 병목현상이 날 수 있으니 줄을 새우고, 시분할 사용한다. 너무나 빠른 속도로 전환하니 마치 동시에 작업되는것 처럼 느껴진다.
쓰레드
Virtual Memory에서 Process 내에서만 명령어의 실행 흐름
쓰레드 마다 각자 Thread Local Storage를 고유하고 있음
멀티 쓰레딩
동시성과 동기화 이슈가 항상 생김
heap영역을 나눠쓰기 때문에
연산
명령어를 실행하려면 cpu + ram이 필요. cpu에 직접 지정할 순 있지만, physical memory에 직접 지정할 순 없음.
무조건 가상 메모리를 타고 가야함.
가상메모리는 필요 시 hdd를 활용 할 수 있음.
느리지만, 실행이 안되는 것보다 나음
https://www.youtube.com/watch?v=2i3dInwVeUM&list=PLXvgR_grOs1DGFOeD792kHlRml0PhCe9l&index=10
'IT' 카테고리의 다른 글
CSS 우선순위 (0) | 2024.01.09 |
---|---|
firebase web hosting 배포 시 node.js 버전 해결 방법 (0) | 2023.12.17 |
[운영체제] DMA (Direct Memory Access) (0) | 2023.10.28 |
[컴퓨터 구조] CPU > Program Counter (1) | 2023.10.28 |
[운영체제] 인터럽트 (0) | 2023.10.28 |