-
Notifications
You must be signed in to change notification settings - Fork 0
2주차 월요일 그룹 2
지찬우 edited this page Jul 1, 2024
·
7 revisions
- Program? Process? Thread?
- Process cycle(생명주기)
- PCB, TCB
- Context switching
- Java thread support
- Program? Process? Thread?
특정 작업을 수행하는 명령어와 데이터들의 모음
코드의 연속적인 흐름
프로그램이 운영 체제에 의해 메모리상에서 실행된 인스턴스, 고유한 주소 공간과 자원을 가지며, 여러 스레드를 포함할 수 있음. 하나 이상의 스레드를 가진다.
코드를 실행하는 주체(직접 일을 함) 프로세스 내에서 실행 흐름의 기본 단위로, 독립적인 실행 경로를 가지며, 프로세스 내의 다른 스레드들과 메모리 공간을 공유하여 효율적인 병렬 처리를 가능하게 함.
프로세스가 할당하는? 작업 단위이다.
프로세스가 생성되면 -> new
PCB, TCB PCB, TCB PCB: PID, state, Program Counter, register, scheduling 정보, memory 관리 정보 등등 TCB: PC register,
Process TLB valid update, Page Table 초기화 등의 이유로 Process Context Swtiching의 비용이 Thread 보다 크다. -> 프로세스 단위로 리소스가 할당되기 때문
Thread 스택 포인터, 레지스터, PC들만 저장하고(가상 메모리의 커널 스택에), 나머지는 공유함
유저 스레드 흔히 Thread 클래스로 만드는 스레드 OS와는 관련이 없다