[Pintos] LIST

0

pintos-project

목록 보기
3/8

Pintos의 list 자료 구조

 /* 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

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의 포인터를 반환한다.*/

0개의 댓글