728x90
do_schedule
void do_schedule(int status)
- destruction_req를 비워주고(페이지 청소)
- 현재 스레드의 상태를 status로 바꾸고
- shedule 함수 실행
schedule
void schedule(void)
- 현재 실행 중인 스레드(curr)와 다음에 실행될 스레드(next)를 찾는다.
- 실행 준비: next의 상태를 running으로 바꿔주고 thread_ticks를 0으로 바꿔줌
- thread_launch() 호출: 실행 중이던 스레드 정보를 저장하고 다음 스레드의 정보로 교체함
memcpy
void *memcpy (void *dst_, const void *src_, size_t size)
- src에서 size만큼 읽어서 dst에 복사
- dst를 반환
memset
void * memset (void *dst_, int value, size_t size)
- dst의 size만큼을 value로 세팅(초기화)
load
static bool load (const char *file_name, struct intr_frame *if_)
- file_name으로 들어오는 command line을 parsing하여 파일을 실행시킴
- 나머지 argument들은 interrupt frame에 저장해줌.
728x90
'SW사관학교 정글 4기 > pintos' 카테고리의 다른 글
install_page (0) | 2022.06.11 |
---|---|
load_segment (0) | 2022.06.11 |
[Project 2 - Userprogram] 시스템콜, 시스템콜 핸들러 (0) | 2022.06.05 |
Project 2: User Programs 검색어 목록 (0) | 2022.05.30 |
pintos alarm clock 테스트 에러 (0) | 2022.05.28 |
댓글