리눅스 커널은 핀란드 헬싱키 대학에서 전산학을 전공하던 학생이었던 리누스 토발즈가 1991년 8월 26일 리눅스 0.0.1을 개발한 것으로 시작된다. 리눅스 커널은 모놀리식 커널이며 커널의 기능이 대부분 단일 메모리 공간에서 작업된다는 뜻이다. 이러한 커널 모듈을 작성하는 것을 모듈 프로그래밍이라고 한다.
[소프트웨어에 가까움] 애플리케이션
커널 (운영체제)
CPU Memory Devices [하드웨어에 가까움]
애플리케이션단에서 하드웨어를 제어하기 위해서는 무언가 통신하며 제어하는 매체가 있어야 하는데 이것이 바로 커널이다. 커널은 운영체제, Operating System이라고 불리우며 OS라고 부르기도 한다.
보통 운영체제를 설치할 때 32비트와 64비트를 언급하는데 특히 CPU를 구입할 때 64비트라는 것이 무엇인지 알아보자.
x86? x64?
짧게 말하면, x86은 인텔 CPU 모델명 끝자리 “86”에서 온 말이다. 1978년 인텔이 8086(16비트)을 내놨고, 뒤이어 80186 → 80286 → 80386 → 80486처럼 세대가 이어졌다. 사람들끼리 이 계열을 묶어 “8×86” → x86이라 부르기 시작한 것이다. 486 다음 세대(사람들이 농담으로 “80586”이라 부르던 것)는 인텔이 숫자 대신 Pentium이란 상표를 쓰면서도 명칭은 계속 x86로 굳어졌다. 숫자는 바뀌었지만 명령어 집합(ISA) 호환이 이어졌기 때문에... 오늘날 용어를 맵핑하자면...
IA-32 = 32비트 x86 x86-64 / AMD64 = AMD가 확장한 64비트 x86(인텔은 Intel 64라고 부름)
즉, 모델명이 86으로 끝나던 인텔 8086 계열 CPU의 호환 ISA 전체를 가리키는 관습적 이름이 x86이다. 한마디로 말해서 x86은 86비트가 아니다. 32비트인데 86이 붙는 건 예전에 인텔에서 32비트 CPU를 출시할 때 80586이런 식으로 모델명을 붙였기 때문이다.
p.s. 예전에 학창시절 공부를 꼴지하던 애가 있었는데 그놈이 성인이 되어서 내 앞에서 x86을 보고 86비트라고 말한 적이 있었다. 64비트보다 86비트가 더 숫자가 높아서 성능이 좋다며 64비트 CPU를 사용하는 내 컴퓨터에 32비트(x86) 윈도우7을 설치한 전설이... -_-;; 백신을 깔아놨냐고 하니깐 나는 안 깐다고 하니깐 나보고 백신도 안 깔아놨냐며 너 바이러스 먹으면 어쩌냐느니 뭐라 하던데... 알약이 어쩌고 V3가 어쩌고 해서 우리집에 백신을 깔아놓고 간 전설이... 올리디버거로 크랙미 같은거 문제풀 때 백신이 자꾸 걸려가지고 백신을 설치하지 않은 거였는데...;;
댓글쓰기