OS/Pintos P.J_23 [Project 2_User Programs]_System Calls userprog 테스트 위한 아웃풋 list (디버그 할 때 사용하면 좋아요) 더보기 더보기 pintos -v -k -T 60 -m 20 --fs-disk=10 -p tests/userprog/create-empty:create-empty -- -q -f run create-empty pintos -v -k -T 60 -m 20 --fs-disk=10 -p tests/userprog/create-null:create-null -- -q -f run create-null pintos -v -k -T 60 -m 20 --fs-disk=10 -p tests/userprog/create-bad-ptr:create-bad-ptr -- -q -f run create-bad-ptr pintos -v -k -T 60 .. 2022. 1. 9. [Project 2_User Programs]_Argument Passing(인수전달) 현재 핀토스 process_exec()파일을 보면 새로운 프로세스에게 인수전달을 하지 않는다고 한다. 따라서 process_exec()를 수정하여 위 기능을 구현해야 한다. 단순히 파일이름을 인수로 사용하는 대신 공백을 기준으로 단어를 나누어 전달해야 한다. 첫번째는 프로그램의 이름, 두번째 단어부터는 첫번째 인수 이다. 예를들어 process_exec("grep foo bar") 라고 한다면 파일명은 grep, foo와 bar는 각각 첫번째 두번째 인자가 되도록 파싱해 주어야 한다. strtok_r()을 이용 원하는 방식으로 인수 문자열을 구문 분석할 수 있다. 한양대 핀토스 pdf자료를 토대로 본 part2의 흐름과 구현해야하는 부분 우리 과제 부분에서 start_process()는 process_e.. 2022. 1. 4. [Project 2_User Programs]_Intro project 2 Intro 프로 젝트 2에서는 프로그램과 OS 사이 시스템 콜을 통해 상호작용을 하는 것에 관하여 다루어 본다고 한다. 프로젝트 1을 통과 못했다면 2에 영향이 있으니 프로젝트 1의 Advanced Scheduler 전까지 완료를 하고 이어 가자. 하나이상의 프로세스가 동시에 진행하도록 해야 한다. 멀티스레드는 지원하지 않고 각 프로세스는 하나의 스레드를 가진다 사용자 프로그램은 가상의 Machine에서 쓰였다고 생각하고 메모리 스케쥴링, 기타 다른 상태들도 관리하여 이 Machine을 올바르게 유지시켜야 한다. project 2를 진행하기에 추천하는 사전 지식 synchronization, virtual addrees 이전 thread프로젝트에서는 테스트를 진행할 때 코드를 커널에 직.. 2022. 1. 1. 이전 1 다음