CS/컴퓨터 시스템

    2. 정보의 표현과 정리

    숫자, 문자를 어떻게 표현하고 어떻게 정리하느냐 하는걸 다루는 챕터다. 앞에만 다루고 뒤에는 산수 계산방법이랑 범위같은걸 수학적으로 증명하고 IEEE 부동소주점 기준.. 다 학사시절에 지겹게 듣던 것들이라 대부분 생략했다. 데이터 타입에 따른 저장 크기. 메모리같은 저장장치에 한 공간 당 1byte크기만큼 저장할 수 있는데(물론 어디에 저장할지 같은 자세한 저장 방식은 나중에 나올듯), 위 예시에서 int는 4byte가 필요해서 연속으로 저장할건데 1byte를 4개로 나눠서 저장해야하니까 순서를 어떻게 할거냐가 문제다. 그래서 빅엔디안, 리틀엔디안 방법이 나온거고. 어떤걸 쓰는지는 CPU마다 다름(대채로 리틀엔디안 쓰는듯). 헷갈린건 주소 크기가 1word인거고, 저장 크기가 1bytge인거다. 1wor..

    1. 컴퓨터 시스템으로의 여행

    #include int main() { printf("hello, world\n"); return 0; } 위와 같은 hello.c 파일이 있다고 하자. 우리한텐 글자로 보이지만 컴퓨터에겐 아스키코드(ASCII) 표준으로 정해진 숫자로 저장되어 있고, 우리에게 보여줄 땐 치환해서 보여주는것 뿐이다. 이 각 C로 이루어진 문장들은 실제 실행이 가능한 저급 인스트럭션으로 번역되어야 그제서야 실행이 된다. gcc 컴파일러가 위 코드를 실행 가능한 바이너리 코드로 변경한다. 물론 그 과정엔 어셈블리로 변경, 기본 라이브러리랑 링크 연결 하는 등의 과정을 거쳐 만들어진다. gcc -o hello hello.c linux> ./hello hello, world linux> 어떻게 작동하는지도 모르는 기본 라이브러리..

    0. 무슨 게시판?

    나에겐 깊이가 있을까? 오랜만에 보는 전공서적 보며 정리할려고 만듬