PINTOS 프로그램 실행

zeo·2021년 10월 12일
0
  1. init.c/ main()

  2. init.c/ run_actions(char ** argv)

  3. init.c/ run_task(char ** argv)

  4. process.c/ process_wait(process_create_initd(task))

  5. thread.c/ thread_create(file_name, PRI_DEFAULT, initd, fn_copy)
    -커널 스레드 생성 후, initd(fn_copy)

  6. processs.c/ initd(fn_copy)

  7. process.c/ process_exec(fn_copy)
    -intr_frame 구조체 생성
    -process_cleanup()으로 초기화
    -fn_copy -> parsing

  8. process.c/ load()
    -allocate and activate page directory
    -open executable file
    -set up user_stack
    -start address 할당

  9. process.c/ load_userstack(argv, argc, rspp)

  10. process.c/ do_iret(&_if)
    -launch the thread

0개의 댓글