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 |