해당 블로그 포스트의 내용은 [한빛미디어]의 '혼자 공부하는 컴퓨터 구조와 운영체제' 책의 저자이신 강민철님께서 강의하신 내용을 위주로 정리했습니다.
https://youtube.com/playlist?list=PLVsNizTWUw7FCS83JhC1vflK8OcLRG0Hl&si=H1U9OoqlmQ8ZiZai
1. Intro
좋은 개발자는
프로그래밍 언어의 문법과 함께 컴퓨터의 근간을 알아야한다.
라는 것이다.
여기서 컴퓨터의 근간이라 함은 "컴퓨터구조와 운영체제"를 의미한다.
컴퓨터 구조를 배워야 하는 이유는 다음과 같다:
1) 문제 해결 능력
2) 성능, 비용, 용량을 고려한 개발이 가능하다.
2. 문제 해결
간혹 동일한 코드를 짜다가도, 특정 컴퓨터에서는 코드가 돌아가지 않는 경우가 있다.
이때, 문제의 원인이 프로그래밍 언어의 문제는 아니기 때문에 컴퓨터 내부를 분석해야 한다.
그렇기에 컴퓨터 구조를 학습함으로써 컴퓨터를 미지의 대상에서 분석의 대상으로 바라보며 문제해결 능력을 키울 수 있다.
즉, 이를 통해 컴퓨터를 관조할 수 있는 능력을 배양할 수 있으며 문법에 맞는 소스 코드를 컴퓨터에 입력만 하는 개발자에서
컴퓨터를 내려다보며 문제를 해결할 수 있는 개발자
가 되는 것이다.
3. 성능, 용량, 비용
개발할 때 성능, 용량, 비용을 고려한 개발은 필수적이다.
아래는 서버 컴퓨터를 구매하고자 할 때 무엇을 기준으로 잡느냐에 따라 다른 컴퓨터를 고르는 것이다.
무조건 저렴한 컴퓨터가 좋을까?
아니면 무조건 최신 컴퓨터가 좋을까?
만약 서버 컴퓨터를 구매하지 않고 클라우드 서비스(AWS) 를 이용한다고 해도 CPU, 메모리, 저장 용량을 개발자가 직접 선택해야 한다.
즉, 컴퓨터 구조를 공부하면 문법만으로는 해결하기 어려운 문제(성능, 용량, 비용에 관한 문제)들을 해결하거나 고려하면서 개발할 수 있다.