1-3. 운영체제 32bit vs 64bit

2015. 12. 20. 20:37프로그래밍/시스템

 

 

+운영체제 32bit 64bit 인지 구분짓는 기준


CPU가 한 번에 송.수신 할 수 있는 데이터 크기와 한 번에 처리할 수 있는 데이트 크기

 

 

 

 

한 번에 송.수신 할 수 있는 데이터 크기가 32bit 이다

-> 메모리 주소값이 32bit 로 표현된다

-> 활용할 수 있는 RAM 크기는 4GB 이다

 

한 번에 송.수신 할 수 있는 데이터 크기가 64bit 이다

-> 메모리 주소값이 64bit 로 표현된다

-> 활용할 수 있는 RAM 크기는 2의 64승 Byte

 

 

 

+64 비트와 32 비트 공존의 문제점

-포인터 크기와 자료형 크기가 다르다

32 bit : int 형 4바이트, 포인터 형 4바이트

64 bit : int 형 4바이트, 포인터 형 8바이트

 

64비트 환경에서 아래와 같은 소스를 실행하면 데이터 손실이 발생한다

int arr[10] = {0,};

       int arrAddress = (int)arr;

why? arr 의 주소값은 8바이트, arrAddress 는 int형이므로 4바이트

 

result! 64비트 시스템에서는 포인터가 지니고 있는 주소값을 4바이트 정수형으로 캐스팅하지 않는다

 

 

 

 

 

'프로그래밍 > 시스템' 카테고리의 다른 글

1-6. 커널오브젝트와 프로세스  (0) 2015.12.28
1-5. 프로세스  (0) 2015.12.28
1-4. 메모리 접근 방식  (0) 2015.12.20
1-2. 문자셋 ( CharacterSet )  (0) 2015.12.20
1-1. 프로그램의 실행과정  (0) 2015.12.16