리눅스 커널의 시작점 질문
미르
2025.05.13
main.c를 업로드 했습니다.
프로그램이 아무리 거대해도 시작 지점이 존재 한다는 사실은 변함이 없는데,
커널을 연구하는 중 커널의 시작 지점이 몰라서 자료를 찾아본 결과 아래와 같은 문서를 찾게 되었습니다.인텔 기반 시스템에서, 커널은 loadlin.exe나 LILO가 리눅스 커널을 메모리로 읽어들인 후
커널에 제어권을 넘겨줌으로써 시작한다.
이 부분에 대해서는 arch/i386/kernel/-head.S를 보기 바란다.
head.S는 아키텍쳐 종속적인 셋업을 한 후 init/main.c에 있는 main() 루틴으로 점프한다.부트로더니 뭐니, 아무튼 자세히는 몰라도 init/main.c에 main함수가 있다는 걸 알았으니
main.c를 분석했는데 아무리 찾아봐도 main함수가 어디에 있는지 모르겠습니다.
C언어 콘솔 프로그래밍의 시작 지점은 main함수,
WinAPI로 만들어진 프로그램 소스의 시작 지점은 WinMain함수인데,
커널의 시작 지점의 함수는 정확히 뭔가요?
업로드 한 main.c를 기준으로 알려주세요.
main.c는 linux-2.6.32-2 버전의 소스입니다.