-
[SW 정글 65일차] Pintos project 2 입문기타/SW 사관학교 정글 2021. 10. 7. 02:36
오늘 저녁까지 개념공부를 마치고 Pintos project 2 과제에 입문하려고 한다.
바로 구현에 들어가기 전에 이번에는 어떠한 것을 해야하는지를 정리하고 내일부터 코드를 보기 시작할 것이다.
일단은 아래 사이트에서 project2: user programs introduction을 읽고 정리하려고 한다.
https://casys-kaist.github.io/pintos-kaist/project2/introduction.html
Project2: User Programs - Introduction
저번 project 1을 통해서는 thread pakage를 수정하면서 thread에 대한 것을 공부할 수 있었다.
지난 주는 test파일에 작성된 정적인 코드를 돌린 것을 test한 것이지만 이번 주차는 user programs을 동작시키기 위한 구현 과제이다.
일단 현재 아무 것도 하지 않은 base code상태는 user program을 로딩하고 실행시키는 것을 지원하지만 I/O나 인터렉티브는 가능하지 않은 상태이다.
인터렉티브란 사람들로부터 입력을 받는 것을 의미하는데 사용자와의 상호작용은 대개 텍스트 기반 또는 그래픽 사용자 인터페이스 둘 다 사용된다.
그래서 이번 project 2에서는 sysyem calls를 통해 programs이 OS와 interact할 수 있도록 하는 것이다.
Background
background에서 말하는 것은 이전 project 1에서 한 test와 project 2에서 해야할 user program의 차이점을 말해준다.
이전 project 1에서 돌린 test에 사용된 것은 operating system kernel의 일부여서 커널의 일부분으로 실행된 것이다.
하지만 이번 project 2 user program은 모든 machine을 공유한다는 가정 하에 작성된 것으로 여러 개의 프로세스들을 로드하고 실행하려면 메모리, 스케쥴링을 포함한 다른 부분들을 관리해야 한다.
조금 더 정리해보면 이전에 했던 것은 커널에 직접적으로 test code를 컴파일하기 떄문에 커널 내에 특정한 함수를 요구했다.
하지만 지금은 user program을 로드하고 실행시키면서 더 자유성이 있지만 kernel code를 수정하는데 있어 제약사항이 주어진다.
[오늘의 나는 어땠을까?]
오늘은 코딩테스트 스터디 '기강확립'을 위해 아침 8시까지 강의실에 왔다.
아침에 눈을 뜨고 샤워를 할 때에는 정말 힘들었지만 그래도 어찌어찌해서 와서 코딩테스트 문제를 풀었다.
하지만 스터디를 시작하고나서 성장성을 못느껴 많이 지치고 힘듬을 느끼고 있었던 중에 스터디원들이 더 기강을 다잡자고 했다.
그래서 저녁은 무조건 학식을 먹고 강의실에 6시 10분까지와서 책 한권을 읽고 책에 나온 문제 1개를 풀기로 했다.
책은 '파이썬 알고리즘 인터뷰'이다.
나를 자책하고 한숨을 내 쉴 시간에 더 열심히 해봐야겠다.
혼자였다면 정말 힘들고 지쳐서 잠시 쉬었을텐데 같이 해주는 스터디원들이 있어서 정말 다행이고 감사하다.
그래도 지금 중요한 것은 내 앞에 있는 pintos이기에 주 시간은 pintos공부를 하고 잠을 줄이고 밥먹고 쉴 시간을 줄여 코딩테스트 준비에 시간을 투자하려고 한다.
이 노력이 헛되이지 않고 좋은 성과로 돌아왔으면 좋겠다.
'기타 > SW 사관학교 정글' 카테고리의 다른 글
[SW 정글 67일차] Pintos project 2 - Argument Passing 구현 (0) 2021.10.08 [SW 정글 66일차] Pintos project 2 - Argument Passing (0) 2021.10.08 [SW 정글 64일차] 프로세스의 제어 (0) 2021.10.06 [SW 정글 63일차] 예외 상황 (0) 2021.10.05 SW 정글 8주차 회고 (0) 2021.10.04