sw정글 8주차 WIL

Matthew Woo·2021년 10월 4일
1

정글 8주차. 공부한 키워드

  • process state
  • scheduling policy(STCF, RR, MLFQ)
  • process, thread
  • context switching
  • semaphore, lock, moniter

소감

이번 8주차는 드디어 OS. Pintos를 직접 작성하고 수정해보는 첫 번째 주차였다.

os를 공부하면서 보다 더 컴퓨터라는 하드웨어를 보다 더 알게 되어 재밌었다.
물론 Pintos를 직접 코드를 짜고 수정하는 것은 힘들었다. 허나 이를 위해 코드를 이해하고 나온 개념들을 이해하는 과정은 재밌었다.

이전에 malloc lab 과정에서도 가상메모리, 메모리 할당의 개념을 공부하면서 처음으로 컴퓨터라는 하드웨어를 공부하게 되어 재밌다라는 느낌을 받았었다. 이번 주 차도 무엇을 배우고 느꼈냐라는 점에서는 malloc을 구현해본 주차와 비슷한 것 같다.

초등학생들도 하드웨어를 고려한다.

내가 초등학생 시절에, 또는 내가 아닌 초등학생들도 컴퓨터 게임을 할 때나 컴퓨터를 구매할 때 하드웨어 사양을 따진다.
이 게임은 cpu가 어쩌고저쩌고.. 메모리가 어쩌고저쩌고..

나는 cpu나 ram이 무슨 역할을 하는지, 비싸면 어떤 부분이 좋아지고 왜 좋은지는 모른채 그저 비싸면 좋은거고 스펙에 나온 '숫자' 가 높으면 좋은거다라고 인지했다.

코딩을 배운 이후 여태까지는 내가 소프트웨어를 다루면서 한번도 하드웨어를 고려하거나 생각해본 적이 없다. 하드웨어로 소프트웨어를 다루면서 그 하드웨어는 별 생각없이 그냥 당연시 해왔다. 심지어 초등학생들도 소프트웨어(게임) 서비스를 이용하면서 그걸 이용하는 하드웨어를 고려(사양)하는데, 나는 왜 여태 코드를 짜면서 단 한번도 하드웨어를 생각해 본적이 없는걸까?

'OS'란?

OS란 일반인들이, 혹은 초등학생들도 컴퓨터라는 하드웨어 기계를 전혀 모르더라도 컴퓨터를 쓰고, 그 위에 동작하는 소프트웨어 서비스를 이용하게 해 주는 것 이다.

그동안 OS가 워낙 잘 짜여져서 내가 별 생각없이 소프트웨어를 편하게 누리고 있었던 것도 같다.

OS는 하드웨어와 소프트웨어 서비스의 연결한다.

OS를 공부하면 할 수록 여태 내가 인지조차 하지 못했던 이 하드웨어와 소프트웨어가 연결되고 작동하는 방식을 이해하다보니 재밌게 많은 것을 배우는 시간이 되었다.

나만 오타를 내는 것은 아니다.

코드를 짜다보면 어처구니 없는 오타들을 내곤 하는데 그럴 때 마다 스스로가 멍청하고 한심하다는 생각을 한 적 있다. 근데 이번 주차를 동기들과 함께 해보니 나만 그러던 것은 아니더라..^^

profile
Code Everyday

1개의 댓글

comment-user-thumbnail
2021년 10월 4일

한 주간 수고하셨습니다. 다음 주차도 화이팅!

답글 달기