상세 컨텐츠

본문 제목

Week 8~9. PintOS 프로젝트 2(User Program) 회고

일상기록장/크래프톤 정글 일지

by hyuga_ 2023. 12. 14. 17:26

본문

7.5주차부터 8주차까지 약 1.5주동안 진행된 핀토스 프로젝트2가 끝났다. 

이번 주간에는 코로나에 걸리는 바람에 약 5일 정도는 제대로 공부를 하지 못했다. 

때문에 격리에서 돌아온 이후에는, 주변 동료들의 도움을 많이 받으면서 구현보다는 개념 이해에 집중해서 최대한 가성비있게(?) 공부하고자 했다. 다행히도 어찌어찌 모든 테스트 케이스를 통과하긴 했지만, 동료들 도움이 없었다면 절대 해내지 못했을 것 같다..! (감사합니다..)

 

 

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

제목만으로 우리반 사람들 사이에서 엄청난 공감을 얻었던 블로그들이다. 

진짜... 핀토스 쉽지않다. 우리 팀원분은 한가지 테스트케이스에서 약 20% 미만의 확률로 됐다가 안됐다가 해서(심지어 에러메시지도 없어서 원인도 찾기 어려운..) 엄청난 스트레스를 받으셨다. '핀토스는 확률 게임인가'라는 의문이 들수밖에 없다 ..

 

김현수 코치님께서, 실제 현업가면 무기력해지는 경험을 많이 겪게될 거라고 한다. 굉장히 방대하며 파악하기도 쉽지 않은 코드 더미가 있는데, 어떻게든 이를 구현하지 않으면 서비스가 돌아가지 않는 상황... 그래서 이 감정에 익숙해져야 한다(?)고 하셨다. 묵묵히 이겨내는 법을 배우라는 뜻일 거다. 

 


 

이번주 배운 점 (느낀점)

  • 전체적인 로직, 이 함수가 어떤 역할을 하는지 상상하고 생각하면서 디버깅을 하자. (무작정 고치고 보는 건 X)

이번주 공부 키워드 

  • 유저 모드 vs 커널 모드
  • 레지스터 vs 메모리
  • 유저 스택
  • 시스템 콜
  • 파일 디스크립터
  • 캐시
  • Atomic Operation
  • rax register
  • 32bit OS vs 64bit OS

 

지금쯤 오니, 슬슬 한번씩 보거나 들어본 개념들이 키워드에 자주 등장한다. 그러나 시간에 너무 쫓긴 나머지, 이번주에 이들을 딥다이브해서 정리하는 시간을 제대로 갖지는 못했다. 시간을 따로 빼서 한번 쭉 정리해봐야겠다. 

 

 

개인 목표 체크

1. 매주 과제 완수율 90% 이상 달성하기 ✅ 
2. 주 3회 이상 운동하기 ❌ 
3. 공부 내용 기록하기 
4. 주 3회 이상 알고리즘 

 

저번주와 동일하다. 확실히 핀토스 기간 들어와서는 여기에만 온 신경이 쏠려있다는 게 드러나는 부분 ..ㅎ

 


8주차 퀴즈

 

1. 커널 모드에서 실행될 수 있는 작업의 예를 들고, 이러한 작업들이 사용자 모드에서 실행되지 않는 이유를 설명하세요.

2. 운영체제에서 컨텍스트 스위칭이 발생하는 과정에서 어떤 정보가 저장되고 복원되는지 설명하세요. 

3. fsync() 함수의 작동원리를 설명하고, 이 함수가 파일 시스템에서 어떤 역할을 하는지 서술하세요. 또한, fsync()를 사용할 때 고려해야 할 성능상의 영향에 대해서도 설명하세요. 

4. MLFQ 스케줄러를 구현하는 시스템에 5개의 프로세스가 있습니다. 가장 늦게 완료되는 프로세스는 무엇인가요? 

 

 

 

관련글 더보기