2023/12/18 2

14. GNU Linker

GNU Linker란? C언어 코딩을 했을 때 컴파일 되는 가장 마지막 단계를 담당 컴파일할 때 사용하는 gcc -o test main.c 이런 명령어에서 gcc가 CNU C Compiler C 프로그래밍 파일의 경우 여러 soruce code 파일로 하나의 프로그램을 만들 수 있습니다. 이는 여러 개발자가 하나의 프로그램을 만들기 위해서 공동 작업을 할 때 서로 독립적으로 일하기 위한 결과로 볼 수 있습니다. 위 사진에서는 c파일, 소스코드 파일을 한꺼번에 컴파일하지만 별도로도 컴파일될 수 있습니다. 소스코드 파일을 독립적으로 컴파일하면 독립적인 오브젝트 파일이 생성되는데 이 .o 파일들을 묶어서 executable file, 위 사진에는 test라는 이름의 파일이 나오게 됩니다. 이런 executab..

CS/Operating System 2023.12.18

13. 힙(Heap)

이번 포스터에서는 static과 dynamic이 많이 등장하기 때문에 우선 이 단어들이 무엇을 의미하는지 알아보겠습니다. 먼저 static은 pre-runtime, offline과 동의어입니다. static scheduling처럼 앞에 static이 붙은 경우 pre runtime scheduling으로 프로그램 수행에 영향을 받지 않는 스케줄링을 말합니다. (수행되기 전 오프라인에서 스케줄링을 진행) static code analysis의 경우는 실행되기 전에 코드를 분석하는 것으로 컴파일러가 여기에 해당됩니다. 반대로 dynamic의 경우 online과 동의어면서 runtime 중에 동작을 진행합니다. static allocation과 dynamic allocation에 대해서 알아보겠습니다. 어떤 ..

CS/Operating System 2023.12.18
반응형