728x90
반응형
PCB (Process Control Blocks)
프로세스의 정보를 저장하고 있는 데이터 블럭
Linux Kernel > /include/linux/sched.h
struct task_struct {
...
}
> PCB 역할을 해주는 구조체
volatile long state;
unsigned int __state;
unsigned int saved_state;
> 현재 프로세스의 상태를 나타내줌
- running → TASK_RUNNING
- ready → TASK_RUNNING (X)
- bocked → TASK_INTERRUPIBLE 등 (blocked의 종류에 따라 달라짐)
void *stack;
> Pointer to the kernel-mode stack
프로세스 마다 스택이 존재함 → user-mode stack / kernel-mode stack
unsigned int cpu;
int recent_used_cpu;
int wake_cpu;
> CPU에 대한 정보
- cpu : 몇 번 cpu 코어를 사용하는지
- recent_used_cpu : task를 수행하는데 사용된 마지막 cpu
struct mm_struct *mm;
struct mm_struct *active_mm;
> memory virtualization에 대한 정보
struct task_struct *parent;
struct list_head children;
> fork()로 인해 발생하는 부모, 자식 프로세스에 대한 정보
- parent : recipient of SIGHLD, wait4() reports
- children : children information
struct files_struct *files;
> open 한 파일들에 대한 정보
728x90
반응형
'CS > OS' 카테고리의 다른 글
CPU Scheduling (1) | 2024.08.12 |
---|---|
Limited Direct Execution (0) | 2024.04.28 |
Process (4) | 2024.04.28 |
Disk Scheduling (디스크 스케줄링) (0) | 2024.02.05 |