36static pthread_mutex_t print_mutex = PTHREAD_MUTEX_INITIALIZER;
185void kernel_usageErr(
const char *format, ...) __attribute__ ((__noreturn__));
sem_t * init_semaphore(int value)
세마포어 초기화 함수 선언
void run_multithreading(int num_threads, int use_semaphore,...)
멀티스레드 실행 함수 선언 (쓰레드 수 및 동기화 방법을 입력받음)
void kernel_cmdLineErr(const char *format,...) __attribute__((__noreturn__))
커맨드 라인 오류 처리 함수 선언
void push(LinkedList *list, void *data)
연결 리스트에 요소 추가 함수 선언
void kernel_errExit(const char *format,...)
커널 오류 종료 함수 선언
bool is_empty(LinkedList *list)
연결 리스트가 비었는지 확인하는 함수 선언
void * semaphore_thread(void *arg)
세마포어를 사용하는 스레드 작업 함수 선언
void create_multi_processes(int num_processes,...)
다중 프로세스 생성 함수 선언
void create_threads(int num_threads,...)
스레드 생성 함수 선언
struct LinkedList LinkedList
void * pop(LinkedList *list)
연결 리스트에서 요소 제거 함수 선언
void kernel_fatal(const char *format,...)
커널 치명적 오류 함수 선언
void create_single_process(void(*func)())
단일 프로세스 생성 함수 선언
void kernel_errExitEN(int errnum, const char *format,...)
커널 오류 종료 함수 선언 (오류 번호 사용)
void kernel_errMsg(const char *format,...)
커널 오류 메시지 출력 함수 선언
LinkedList * create_linkedlist()
연결 리스트 생성 함수 선언
void safe_kernel_printf(const char *format,...)
스레드 안전한 출력 함수 선언
void * mutex_thread(void *arg)
뮤텍스를 사용하는 스레드 작업 함수 선언
void kernel_usageErr(const char *format,...) __attribute__((__noreturn__))
커널 사용법 오류 함수 선언
pthread_mutex_t * init_mutex()
뮤텍스 초기화 함수 선언
void destroy_linkedlist(LinkedList *list)
연결 리스트 삭제 함수 선언