ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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

     

    Introduction · GitBook

    Project2: User Programs Now that you've worked with Pintos and are becoming familiar with its infrastructure and thread package, it's time to start working on the parts of the system that allow running user programs. The base code already supports loading

    casys-kaist.github.io

     

     

     

    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공부를 하고 잠을 줄이고 밥먹고 쉴 시간을 줄여 코딩테스트 준비에 시간을 투자하려고 한다.

    이 노력이 헛되이지 않고 좋은 성과로 돌아왔으면 좋겠다.

     

     

    댓글

Designed by Tistory.