*왜 운영체제 강의를 들었는가?
요즘 회사생활을 계속 하면서, 나는 어떤 사람인가, 어떤 것을 좋아하는가 생각과 고민을 많이하고 있습니다. 안전한 환경보다는 도전적인 환경을 좋아하며, 문제를 해결했을 때 엄청난 성취감을 느끼는 사람입니다.
또한 지적 배움에 갈망이 많다는 것을 더 깨달았습니다. 회사 업무에 익숙해진 시점에서, 새로운 컴퓨터 관련 학습에 목이 말랐습니다. 새로운 프레임워크를 공부할까, 이전 개념을 다시 복습할까 고민하던 중, 학부생 때 가장 좋아했던 운영체제 과목이 생각났습니다. 가장 좋아했지만 아이러니하게도 성적은 B+이었는데, 어중간하게 알던 개념을 확실하게 공부하고 싶었습니다.
TMI를 하자면, 중학생 떄 약간 광적(?)으로 암기에 미쳤었습니다. 영어는 시험범위 지문을 눈감고 외울정도로 공부하려고 했고, 다른 과목들도 비슷했습니다. 예를 들어, 미술은 개념집에서 문제가 나온다고 하면, 모든 개념을 전부 외워버려서 30문제 객관식 문제를 금방 풀었습니다. "이 개념은 이런 뜻입니다. 이 뜻은 이 개념용어 입니다" 라고, 답들이 자신을 선택해달라고 빛을 뿜고 있었습니다. 마치 축구선수들이 컨디션 좋은 날, 수비수들이 자신을 그냥 비켜준다는 느낌과 비슷했습니다.
최근에는 내가 사용하는 기술에 대한 이유, 장단점 등을 파악하다보니 능동적으로 문제를 해결하는 것에 자신감이 생겨서 운영체제를 다시 한번 정복하고 싶었습니다. 또한 메타인지에 대해 관심을 가지기 시작하면서, 내가 어떤 것을 알고 어떤 것을 모르는지 아는 것이 중요하다고 생각하여 단순한 암기 공부가 아닌 조금 더 깊이, 그러면서도 쉽게 이해할 수 있도록 공부하는 법에 관심이 생겼습니다. 그래서 관심과 흥미가 많았지만 생각보다 이해가 쉽게 되지는 않았던 운영체제를 골라서 다시 공부해보기로 했습니다.(많은 개념을 암기하고 외웠지만 실상 개념들을 쉽게 풀어서 설명하기 어려웠습니다..)
과거 학부생과 취준생 때 공부하던 나와, 지금의 나는 어떤 방식으로 공부하는 차이가 있을지 궁금했습니다. 또한 이해가 되지 않는 부분을 어떻게 효과적으로 학습할지 고민하고 실천하게 될 제 자신이 궁금했습니다. 이런 궁금증과 더불어, 이미 여러번 봤으며 어느정도 개요를 알고 있는 운영체제를 좀 더 확실히 이해해보리라는 개인적인 자존심도 있었습니다.
* 어떻게 공부를 했는가?
원서를 그대로 공부하는 것은 너무 지루하고 혼자서는 빠르게 못할 것 같아 대학강의를 들었습니다.
강의는 과거에 듣다가 포기한 양희재 교수님의 운영체제 강의입니다.
http://www.kocw.net/home/search/kemView.do?kemId=978503
이전에도 해당 강의 듣기를 몇 번 시도했는데, 중간에 포기한 적이 많았습니다. 그당시, 굉장히 쉽게 설명해주시는 교수님 강의에 감동했었는데 좋은 기억을 회상하며 다시 이 강의를 골랐습니다. 총 30강입니다.
결론적으로, 이 강의를 5일만에 모두 완강했습니다. 토요일부터 수요일까지 하루에 약 6강씩 들었습니다. 월,화,수는 회사를 퇴근하고 열심히 들었습니다. 말이 조금 느리신 편이라, 2배속으로 들으니 빠르게 진도를 나갈 수 있었습니다. 또한 이전에 이미 어렴풋이 알고 있던 개념들이라 완전히 새로운 느낌은 아니었고 구체적으로 개념을 잡아갈 수 있었습니다.
옥스포드 노란색 노트와 펜으로 중간중간 필기를 하면서 개념을 들었습니다. 각 강의가 끝나면, 문제질문을 만들어 복습할 때 나름 핵심이 어떤 것인지 돌아보도록 했습니다.
* 강의의 장단점은?
이 강의의 장점은 다음과 같습니다.
교수님이 굉장히 알아듣기 쉽도록 설명을 조리있게 잘하십니다.
그림을 그리면서 예시를 보여주셔서 이해가 쉽습니다.
여러가지 개념의 종류와 장단점을 짚어주셔서 개념의 흐름이 잡힙니다.
PPT가 제공됩니다.(유투브에서 들었기 떄문에, PPT가 제공된 걸 알았다면 PPT에다가 필기를 했을 것...)
단점은 영상 자체가 너무 화질이 좋지 않고, 영상에서 고음의 잡음이 있어서 이어폰 사용시 귀가 아픕니다.
개념 자체를 깊이있게 다루지 않습니다.
운영체제에 관심있는 모든 사람들에게 이 강의를 추천합니다. 간단한 그림으로 정말 쉽게 설명해주시고, 다른 강의를 많이 보지는 않았지만, 세세한 부분까지 그림으로 쉽게 설명해 주시는 분은 많이 없을 것 같습니다.
* 강의를 통해 깨달은 것은?
이번 강의를 들으면서 공부하거나 다른 사람에게 설명할 때 좋은 습관을 가져야 할 부분을 발견했습니다.
1. 간단한 그림을 활용합니다. 개념이 복잡하면 그림을 사용해도 한없이 복잡해지겠지만, 핵심 부분만 그림으로 표현하면 많은 개념 중에 집중할 부분이 명확해지고 이해도가 한번에 올라갑니다. ISR이나, 페이징, 세그멘테이션 등의 자칫 복잡해 보일 수 있는 개념들이 그림을 활용하니 한눈에 흐름이 파악되었습니다.
2. 적절한 예시를 포함합니다. 낯선 개념들을 낯선 용어로 이해하는 것보다, 듣는 사람 입장에서 평소 잘 알고 있는 용어로 표현해서 전달하면 훨씬 이해력이 올라갑니다. 은행을 예시로, 과거에는 무조건 한 줄로 기다려서 업무를 기다렸다면, 이제 각 업무성격에 맞게 창구를 만들고 일을 처리해서 훨씬 효율성이 올라갑니다. 이런식으로 비유를 통해 이해하니 어떠한 설명보다도 바로 이해가 될 수 있었습니다.
3. 비슷한 개념은 장단점을 파악합니다. 단순 프로그래밍 뿐만 아니라 세상의 모든 기술은 등장의 역사가 있고 현재까지 변천사가 있습니다. 또한 미래에는 다른 모양으로 발전 할 것입니다. 스케쥴링의 다양한 종류들이 있으면, 단순히 각 개념을 독립적으로 이해하고 외우는 것보다, 다른 것들과 비교하면서 공부하는 것이 훨씬 좋습니다. 이런 습관을 가지면 내가 기술이나 구현 방식을 선택할 때, 다양한 방식을 비교하여 내 현 상황에서 최고의 방식을 선택할 수 있습니다.
* 실천사례
이런 고민과 꺠달음 후에, 신입에게 개념을 설명할 때 좀 더 효과적인 설명을 할 수 있었습니다. DB에서 테이블 관계를 설명할 때, 차근히 그림을 그려서 좀 더 이해가 쉽게 했습니다, DB 테이블이 어떤 관계일지 몇가지를 설명을 해주고, 이후 개념들은 앞의 내용을 응용하여 맞춰보도록 상황을 주었습니다. 특정 구현에 대해서 왜 이렇게 했는지 바로 설명하기 보다 어떤 장단점이 있을지 생각해보도록 했습니다.
'회고' 카테고리의 다른 글
TIL_2022.09.01 (0) | 2022.09.02 |
---|---|
TIL_ 2022.08.31 (0) | 2022.09.01 |
TIL_220413 (0) | 2022.04.15 |
TIL_220412 (0) | 2022.04.14 |
TIL_220411 (0) | 2022.04.11 |