WinCNT

자료와 정보 본문

게임 프로그래밍(학습 내용 정리)/컴퓨터 개론

자료와 정보

WinCNT_SSS 2021. 10. 8. 17:47

자료(Data)가 모여서 정보(Information)가 된다

코드(Code)란?

기계어는 사람이 이해할 수 없음

사람이 해석(이해할 수 있는) 추상화가 필요

그 해석에 도움이 되는 것이 코드

  • 소스 코드: 컴파일러가 해석함
  • 이진 코드(바이너리 코드)
  • 아스키 코드, 유니코드

인코딩: 암호화

코드와 포맷

코드와 포맷이 다 있어야 해석을 할 수 있다.

 

UTF-8 문자 해석할 때 1바이트씩 해석하겠다

UTF-16 문자 해석할 때 2바이트씩 해석하겠다

UTF-32 문자 해석할 때 4바이트씩 해석하겠다

실행 파일과 데이터 파일

파일 확장자는 왜 필요한가?

파일 확장자 = 포맷이다.

 

실행 파일도 이진 데이터, 데이터 파일도 이진 데이터

하지만 실행이 가능한 이진 데이터가 실행 파일이고

실행이 불가능한 이진 데이터는 데이터 파일이다.

(notepad.exe 실행 파일이며, .txt 파일은 데이터 파일)

 

하지만 컴퓨터(CPU)에서는 실행 파일이든 데이터 파일이든 모두 이진 데이터일 뿐...

그럼 실행 파일과 데이터 파일을 어떻게 구분할까?

그 그분을 위해서 필요한 것이 바로 확장자이다.

(확장자를 보고 OS가 판단함)

 

예시)

.txt를 open하면 .txt와 관련된 .exe파일을 실행한다

notepad.exe의 실행 시 그 패러미터로 .txt의 데이터가 설정된다

 

물론 .exe라고 모든 파일이 실행된 것은 아니다

윈도우 운영체제에서는 .exe가 실행 파일인지 아닌지를 PE 포맷이 파일 형식에 의거해 판단한다

 

인풋 신호 -> 메모장 프로그램

OS가 프로세스들을 관장한다

메모리 - 캐시 메모리 - 레지스터 <-> CPU

메모리에서 캐시 메모리로 올리는 것도 OS이다

 

실행 파일은 code segment

데이터 파일은 data segment

 

빌더(컴파일러 + 링커)

실행이 가능한 이진 코드로 만들어 주는 프로그램

 

SSS