jdk의 api 들의 구현에서 하드웨어 종속적인 부분과의 연결방식이 어떻게 이루어 졌는지..

yjc99의 이미지

안녕하세요.

제목 대로 java의 api들 가령 AWT에서 윈도우 생성하는 api를 호출했다면, 최종적으로 해당 os의 하드웨어 종속적인 코드들(가령 윈도우를 그리는 루틴)이 실행되어야 할텐데, 이 과정이 어떻게 이루어졌는지 알고 싶습니다.

좀더 구체적으로..
api에서 내부적으로 JNI를 통해서, os의 종속적인 라이브러리들을 (가령 윈도우이면 GDI 관련 dll(User.dll?)) 호출 하는 방식인지, ----(A)
아니면 생성되는 바이트코드자체가 이런 종속적인 명령들을 가지고 있어서, JVM 으로 실행할때 jvm이 직접 구현하는 방식인지.. ----(B)
아니면 다른 어떤 식인지.

알고 싶습니다.