시스템이 실행되는 것을 볼 수 있는 가장 낮은 수준은 무엇입니까?

시스템이 실행되는 것을 볼 수 있는 가장 낮은 수준은 무엇입니까?

명확히 해보자.

내 컴퓨터에서 매우 낮은 수준의 활동을 볼 수 있는 방법이 있습니까? 이 같은:

  • 등록 내용
  • 전송되는 opcode
  • 특정 메모리 주소

또는 그보다 낮은 것(가능한지 확실하지 않음). 나는 현대 컴퓨터가 어떻게 그렇게 낮은 수준에서 작동하는지 더 많이 이해하기 위해 이것을 알아내려고 노력하고 있습니다.

답변1

다음과 같은 디버거를 사용하여 단일 프로그램에 대해 이 모든 것을 볼 수 있지만 gdb너무 빠르게 변경되어 실시간으로 아무것도 볼 수 없으며 심지어 추적하여 컴퓨터 속도가 느려지는 것을 확인할 수 있습니다. 저는 어셈블리와 컴파일러를 배우는 것을 추천합니다. 이러한 내용을 이해하는 데 정말 도움이 되었습니다. 그런 다음 gdb실제로 보고 싶다면 프로그램을 단계별로 실행하면 됩니다.

답변2

당신이 요구하는 매우 낮은 수준은 기계어입니다. 이는 프로세서 유형에 따라 크게 달라집니다. 직접 기계어 프로그래밍을 직접 수행할 계획이 없다면 간접 수준에서 연구하는 것을 권장하지 않습니다.

그 외에도 CPU 기술은 빠르게 변화합니다. 핵심 업무가 아닌 경우 너무 빨리 변화하여 따라잡을 수 없습니다.

IMHO, strace이 수준은 OS 수준에서 무슨 일이 일어나고 있는지 이해하기에 충분히 깊습니다.

무슨 일이 일어나고 있는지 알고 싶다면 거기에서 호출되는 함수의 소스 코드를 자세히 살펴보세요.

답변3

간접적. 해당 순간에 CPU가 코드에서 수행하는 작업을 이해할 수 있도록 코드에 트랩을 설정할 수 있지만 실제로 CPU가 수행하는 작업을 실시간으로 "볼" 수는 없습니다.

관련 정보