회고
새벽까지 게임한다고 늦잠을 자버렸다. 7시 30분에 알람을 맞춰놔서 일어났다가 다시 잠들고 11시 30분에 청소업체 직원분들 덕에 깼다. 오늘은 어제 못다한 우선순위 스케줄링 공부를 하면서 구현을 시도했다.
우선순위 스케줄링과 락, 컨디션 변수, 세마포어까지 공부할 게 꽤 많아서 바로 구현을 시도할 수가 없었다. 한양대 핀토스 pdf가 과제 설명이 잘 되어있어서 그나마 시도해볼만 했다. 하라는대로 하면 웬만한 로직 구현은 문제가 없다. 다만 로직을 완벽히 파악하고 있어야지만, 구현에 실수를 하지 않는다. 나는 로직을 덜 숙지해서 사소한 문제에 굉장히 시간을 많이 소모했다.
thread_sleep()으로 현 스레드를 sleep_list에 넣은 후에는 shedule() 함수를 호출해서 다음 스레드를 실행시켜야 하고, sleep_list에서 스레드를 깨운 후에는 우선순위를 확인하고 thread_yield()를 호출해서 CPU를 양보하도록 해야한다. 로직을 완벽히 숙지하지 못해 이런 문제에 많은 시간을 소모한 것이 아쉽다.
락, 컨디션변수, 세마포어부터는 개념조차도 어려워서 아직도 잘 모르겠다. OS 책과 챗지피티를 활용하며 공부하는데도 그냥 어려워서 그런 것 같다. 확실히 핀토스 지옥이라 부를만 하다. 그래도 열심히 할 뿐이다.
'크래프톤 정글 2기' 카테고리의 다른 글
[크래프톤 정글 2기] Day 59 (0) | 2023.06.01 |
---|---|
[크래프톤 정글 2기] Day 58 (0) | 2023.05.31 |
[크래프톤 정글 2기] Day 55 (0) | 2023.05.28 |
[크래프톤 정글 2기] Day 54 (0) | 2023.05.27 |
[크래프톤 정글 2기] Day 53 (0) | 2023.05.27 |