운영체제를 공부하던 중,

 

라이브러리 : 응용프로그램에서 활용하도록 미리 함수들을 작성하여 컴파일하고 바이너리 형태로 만든 파일.

 

 

파일이란?

파일이란 의미있는 정보를 담고 있으며, 이름을 가지고 있는 저장 장치상의 논리적인 단위이다.

컴퓨터에 쓰이는 데이터들을 모아놓은 것으로, 논리적으로는 디렉토리 안에, 물리적으로는 하드디스크등의 보조 기억 장치에 저장된다.

 

파일의 종류, 바이너리파일과 텍스트파일

컴퓨터는 파일을 두가지 종류로 나누어서 다룬다. 컴퓨터가 내부적으로 다룰 수 있는 데이터는 이진수 0,1 밖에 없다.

우리가 이런 글자를 볼 수 있는 것은 컴퓨터가 내부적으로 그 숫자를 우리가 보기 쉬운 글자형태로 변환을 해서 출력을 해주기 때문이다.

바이너리 파일은 논-텍스트 파일(non-textfile)이라고도 하며, 데이터의 저장과 처리를 목적으로 0과 1의 이진 형식으로 인코딩(코드화)된 파일을 가리킨다.

프로그램이 이 파일의 데이터를 읽거나 쓸 때는 데이터의 어떠한 변환도 일어나지 않는다. 사용자 또는 프로그램이 사용하던 정보나 숫자 값을 특별한 가공 없이 그대로 파일에 저장한다.

출처 : https://codedragon.tistory.com/5103 블로그

 

그렇기 때문에 바이너리 파일은 데이터를 읽거나 쓸 때 파일 구성 형식에 특별한 조건이 없으므로 명령을 할때 데이터의 크기로 명령을 내린다. 예를 들면 "10바이트를 읽어라." "30바이트를 읽어라" 이런식이다. 

 

그렇다보니 파일의 내용을 확인하려면 해당 파일을 볼 수있도록 해주는 프로그램이 별도로 있어야 한다.

.jpg  .png  .mp3  .exe  같은 그림, 음악, 실행파일이 모두 바이너리 파일이다. 이들 모두 파일을 보여줄 수 있는 프로그램이 설치되어 있어야 파일의 내용이 확인 가능하다.

 

->   .png 형태의 파일을 보려면 그림판,  windows사진 등 그림파일을 보여줄 수 있는 프로그램이 설치되어 있어야 한다는 뜻이다.

왼쪽의 jpg파일을 그림판이 아니라 메모장에서 열었을 때 파일이 깨지는 것을 볼 수 있다.

텍스트파일은 사람이 알아볼 수 있는 문자열로 이뤄진 파일이다. (문자라는 가공 조건이 하나 추가된 형식의 파일)

프로그램이 이 파일의 데이터를 읽거나 쓸 때에는 포맷 형식에 따라 데이터의 변환이 일어난다.

ASCII 문자 집합이 영어 텍스트 파일의 가장 보편적인 포맷이다. 아스키코드로 변환되어진 후 0,1 바이너리 형태로 저장된다.

(결국 모든 파일은 0,1 형태로 저장되어있고(인코딩), 이것을 읽기 위해 반대로 디코딩(이진 데이터를 사람이 해석할 수 있는 데이터로 변환)한다. )

기계어 == CPU가 보는 가장 LOW LEVEL 언어

기계어는 CPU가 직접 보고 실행할 수 있는 컴퓨터 언어이다.

기계어는 프로그램을 나타내는 가장 낮은 단계의 개념이다. (위키백과)

 

모든 프로그래밍 언어의 종착지라는 말이다.

 

CPU마다 기계어가 다르다. 이 기계어가 이진 코드(바이너리 코드)로 이루어져 있다.

즉 기계어는 0과 1로 되어있다

 

어셈블리어는 기계어를 알파벳으로 치환한 것이다.

 

 

정리

 

바이너리파일  -  0,1의 이진형식으로 된 파일,  논-텍스트 파일,  가공하지 않은 raw 상태, 파일 열어서 확인 시 파일 읽어주는 특정 프로그램이 있어야 깨지지 않음. ( 우리눈으로, 귀로 확인 시 확인이 됨. )

 

(결국 모든 파일은 0,1 형태로 저장되어있고(인코딩), 이것을 읽기 위해 반대로 디코딩한다. (0,1 데이터를 사람이 해석할 수 있는 데이터로 변환) )

 

문자열은 사람을 위해 존재하는 정보일 뿐이고 컴퓨터는 바이너리 형태의 정보를 사용한다. 따라서 컴퓨터에서 동작하는 프로그램의 내부 연산은 거의 대부분 바이너리 형태로 되어있다.

 

 

 

 

>>>>>>>>>>>>>>>할게 많은데 여기다 시간을 너무 쏟아 다음에 이어서 적는것으로 하겠다!<<<<<<<<<<<<<<<