티스토리 뷰
User-level Thread 만들기
리눅스에는 thread의 개념이 없어서, 프로세서처럼 취급하고 만든다.
pthread란 POSIX Thread의 약자로 유닉스계열 POSIX시스템에서 병렬적으로 작동하는 소프트웨어를 작성하기 위하여 제공하는 API입니다.
pthread_create
pthread_create(pthread_t *thread, const pthread_attr_t * attr, void*(*start_routine)(void*), void *arg)
pthread_join: 전달된 thread가 끝나기를 기다린다
pthread_join(pthread_thread, void**retval)
* gcc 컴파일시 다음과 같이 -pthread옵션을 넣어줘야 한다
gcc -o test test.c -pthread
Kernel Thread 만들기
kthread_create(threadfn, data, namefmt, arg...)
kthread_run(threadfn, data, namefmt, ...)
threadfn은 static int를 리턴하는 형태여야 한다.
kthread_stop(struct task_struct *k)
kthread_should_stop()
'OS > Linux' 카테고리의 다른 글
[Linux] sudo: command not found 해결하기 (1) | 2022.02.22 |
---|---|
[OS] ubuntu version 확인하기 (0) | 2022.02.22 |
[Linux][OS][WIP] synchronization하기 (0) | 2021.11.08 |
[Linux] VMWare Ubuntu 디스크 공간 확장하기 (0) | 2021.10.12 |
[Linux] 커널 빌드 해보기 (0) | 2021.10.11 |