#include <pthread.h>
#include <semaphore.h>
#include <stdarg.h>
#include <stdbool.h>
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/wait.h>
Go to the source code of this file.
|
| void | safe_kernel_printf (const char *format,...) |
| | 스레드 안전한 출력 함수 선언
|
| |
| LinkedList * | create_linkedlist () |
| | 연결 리스트 생성 함수 선언
|
| |
| void | push (LinkedList *list, void *data) |
| | 연결 리스트에 요소 추가 함수 선언
|
| |
| void * | pop (LinkedList *list) |
| | 연결 리스트에서 요소 제거 함수 선언
|
| |
| bool | is_empty (LinkedList *list) |
| | 연결 리스트가 비었는지 확인하는 함수 선언
|
| |
| void | destroy_linkedlist (LinkedList *list) |
| | 연결 리스트 삭제 함수 선언
|
| |
| void | create_threads (int num_threads,...) |
| | 스레드 생성 함수 선언
|
| |
| void | create_single_process (void(*func)()) |
| | 단일 프로세스 생성 함수 선언
|
| |
| void | create_multi_processes (int num_processes,...) |
| | 다중 프로세스 생성 함수 선언
|
| |
| sem_t * | init_semaphore (int value) |
| | 세마포어 초기화 함수 선언
|
| |
| pthread_mutex_t * | init_mutex () |
| | 뮤텍스 초기화 함수 선언
|
| |
| void | kernel_errMsg (const char *format,...) |
| | 커널 오류 메시지 출력 함수 선언
|
| |
| void | kernel_errExit (const char *format,...) |
| | 커널 오류 종료 함수 선언
|
| |
| void | kernel_errExitEN (int errnum, const char *format,...) |
| | 커널 오류 종료 함수 선언 (오류 번호 사용)
|
| |
| void | kernel_fatal (const char *format,...) |
| | 커널 치명적 오류 함수 선언
|
| |
| void | kernel_usageErr (const char *format,...) __attribute__((__noreturn__)) |
| | 커널 사용법 오류 함수 선언
|
| |
| void | kernel_cmdLineErr (const char *format,...) __attribute__((__noreturn__)) |
| | 커맨드 라인 오류 처리 함수 선언
|
| |
| void * | semaphore_thread (void *arg) |
| | 세마포어를 사용하는 스레드 작업 함수 선언
|
| |
| void * | mutex_thread (void *arg) |
| | 뮤텍스를 사용하는 스레드 작업 함수 선언
|
| |
| void | run_multithreading (int num_threads, int use_semaphore,...) |
| | 멀티스레드 실행 함수 선언 (쓰레드 수 및 동기화 방법을 입력받음)
|
| |
◆ ENGINE_H
◆ LinkedList
| typedef struct LinkedList LinkedList |
◆ Node
◆ create_linkedlist()
◆ create_multi_processes()
| void create_multi_processes |
( |
int | num_processes, |
|
|
| ... ) |
다중 프로세스 생성 함수 선언
- Parameters
-
| num_processes | 생성할 프로세스 수 |
| ... | 프로세스 함수 포인터 |
다중 프로세스 생성 함수 선언
- Parameters
-
| num_processes | 생성할 프로세스 수 |
| ... | 프로세스 함수 포인터 |
Definition at line 94 of file kernel_engine.c.
◆ create_single_process()
| void create_single_process |
( |
void(* | func )() | ) |
|
단일 프로세스 생성 함수 선언
- Parameters
-
단일 프로세스 생성 함수 선언
- Parameters
-
Definition at line 76 of file kernel_engine.c.
◆ create_threads()
| void create_threads |
( |
int | num_threads, |
|
|
| ... ) |
스레드 생성 함수 선언
- Parameters
-
| num_threads | 생성할 스레드 수 |
| ... | 스레드 함수 포인터 |
스레드 생성 함수 선언
- Parameters
-
| num_threads | 생성할 스레드 수 |
| ... | 스레드 함수 포인터 |
Definition at line 50 of file kernel_engine.c.
◆ destroy_linkedlist()
연결 리스트 삭제 함수 선언
- Parameters
-
연결 리스트 삭제 함수 선언
- Parameters
-
Definition at line 238 of file kernel_engine.c.
◆ init_mutex()
| pthread_mutex_t * init_mutex |
( |
| ) |
|
뮤텍스 초기화 함수 선언
- Returns
- 뮤텍스 포인터
뮤텍스 초기화 함수 선언
- Returns
- 뮤텍스 포인터
Definition at line 157 of file kernel_engine.c.
◆ init_semaphore()
| sem_t * init_semaphore |
( |
int | value | ) |
|
세마포어 초기화 함수 선언
- Parameters
-
- Returns
- 세마포어 포인터
세마포어 초기화 함수 선언
- Parameters
-
- Returns
- 세마포어 포인터
Definition at line 122 of file kernel_engine.c.
◆ is_empty()
연결 리스트가 비었는지 확인하는 함수 선언
- Parameters
-
- Returns
- true 리스트가 비었을 경우
-
false 리스트에 요소가 있을 경우
연결 리스트가 비었는지 확인하는 함수 선언
- Parameters
-
- Returns
- true 리스트가 비었을 경우
-
false 리스트에 요소가 있을 경우
Definition at line 229 of file kernel_engine.c.
◆ kernel_cmdLineErr()
| void kernel_cmdLineErr |
( |
const char * | format, |
|
|
| ... ) |
커맨드 라인 오류 처리 함수 선언
- Parameters
-
| format | 포맷 문자열 |
| ... | 가변 인자 리스트 |
커맨드 라인 오류 처리 함수 선언
- Parameters
-
| format | 포맷 문자열 |
| ... | 가변 인자 리스트 |
Definition at line 382 of file kernel_engine.c.
◆ kernel_errExit()
| void kernel_errExit |
( |
const char * | format, |
|
|
| ... ) |
커널 오류 종료 함수 선언
- Parameters
-
| format | 포맷 문자열 |
| ... | 가변 인자 리스트 |
커널 오류 종료 함수 선언
- Parameters
-
| format | 포맷 문자열 |
| ... | 가변 인자 리스트 |
Definition at line 313 of file kernel_engine.c.
◆ kernel_errExitEN()
| void kernel_errExitEN |
( |
int | errnum, |
|
|
const char * | format, |
|
|
| ... ) |
커널 오류 종료 함수 선언 (오류 번호 사용)
- Parameters
-
| errnum | 오류 번호 |
| format | 포맷 문자열 |
| ... | 가변 인자 리스트 |
커널 오류 종료 함수 선언 (오류 번호 사용)
- Parameters
-
| errnum | 오류 번호 |
| format | 포맷 문자열 |
| ... | 가변 인자 리스트 |
Definition at line 330 of file kernel_engine.c.
◆ kernel_errMsg()
| void kernel_errMsg |
( |
const char * | format, |
|
|
| ... ) |
커널 오류 메시지 출력 함수 선언
- Parameters
-
| format | 포맷 문자열 |
| ... | 가변 인자 리스트 |
커널 오류 메시지 출력 함수 선언
- Parameters
-
| format | 포맷 문자열 |
| ... | 가변 인자 리스트 |
Definition at line 296 of file kernel_engine.c.
◆ kernel_fatal()
| void kernel_fatal |
( |
const char * | format, |
|
|
| ... ) |
커널 치명적 오류 함수 선언
- Parameters
-
| format | 포맷 문자열 |
| ... | 가변 인자 리스트 |
커널 치명적 오류 함수 선언
- Parameters
-
| format | 포맷 문자열 |
| ... | 가변 인자 리스트 |
Definition at line 346 of file kernel_engine.c.
◆ kernel_usageErr()
| void kernel_usageErr |
( |
const char * | format, |
|
|
| ... ) |
커널 사용법 오류 함수 선언
- Parameters
-
| format | 포맷 문자열 |
| ... | 가변 인자 리스트 |
커널 사용법 오류 함수 선언
- Parameters
-
| format | 포맷 문자열 |
| ... | 가변 인자 리스트 |
Definition at line 362 of file kernel_engine.c.
◆ mutex_thread()
| void * mutex_thread |
( |
void * | arg | ) |
|
뮤텍스를 사용하는 스레드 작업 함수 선언
- Parameters
-
- Returns
- NULL
뮤텍스를 사용하는 스레드 작업 함수 선언
- Parameters
-
- Returns
- NULL
Definition at line 427 of file kernel_engine.c.
◆ pop()
연결 리스트에서 요소 제거 함수 선언
- Parameters
-
- Returns
- 제거된 데이터 포인터
연결 리스트에서 요소 제거 함수 선언
- Parameters
-
- Returns
- 제거된 데이터
Definition at line 203 of file kernel_engine.c.
◆ push()
연결 리스트에 요소 추가 함수 선언
- Parameters
-
| list | 연결 리스트의 포인터 |
| data | 추가할 데이터 포인터 |
연결 리스트에 요소 추가 함수 선언
- Parameters
-
Definition at line 183 of file kernel_engine.c.
◆ run_multithreading()
| void run_multithreading |
( |
int | num_threads, |
|
|
int | use_semaphore, |
|
|
| ... ) |
멀티스레드 실행 함수 선언 (쓰레드 수 및 동기화 방법을 입력받음)
- Parameters
-
| num_threads | 생성할 스레드 수 |
| use_semaphore | 세마포어 사용 여부 |
| ... | 동기화 방법 (세마포어 또는 뮤텍스) |
멀티스레드 실행 함수 선언 (쓰레드 수 및 동기화 방법을 입력받음)
- Parameters
-
| num_threads | 생성할 스레드 수 |
| use_semaphore | 세마포어 사용 여부 |
| ... | 동기화 방법 (세마포어 또는 뮤텍스) |
Definition at line 453 of file kernel_engine.c.
◆ safe_kernel_printf()
| void safe_kernel_printf |
( |
const char * | format, |
|
|
| ... ) |
스레드 안전한 출력 함수 선언
- Parameters
-
| format | 포맷 문자열 |
| ... | 가변 인자 리스트 |
스레드 안전한 출력 함수 선언
- Parameters
-
| format | 포맷 문자열 |
| ... | 가변 인자 리스트 |
Definition at line 32 of file kernel_engine.c.
◆ semaphore_thread()
| void * semaphore_thread |
( |
void * | arg | ) |
|
세마포어를 사용하는 스레드 작업 함수 선언
- Parameters
-
- Returns
- NULL
세마포어를 사용하는 스레드 작업 함수 선언
- Parameters
-
- Returns
- NULL
Definition at line 402 of file kernel_engine.c.