/* List of processes in THREAD_READY state, that is, processes that are ready to run but not actually running. */
static struct list ready_list;
/* List of all processes. Processes are added to this list when they are first scheduled and removed when they exit. */
static struct list all_list;
ready_list
: READY 상태의 thread를 관리하는 list
all_list
: 모든 thread를 관리하는 list
void list_init(struct list *list)
/* list 자료 구조를 초기화 한다. */
void list_push_back(struct list *list, struct list_elem *elem)
/* elem을 list의 끝에 삽입*/
void list_push_front(struct list *list, struct list_elem *elem)
/* elem을 list의 처음에 삽입 한다. */
struct list_elem *list_pop_front(struct list *list)
/* list의 처음 list_elem을 반환한다. */
struct list_elem *list_pop_back(stuct list *list)
/* list의 마지막 list_elem을 반환한다.*/
#define list_entry(LIST_ELEM, STRUCT, MEMBER)
/* list_elem을 인자로 list_elem이 포함된 struct의 포인터를 반환한다.*/