Study/컴퓨터 구조 | 운영체제 3

[컴퓨터 구조] | 고급 언어를 저급 언어로 변환하는 컴파일, 인터프리트

프로그래밍 언어는 어떻게 명령어가 되어 실행될까? 그리고 명령어는 어떻게 이루어져 있을까? 고급 언어 VS 저급 언어 개발자들은 Java, Python, JavaScript와 같은 프로그래밍 언어로 코드를 작성한다. 그렇다면 컴퓨터는 이 언어들을 이해할 수 있을까? 답은 '아니'다! 프로그래밍 언어는 사람이 이해하고 작성하기 쉽게 만들어진 언어이며, 이렇게 사람을 위한 언어를 고급 언어라 하고, 반대로 컴퓨터가 이해하고 실행할 수 있는 언어를 저급 언어라고 한다. 저급 언어는 명령어로 이루어져 있으며 기계어와 어셈블리어로 나뉜다. 기계어: 0과 1의 명령어 비트로 이루어진 명령어 모음으로 구성된 저급 언어이다. 이진수와 십육진수로 표현된다. 어셈블리어: 기계어를 읽기 편한 형태로 번역한 저급 언어이다. ..

[컴퓨터 구조] | 데이터를 0과 1로 표현하기

컴퓨터는 0과 1로 모든 정보를 표현하며, 0과 1로 표현된 정보만 이해할 수 있다. 나는 컴퓨터를 사용하면서 한 번도 0과 1로만 사용해 본 적이 없다. 하지만 컴퓨터는 0과 1로 된 정보만 이해할 수 있다고 한다. 그러면 컴퓨터는 내가 0과 1을 제외하여 표현한 정보들을 어떻게 이해할 수 있는 걸까? 정보 단위 0과 1을 나타내는 가장 작은 정보 단위를 비트라고 한다. 1비트는 (0), (1)로 두 가지 정보를 표현할 수 있다. 그러면 2비트는 몇 가지 정보를 표현할 수 있을까? (0, 0) (0, 1), (1, 0), (1, 1)로 네 가지 정보를 표현할 수 있다. 이렇게 n비트는 2의 n승 개의 정보를 표현할 수 있다. 프로그램의 크기가 커질수록 비트의 크기는 커지는데, 큰 크기를 표현하기 어려우..

[컴퓨터 구조] | 컴퓨터 구조를 공부하는 이유와 컴퓨터의 구성 요소

혼자만 사용하는 프로그램을 만들 땐 성능, 용량, 비용 문제를 깊게 생각하지 않았다. 하지만 취업을 하게되면 많은 사람이 사용하는 서비스를 개발하게 되고 이러한 프로그램은 성능, 용량, 비용 문제가 중요하게 고려된다. 혼자 개발할 땐 입력과 출력에만 집중을 했지만, 더 나아가 컴퓨터 구조를 이해한다면 이러한 부분을 고려하며 개발할 수 있게 될 것을 기대하며 공부를 시작해보려고 한다. 컴퓨터가 이해하는 정보에는 데이터와 명령어가 있다. 이 때 데이터란 숫자, 문자, 이미지, 동영상과 같은 정적인 정보를 가리킨다. 명령어는 이러한 데이터를 움직이고 컴퓨터를 작동시키는 정보이다. 즉, 데이터는 명령어 없이는 아무것도 할 수 없는 정보 덩어리일 뿐이다. 그래서 컴퓨터를 한 마디로 정의하면 명령어를 처리하는 기계..