OS (운영체제) 3

linker script (링커 스크립트) - 임시

OS개발시 중요 파일의 엔트리 포인트 주소를 지정해줄 수 있다 (메모리에 배치) 즉, 기존 C언어 에서의 엔트리 포인트가 main()함수가 엔트리 포인트인데 이를 변경 `커널을 로딩할 위치, 스택 초기값 세팅, 커널 사이즈 cpu의 메모리 맵에 따라 실행 파일을 어떻게 생성할 것인지 컴파일후 오브젝트 파일을 생성하고 오브젝트 파일을 링킹하여 최종 실행 파일을 생성하는데 사용되는 스크립트 (여러 오브젝트 파일들의 섹션을 추출해서(합쳐서) 하나의 바이너리(파일)로 만듬) 오브젝트 파일은 코드,데이터,힙,스택 영역으로 나눠진다 즉, 링커 스크립트는 각 영역의 start 주소와 end주소를 지정해 기록하는 곳 메모리 할당 (프로그램이 메모리에서 어떻게 배치 되는지 정의) 섹션 배치 (각 섹션에 대한 할당을 지정..

OS (운영체제) 2023.12.27

프로세스(Process)와 스레드(Thread)의 차이

프로세스 - 운영체제로부터 자원을 할당받는 작업의 단위 - 자원을 공유하지 않음 - 메모리에 적재된 실행되는 프로그램 스레드 - 프로세스가 할당 받은 자원을 이용하는 실행의 단위 - 자원을 공유함(Code/Data/Heap), (스택의 경우에만 개별 할당) - 프로세스 내부에서 실제로 작업을 하는 주체 둘 다 메모리 영역 할당 하나의 프로세스는 다수의 스레드를 가질 수 있다.

OS (운영체제) 2023.08.24