커널

**'운영체제'**는 커널과 함께 사용자 편의를 위한 시스템 프로그램을 포함하며,

**'커널'**은 컴퓨터 자원을 관리하는 운영체제의 핵심 부분이다.

배포판과 운영체제는 같은 의미이나, **'배포판'**은 주로 리눅스 계열 운영체제에 한해 사용된다.


display_process

void display_process(){
	struct task_struct *temp;
	temp = &init_task;
	for(;;){
		printk("PID : %d PNAME : %s STATE: %d\\n",temp->pid, temp-> comm, temp->state);
		temp = next_task(temp);
		if(temp == &init_task)
			break;
	}
	printk("\\n");
}

Untitled


strstr - 문자열에서 부분 문자열을 찾는 함수

char *strstr(const char *haystack, const char *needle);
void display_processes_with_string(const char* target_string) {
    struct task_struct *temp;
    temp = &init_task;

    for (;;) {
        if (strstr(temp->comm, target_string) != NULL) {
            // 만약 프로세스 이름에 target_string이 포함되어 있다면 출력
            printk("PID: %d PNAME: %s STATE: %d\\n", temp->pid, temp->comm, temp->state);
        }

        temp = next_task(temp);

        if (temp == &init_task)
            break;
    }
    printk("\\n");
}


strcmp - 문자열 비교 함수

strcmp는 C 언어에서 문자열 비교를 수행하는 표준 라이브러리 함수 중 하나

int strcmp(const char *str1, const char *str2);