#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.