우선 전 64bit프로세서에 대해서는 아는게 없다는걸 말씀드닙니다.
제 생각에는 32bit운영체제는 당연히 32bit CPU에더 돌아가게 만들었기때문에
32bitCPU에서는 잘돌아 갈 것 같습니다.
64bit운영 체제에서는 32bit CPU의 명령어를 사용해서 돌아갈 가능성은 64Bit
CPU의 성능에 달렸다고 생각 하네요.
64BitCPU가 32BitCPU명령어에대해 완벽하게 오환이 된다면 당연히 환벽하게
64BitCPU에서도 완벽하게 실행이 되지 않을까 생각합니다.
기본적인 CPU명령들은 당연히 수행이 되겠지만, 일부 바뀔 수 밖에 없는
명령어들은 그에맞게 운영체제가 대처를 해야 하는데, 윈도우의 경우는 소스가
공개되지 않아 모르겠지만 Linux의 경우는 제가 커널 2.2로 리눅스 공부를
했는데, 그때부터 메모리 관리등에 있어서 64Bit확장을 고려 했더군요.
전체적으로 봤을때 32Bit운영체제도 64Bit에서 일부기능을 제외하고는 거의
정상운행되지 않을까 생각하네요...
너무 당연한 이야기인가???
죄송해요. 제가 아직 학생이라...
제 생각엔 당근 안된다고 생각되네요....
머가 안된다고 생각되냐면
64비트 컴에서 32비트 OS위에서 64비트
어셈블언어플그램
실행은 되겠지만 머 이상한 결과가 나오겠지요
오타가 하나 있어서
(운영체제"가" 컴파일러에서 제공하는 함수는 전혀)
제가 뜻을 제대로 이해를 못했었네요...
음 그러니깐 64비트 컴, 32비트 운영체제에서 64비트응용프로그램실행 말이군요.
전 몰라요~~!!!
그래도 나름대로 좀 생각해 봤는데, 제생각에도 안될꺼 같네요.
재 생각은 이렇게 나왔어요.
1. 어셈블된 프로그램(사실 제가 어셈블리 프로그래밍은 한번도 안해보고 그냥
말로만 들어서 그게 뭔진 모르겠지만.)은 OS에의해 실행된다. 이때 쉘이
시스템호출을 하고 어셈블 프로그램을 메모리에 상주시키고 수행될 순서를
기다린다.
2. 실행 순서가 되면 커널은 CPU를 사용자 수준으로 전환하고 에셈블
프로그램코드가 있는 위치를 CPU에 알려준다.
3. CPU는 다음 실행할 명령어(어셈블된 프로그램)을 계속 실행한다.
4. 이때 CPU는 32Bit명령어와 64Bit명령어가 완전히 다르게 구성되어 있고, CPU가
때에따라 적절히 수행될 수 있다면 올바르게 수행될 것이고, 아니면
64Bit명령어를 32Bit명령어로 오판해 전혀 엄뚱하게 수행된다.
5. 결국 32Bit명령어와 64Bit명령어가 완전히 다르다면 올바르게 실행될 가능성은
있겠지만, 그렇지 않타면 힘들지 않켔나 생각합니다.
제가 어셈블러에 대해서는 전혀 몰라서 이말이 맞는건지는 모르겠어요.
제 생각에는 저 상황조차 불가능할 것 같습니다. 다른
분들의 생각은 어떠신지요...?
때문에 위에 언급된 시피유를 갖고 있는 시스템에
윈도우 XP 급 이하의 운영체제를 설치하셨다면
64비트 시피유를 갖는 시스템에 32비트 운영체제를
설치하고 계신겁니다.
<어떠한 역경에도 굴하지 않는 '하양 지훈'>
Joshua 작성:
"Joshua" <josh...@shinbiro.com> wrote in message
news:1143006488....@v46g2000cwv.googlegroups.com...
<어떠한 역경에도 굴하지 않는 '하양 지훈'>
jongsu...@gmail.com 쓴 글: