시스템 프로그래밍

본 토픽은 현재 준비중입니다. 공동공부에 참여하시면 완성 되었을 때 알려드립니다.

실습환경 준비

이 수업에서는 C와 리눅스 운영체제를 사용합니다. 그 이유와 실습 환경 준비 방법을 알아봅니다.

 이 수업에서는 C 코드를 제대로 작성하고 컴파일할 수 있는 리눅스 환경이 필요하다.

Mac 을 사용하시는 분들은 그냥 하시면 된다. 

하지만 대부분은 Windows 를 사용하실 것이므로, VMware라는 가상 머신 (컴퓨터 안에서 돌아가는 컴퓨터)에 리눅스 배포판인 우분투를 사용할 것이다.

 본래 목표인 TDS와 관련이 적기에, 실습환경 준비 포스트는 일단 보류한다.

 따라하기 쉬운 글이 이미 인터넷에 많으니 참고 링크만 첨부하겠다.

VMware 설치 및 우분투 설치

우분투에 vscode 설치 및 환경 설정

 

C를 사용하는 이유

C는 많은 중고등학교에서 가르치지만, 사실 처음 배우기에 적절한 언어는 아니다.

C를 C답게 해주는 핵심적인 개념들이 이해하기 힘들고, 엄청난 에러를 불러오며 프로그래밍의 기초를 익히는데에는 부적절하기 때문이다.

어쨌든 C는 파이썬이나 자바스크립트 등 높은 수준의 언어에 비해 '메모리에 직접 접근할 수 있다'라는 엄청난 무기가 있다.

수업의 목표인 '컴퓨터 시스템이 어떻게 작동하는지 이해하여 보다 효율적인 코드를 작성한다' 를 달성하기에 최적의 언어인 것이다. 실제로 C는 리눅스 운영체제를 작성하는데 사용될 만큼 저수준의 언어이다.

 

리눅스를 사용하는 이유

한편 많은 사람들이 사용하고 있을, Windows 운영체제의 경우 시스템 프로그래머를 위한 운영체제는 아니다. 

이는 첫째로 마이크로소프트의 똑똑한 엔지니어들이 시스템의 핵심적인 부분, 일반인이 접근하기에는 위험한 곳을 막아버렸기 때문이다. 또한 돈을 주고 사야하는 상품이기 때문에 당연히 OS의 코드를 공개하지 않고, 어떻게 돌아가는지 알 수 없으니 시스템에 맞춘 효율적인 코드를 작성하기 어렵다. 

 따라서 이 수업에서는 오픈 소스에다가 무료고, 마침 C로 작성된 리눅스 우분투 배포판을 이용한다.

 

 

 

 

댓글

댓글 본문
graphittie 자세히 보기