Hello Computer Vision

비전공생의 컴퓨터 구조 6주차 강의 기록 본문

컴퓨터구조

비전공생의 컴퓨터 구조 6주차 강의 기록

지웅쓰 2022. 11. 9. 21:13

이번 예비군 일정에 따라 학교를 안가면서 시간 여유가 생겨 바로 강의를 들었습니다.

강의에서는 저번에 설명해주신 Linker에 대해서 예시들을 중심으로 설명하셨는데요,

예시들을 다 따라적는 거보단 최대한 이해하려고 노력해봤습니다.

 

Symbol table은 컴파일러가 확인한다.

Object 파일들이 merge하는 과정을 거칠 때 각각의 변수들이나 코드들이 encoding되는데

이러한 것들을 컴파일할 때 고쳐가는 decoding하는 과정을 거친다.

근데 변수가 여러개 있을 경우 오류가 발생하기도 한다.(변수들이 충돌)

모든 심볼들은 링커에 의해 2가지 종류로 나뉘는데

strong symbol : 초기화된 전역변수

weak symbol : 초기화되지 않은 전역변수

이렇게 2가지로 나뉘고 파일을 합치는 과정에서의 예시들을 위주로 강의가 진행되었습니다.
(혹시 관련 문제 원하시는 분은 글 밑 동영상 링크를 따라가시면 됩니다)

Relocation : 각 Object 파일들의 주소를 결정한다. 파일의 주소가 결정되므로 코드들의 주소들도 다 결정이 된다.

파일을 relocation할 때는 코드는 코드끼리 text는 text끼리 같은 공간에 차곡차곡 저장이 된다.

 

오늘 강의는 여기까지였는데요, 대부분의 시간들이 예시를 위주로 진행되었습니다.

들으면서 느끼는 점은 정말 컴퓨터안에서 많은 일들이 일어나고 있고 우리가 가볍게, 당연시 했던 것들이

이 전에는 많은 문제였구나 라는 생각을 합니다.

 

해당 필기는 최린 교수님의 강의를 듣고 필기하였습니다.

https://www.youtube.com/watch?v=MAOd1aIKk20