방금이 질문을하고 몇 시간 동안 뇌를 아프게했습니다. 여전히 현실적으로 지적한 것은 아무것도 찾지 못했습니다. 어떤 주제에 무언가를 쓰는 사람은 실제로 "교사"를 할 수 없습니다. 누군가에게 가르치고 싶다면, 사람들이 이해하는 가장 기본적인 언어를 사용하므로 주제를 다룰 때 다른 주제에 신경 쓸 필요가 없습니다. 그래서 나는이 모든 혼란에 잘 맞는 것처럼 스스로 결론을 내 렸습니다.
프로그래밍 언어 C에서 모든 프로그램은 main () 함수로 시작합니다. 다른 언어는 프로그램이 시작되는 다른 기능을 정의 할 수 있습니다. 그러나 프로세서는 main ()을 모른다. 프로세서는 "0"과 "1"의 조합으로 표시되는 사전 정의 된 명령 만 알고 있습니다.
기본 운영 체제 (Microsoft Windows, Linux, MacOS, ..)가없는 마이크로 프로세서 프로그래밍에서 반복 및 점프 (루프, 함수 호출)하는 ProgrammCounter (PC)를 설정하여 프로세서가 시작할 위치를 명시 적으로 알려야합니다. 프로세서에 알려진 명령. RAM의 크기를 알아야합니다. 프로그램 스택의 위치 (로컬 변수)를 설정해야하며 힙의 위치 (동적 변수)와 전역 변수의 위치 (즉, SSA라고합니다) RAM 내에서). 단일 프로세서는 한 번에 하나의 프로그램 만 실행할 수 있습니다.
운영 체제가 시작됩니다. 운영 체제 자체는 프로세서에서 실행되는 프로그램입니다. 사용자 지정 코드를 실행할 수있는 프로그램입니다. RAM에로드 된 프로그램의 실행 코드 사이를 전환하여 한 번에 여러 프로그램을 실행합니다. 그러나 운영 체제는 프로그램이며 각 프로그램은 다르게 작성됩니다. 사용자 정의 프로그램의 코드를 RAM에 넣는 것만으로는 실행되지 않으며 운영 체제는이를 알지 못합니다. 프로그램을 등록하는 운영 체제에서 함수를 호출하고, 프로그램에 필요한 메모리 양, 프로그램의 진입 점이있는 위치 (C의 경우 main () 함수)를 운영 체제에 알려야합니다. 이것이 내가 생각하는 것은 RuntimeLibrary 내에 있으며 각 운영 체제마다 특별한 라이브러리가 필요한 이유를 설명합니다.
RUNTIMELibrary라고하더라도 .dll 파일이 런타임에 동적으로 연결되지 않는 이유도 설명합니다. RuntimeLibrary는 정적으로 링크되어야하며 프로그램 시작시 필요합니다. RuntimeLibrary는 런타임에 사용자 정의 프로그램을 다른 프로그램 (운영 체제)에 삽입 / 연결했습니다. 이 현실은 뇌의 일부를 유발합니다.
결론 : RUNTIMELibrary는 이름 지정에 실패합니다. 초기에 .dll (런타임에 링크)이 없었을 수 있으며 차이를 이해하는 문제는 존재하지 않았습니다. 그러나 이것이 사실이더라도 이름은 잘못 선택되었습니다.
RuntimeLibrary의 더 나은 이름은 StartupLibrary / OSEntryLibrary / SystemConnectLibrary / OSConnectLibrary 일 수 있습니다.
수정 / 확장 응원을 위해 내가 올바르게 이해했으면 좋겠다.